uipath 2.0.70__tar.gz → 2.0.71__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of uipath might be problematic. Click here for more details.

Files changed (196) hide show
  1. {uipath-2.0.70 → uipath-2.0.71}/PKG-INFO +1 -1
  2. {uipath-2.0.70 → uipath-2.0.71}/docs/cli/index.md +4 -0
  3. {uipath-2.0.70 → uipath-2.0.71}/pyproject.toml +1 -1
  4. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/cli_init.py +53 -8
  5. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/middlewares.py +27 -1
  6. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/telemetry/_constants.py +1 -1
  7. {uipath-2.0.70 → uipath-2.0.71}/uv.lock +1698 -1697
  8. {uipath-2.0.70 → uipath-2.0.71}/.cursorrules +0 -0
  9. {uipath-2.0.70 → uipath-2.0.71}/.editorconfig +0 -0
  10. {uipath-2.0.70 → uipath-2.0.71}/.gitattributes +0 -0
  11. {uipath-2.0.70 → uipath-2.0.71}/.github/workflows/cd.yml +0 -0
  12. {uipath-2.0.70 → uipath-2.0.71}/.github/workflows/ci.yml +0 -0
  13. {uipath-2.0.70 → uipath-2.0.71}/.github/workflows/commitlint.yml +0 -0
  14. {uipath-2.0.70 → uipath-2.0.71}/.github/workflows/lint.yml +0 -0
  15. {uipath-2.0.70 → uipath-2.0.71}/.github/workflows/publish-dev.yml +0 -0
  16. {uipath-2.0.70 → uipath-2.0.71}/.github/workflows/publish-docs.yml +0 -0
  17. {uipath-2.0.70 → uipath-2.0.71}/.github/workflows/slack.yml +0 -0
  18. {uipath-2.0.70 → uipath-2.0.71}/.github/workflows/test.yml +0 -0
  19. {uipath-2.0.70 → uipath-2.0.71}/.gitignore +0 -0
  20. {uipath-2.0.70 → uipath-2.0.71}/.pre-commit-config.yaml +0 -0
  21. {uipath-2.0.70 → uipath-2.0.71}/.python-version +0 -0
  22. {uipath-2.0.70 → uipath-2.0.71}/.vscode/extensions.json +0 -0
  23. {uipath-2.0.70 → uipath-2.0.71}/.vscode/launch.json +0 -0
  24. {uipath-2.0.70 → uipath-2.0.71}/.vscode/settings.json +0 -0
  25. {uipath-2.0.70 → uipath-2.0.71}/CONTRIBUTING.md +0 -0
  26. {uipath-2.0.70 → uipath-2.0.71}/LICENSE +0 -0
  27. {uipath-2.0.70 → uipath-2.0.71}/README.md +0 -0
  28. {uipath-2.0.70 → uipath-2.0.71}/docs/CONTRIBUTING.md +0 -0
  29. {uipath-2.0.70 → uipath-2.0.71}/docs/FAQ.md +0 -0
  30. {uipath-2.0.70 → uipath-2.0.71}/docs/assets/env-preparation-failed-dark.png +0 -0
  31. {uipath-2.0.70 → uipath-2.0.71}/docs/assets/env-preparation-failed-light.png +0 -0
  32. {uipath-2.0.70 → uipath-2.0.71}/docs/assets/favicon.png +0 -0
  33. {uipath-2.0.70 → uipath-2.0.71}/docs/assets/logo-dark.svg +0 -0
  34. {uipath-2.0.70 → uipath-2.0.71}/docs/assets/logo-light.svg +0 -0
  35. {uipath-2.0.70 → uipath-2.0.71}/docs/core/actions.md +0 -0
  36. {uipath-2.0.70 → uipath-2.0.71}/docs/core/assets/cloud_env_var_dark.gif +0 -0
  37. {uipath-2.0.70 → uipath-2.0.71}/docs/core/assets/cloud_env_var_light.gif +0 -0
  38. {uipath-2.0.70 → uipath-2.0.71}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
  39. {uipath-2.0.70 → uipath-2.0.71}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
  40. {uipath-2.0.70 → uipath-2.0.71}/docs/core/assets/copy_path_dark.png +0 -0
  41. {uipath-2.0.70 → uipath-2.0.71}/docs/core/assets/copy_path_light.png +0 -0
  42. {uipath-2.0.70 → uipath-2.0.71}/docs/core/assets.md +0 -0
  43. {uipath-2.0.70 → uipath-2.0.71}/docs/core/attachments.md +0 -0
  44. {uipath-2.0.70 → uipath-2.0.71}/docs/core/buckets.md +0 -0
  45. {uipath-2.0.70 → uipath-2.0.71}/docs/core/connections.md +0 -0
  46. {uipath-2.0.70 → uipath-2.0.71}/docs/core/context_grounding.md +0 -0
  47. {uipath-2.0.70 → uipath-2.0.71}/docs/core/environment_variables.md +0 -0
  48. {uipath-2.0.70 → uipath-2.0.71}/docs/core/getting_started.md +0 -0
  49. {uipath-2.0.70 → uipath-2.0.71}/docs/core/jobs.md +0 -0
  50. {uipath-2.0.70 → uipath-2.0.71}/docs/core/processes.md +0 -0
  51. {uipath-2.0.70 → uipath-2.0.71}/docs/core/queues.md +0 -0
  52. {uipath-2.0.70 → uipath-2.0.71}/docs/core/traced.md +0 -0
  53. {uipath-2.0.70 → uipath-2.0.71}/docs/hooks.py +0 -0
  54. {uipath-2.0.70 → uipath-2.0.71}/docs/javascripts/extra.js +0 -0
  55. {uipath-2.0.70 → uipath-2.0.71}/docs/langchain/chat_models.md +0 -0
  56. {uipath-2.0.70 → uipath-2.0.71}/docs/langchain/context_grounding.md +0 -0
  57. {uipath-2.0.70 → uipath-2.0.71}/docs/langchain/human_in_the_loop.md +0 -0
  58. {uipath-2.0.70 → uipath-2.0.71}/docs/overrides/main.html +0 -0
  59. {uipath-2.0.70 → uipath-2.0.71}/docs/overrides/partials/actions.html +0 -0
  60. {uipath-2.0.70 → uipath-2.0.71}/docs/overrides/partials/logo.html +0 -0
  61. {uipath-2.0.70 → uipath-2.0.71}/docs/release_policy.md +0 -0
  62. {uipath-2.0.70 → uipath-2.0.71}/docs/stylesheets/extra.css +0 -0
  63. {uipath-2.0.70 → uipath-2.0.71}/justfile +0 -0
  64. {uipath-2.0.70 → uipath-2.0.71}/mkdocs.yml +0 -0
  65. {uipath-2.0.70 → uipath-2.0.71}/py.typed +0 -0
  66. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/__init__.py +0 -0
  67. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/README.md +0 -0
  68. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/__init__.py +0 -0
  69. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  70. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_auth/_models.py +0 -0
  71. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  72. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  73. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_auth/_utils.py +0 -0
  74. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_auth/auth_config.json +0 -0
  75. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_auth/index.html +0 -0
  76. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_auth/localhost.crt +0 -0
  77. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_auth/localhost.key +0 -0
  78. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  79. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_runtime/_escalation.py +0 -0
  80. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_runtime/_hitl.py +0 -0
  81. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_runtime/_logging.py +0 -0
  82. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  83. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  84. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_templates/.rels.template +0 -0
  85. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  86. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_templates/main.py.template +0 -0
  87. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  88. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_utils/_common.py +0 -0
  89. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_utils/_console.py +0 -0
  90. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_utils/_constants.py +0 -0
  91. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_utils/_debug.py +0 -0
  92. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_utils/_folders.py +0 -0
  93. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_utils/_input_args.py +0 -0
  94. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  95. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_utils/_processes.py +0 -0
  96. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/_utils/_tracing.py +0 -0
  97. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/cli_auth.py +0 -0
  98. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/cli_deploy.py +0 -0
  99. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/cli_invoke.py +0 -0
  100. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/cli_new.py +0 -0
  101. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/cli_pack.py +0 -0
  102. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/cli_publish.py +0 -0
  103. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/cli_run.py +0 -0
  104. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_cli/spinner.py +0 -0
  105. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_config.py +0 -0
  106. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_execution_context.py +0 -0
  107. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_folder_context.py +0 -0
  108. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/__init__.py +0 -0
  109. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/_base_service.py +0 -0
  110. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/actions_service.py +0 -0
  111. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/api_client.py +0 -0
  112. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/assets_service.py +0 -0
  113. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/attachments_service.py +0 -0
  114. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/buckets_service.py +0 -0
  115. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/connections_service.py +0 -0
  116. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/context_grounding_service.py +0 -0
  117. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/folder_service.py +0 -0
  118. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/jobs_service.py +0 -0
  119. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/llm_gateway_service.py +0 -0
  120. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/processes_service.py +0 -0
  121. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_services/queues_service.py +0 -0
  122. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_uipath.py +0 -0
  123. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_utils/__init__.py +0 -0
  124. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_utils/_endpoint.py +0 -0
  125. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_utils/_infer_bindings.py +0 -0
  126. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_utils/_logs.py +0 -0
  127. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_utils/_read_overwrites.py +0 -0
  128. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_utils/_request_override.py +0 -0
  129. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_utils/_request_spec.py +0 -0
  130. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_utils/_url.py +0 -0
  131. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_utils/_user_agent.py +0 -0
  132. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/_utils/constants.py +0 -0
  133. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/__init__.py +0 -0
  134. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/action_schema.py +0 -0
  135. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/actions.py +0 -0
  136. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/assets.py +0 -0
  137. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/attachment.py +0 -0
  138. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/buckets.py +0 -0
  139. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/connections.py +0 -0
  140. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/context_grounding.py +0 -0
  141. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/context_grounding_index.py +0 -0
  142. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/errors.py +0 -0
  143. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/exceptions.py +0 -0
  144. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/interrupt_models.py +0 -0
  145. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/job.py +0 -0
  146. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/llm_gateway.py +0 -0
  147. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/processes.py +0 -0
  148. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/models/queues.py +0 -0
  149. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/py.typed +0 -0
  150. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/telemetry/__init__.py +0 -0
  151. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/telemetry/_track.py +0 -0
  152. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/tracing/__init__.py +0 -0
  153. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/tracing/_otel_exporters.py +0 -0
  154. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/tracing/_traced.py +0 -0
  155. {uipath-2.0.70 → uipath-2.0.71}/src/uipath/tracing/_utils.py +0 -0
  156. {uipath-2.0.70 → uipath-2.0.71}/tests/__init__.py +0 -0
  157. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/conftest.py +0 -0
  158. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/mocks/bindings_script.py +0 -0
  159. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/mocks/pyproject.toml +0 -0
  160. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/mocks/simple_script.py +0 -0
  161. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/mocks/uipath-mock.json +0 -0
  162. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
  163. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/test_hitl.py +0 -0
  164. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/test_init.py +0 -0
  165. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/test_invoke.py +0 -0
  166. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/test_new.py +0 -0
  167. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/test_pack.py +0 -0
  168. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/test_publish.py +0 -0
  169. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/test_run.py +0 -0
  170. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/test_utils.py +0 -0
  171. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/utils/project_details.py +0 -0
  172. {uipath-2.0.70 → uipath-2.0.71}/tests/cli/utils/uipath_json.py +0 -0
  173. {uipath-2.0.70 → uipath-2.0.71}/tests/conftest.py +0 -0
  174. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/conftest.py +0 -0
  175. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_actions_service.py +0 -0
  176. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_api_client.py +0 -0
  177. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_assets_service.py +0 -0
  178. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_attachments_service.py +0 -0
  179. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_base_service.py +0 -0
  180. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_buckets_service.py +0 -0
  181. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_connections_service.py +0 -0
  182. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_context_grounding_service.py +0 -0
  183. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_folder_service.py +0 -0
  184. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_jobs_service.py +0 -0
  185. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_llm_integration.py +0 -0
  186. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_llm_service.py +0 -0
  187. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_processes_service.py +0 -0
  188. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_queues_service.py +0 -0
  189. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  190. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/test_bindings_inference.py +0 -0
  191. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/test_config.py +0 -0
  192. {uipath-2.0.70 → uipath-2.0.71}/tests/sdk/test_overwrites.py +0 -0
  193. {uipath-2.0.70 → uipath-2.0.71}/tests/tracing/test_otel_exporters.py +0 -0
  194. {uipath-2.0.70 → uipath-2.0.71}/tests/tracing/test_span_utils.py +0 -0
  195. {uipath-2.0.70 → uipath-2.0.71}/tests/tracing/test_traced.py +0 -0
  196. {uipath-2.0.70 → uipath-2.0.71}/tests/tracing/test_tracing_manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uipath
3
- Version: 2.0.70
3
+ Version: 2.0.71
4
4
  Summary: Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools.
5
5
  Project-URL: Homepage, https://uipath.com
6
6
  Project-URL: Repository, https://github.com/UiPath/uipath-python
@@ -27,6 +27,10 @@ Selected tenant: Tenant1
27
27
  :depth: 1
28
28
  :style: table
29
29
 
30
+ Package requirements (bindings) are dependencies that are required by the automation package for successful execution.
31
+
32
+ For more information about package requirements, see [the official documentation](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/managing-package-requirements)
33
+
30
34
  /// warning
31
35
 
32
36
  The `uipath init` command executes your `main.py` file to analyze its structure and collect information about inputs and outputs.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "uipath"
3
- version = "2.0.70"
3
+ version = "2.0.71"
4
4
  description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools."
5
5
  readme = { file = "README.md", content-type = "text/markdown" }
6
6
  requires-python = ">=3.10"
@@ -3,7 +3,7 @@ import json
3
3
  import os
4
4
  import uuid
5
5
  from pathlib import Path
6
- from typing import Optional
6
+ from typing import Any, Dict, Optional
7
7
 
8
8
  import click
9
9
  from dotenv import load_dotenv
@@ -16,6 +16,8 @@ from .middlewares import Middlewares
16
16
 
17
17
  console = ConsoleLogger()
18
18
 
19
+ CONFIG_PATH = "uipath.json"
20
+
19
21
 
20
22
  def generate_env_file(target_directory):
21
23
  env_path = os.path.join(target_directory, ".env")
@@ -27,6 +29,26 @@ def generate_env_file(target_directory):
27
29
  console.success(f" Created '{relative_path}' file.")
28
30
 
29
31
 
32
+ def get_existing_settings(config_path: str) -> Optional[Dict[str, Any]]:
33
+ """Read existing settings from uipath.json if it exists.
34
+
35
+ Args:
36
+ config_path: Path to the uipath.json file.
37
+
38
+ Returns:
39
+ The settings dictionary if it exists, None otherwise.
40
+ """
41
+ if not os.path.exists(config_path):
42
+ return None
43
+
44
+ try:
45
+ with open(config_path, "r") as config_file:
46
+ existing_config = json.load(config_file)
47
+ return existing_config.get("settings")
48
+ except (json.JSONDecodeError, IOError):
49
+ return None
50
+
51
+
30
52
  def get_user_script(directory: str, entrypoint: Optional[str] = None) -> Optional[str]:
31
53
  """Find the Python script to process."""
32
54
  if entrypoint:
@@ -52,10 +74,28 @@ def get_user_script(directory: str, entrypoint: Optional[str] = None) -> Optiona
52
74
  return None
53
75
 
54
76
 
77
+ def write_config_file(config_data: Dict[str, Any]) -> None:
78
+ existing_settings = get_existing_settings(CONFIG_PATH)
79
+ if existing_settings is not None:
80
+ config_data["settings"] = existing_settings
81
+
82
+ with open(CONFIG_PATH, "w") as config_file:
83
+ json.dump(config_data, config_file, indent=4)
84
+
85
+ return CONFIG_PATH
86
+
87
+
55
88
  @click.command()
56
89
  @click.argument("entrypoint", required=False, default=None)
90
+ @click.option(
91
+ "--infer-bindings/--no-infer-bindings",
92
+ is_flag=True,
93
+ required=False,
94
+ default=True,
95
+ help="Infer bindings from the script.",
96
+ )
57
97
  @track
58
- def init(entrypoint: str) -> None:
98
+ def init(entrypoint: str, infer_bindings: bool) -> None:
59
99
  """Create uipath.json with input/output schemas and bindings."""
60
100
  current_path = os.getcwd()
61
101
  load_dotenv(os.path.join(current_path, ".env"), override=True)
@@ -64,7 +104,12 @@ def init(entrypoint: str) -> None:
64
104
  current_directory = os.getcwd()
65
105
  generate_env_file(current_directory)
66
106
 
67
- result = Middlewares.next("init", entrypoint)
107
+ result = Middlewares.next(
108
+ "init",
109
+ entrypoint,
110
+ options={"infer_bindings": infer_bindings},
111
+ write_config=write_config_file,
112
+ )
68
113
 
69
114
  if result.error_message:
70
115
  console.error(
@@ -102,16 +147,16 @@ def init(entrypoint: str) -> None:
102
147
 
103
148
  # Generate bindings JSON based on the script path
104
149
  try:
105
- bindings_data = generate_bindings_json(script_path)
150
+ if infer_bindings:
151
+ bindings_data = generate_bindings_json(script_path)
152
+ else:
153
+ bindings_data = {}
106
154
  # Add bindings to the config data
107
155
  config_data["bindings"] = bindings_data
108
156
  except Exception as e:
109
157
  console.warning(f"Warning: Could not generate bindings: {str(e)}")
110
158
 
111
- config_path = "uipath.json"
112
- with open(config_path, "w") as config_file:
113
- json.dump(config_data, config_file, indent=4)
114
-
159
+ config_path = write_config_file(config_data)
115
160
  console.success(f"Created '{config_path}' file.")
116
161
  except Exception as e:
117
162
  console.error(f"Error creating configuration file:\n {str(e)}")
@@ -1,9 +1,13 @@
1
1
  import importlib.metadata
2
+ import inspect
2
3
  import logging
3
4
  from dataclasses import dataclass
4
5
  from typing import Any, Callable, Dict, List, Optional
5
6
 
7
+ from ._utils._console import ConsoleLogger
8
+
6
9
  logger = logging.getLogger(__name__)
10
+ console = ConsoleLogger()
7
11
 
8
12
 
9
13
  @dataclass
@@ -50,8 +54,30 @@ class Middlewares:
50
54
 
51
55
  middlewares = cls.get(command)
52
56
  for middleware in middlewares:
57
+ sig = inspect.signature(middleware)
58
+
59
+ # handle older versions of plugins that don't support the new signature
60
+ try:
61
+ bound = sig.bind(*args, **kwargs)
62
+ new_args = bound.args
63
+ new_kwargs = bound.kwargs
64
+ except TypeError:
65
+ console.warning("Install the latest version for uipath packages")
66
+ accepted_args = [
67
+ name
68
+ for name, param in sig.parameters.items()
69
+ if param.kind
70
+ in (param.POSITIONAL_ONLY, param.POSITIONAL_OR_KEYWORD)
71
+ ]
72
+
73
+ trimmed_args = args[: len(accepted_args)]
74
+ trimmed_kwargs = {k: v for k, v in kwargs.items() if k in accepted_args}
75
+
76
+ new_args = trimmed_args
77
+ new_kwargs = trimmed_kwargs
78
+
53
79
  try:
54
- result = middleware(*args, **kwargs)
80
+ result = middleware(*new_args, **new_kwargs)
55
81
  if not result.should_continue:
56
82
  logger.debug(
57
83
  f"Command '{command}' stopped by {middleware.__name__}"
@@ -1,4 +1,4 @@
1
- _CONNECTION_STRING = "InstrumentationKey=d3da6dfc-5231-4d72-9696-f680a64683b8;IngestionEndpoint=https://westeurope-5.in.applicationinsights.azure.com/;LiveEndpoint=https://westeurope.livediagnostics.monitor.azure.com/;ApplicationId=9b73b209-6c6a-4d4a-9549-b922cef418d5"
1
+ _CONNECTION_STRING = "InstrumentationKey=0d8dca8b-9a76-4f2e-adeb-09d9e2c210a0;IngestionEndpoint=https://northeurope-2.in.applicationinsights.azure.com/;LiveEndpoint=https://northeurope.livediagnostics.monitor.azure.com/;ApplicationId=ff68f440-0d82-4bab-9192-ad91f67e0835"
2
2
 
3
3
  _APP_INSIGHTS_EVENT_MARKER_ATTRIBUTE = "APPLICATION_INSIGHTS_EVENT_MARKER_ATTRIBUTE"
4
4
  _OTEL_RESOURCE_ATTRIBUTES = "OTEL_RESOURCE_ATTRIBUTES"