uipath 2.0.60__tar.gz → 2.0.62__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 (190) hide show
  1. {uipath-2.0.60 → uipath-2.0.62}/PKG-INFO +1 -1
  2. uipath-2.0.62/docs/hooks.py +20 -0
  3. uipath-2.0.62/docs/overrides/main.html +14 -0
  4. {uipath-2.0.60 → uipath-2.0.62}/mkdocs.yml +4 -1
  5. {uipath-2.0.60 → uipath-2.0.62}/pyproject.toml +1 -1
  6. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/jobs_service.py +74 -8
  7. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/tracing/_utils.py +5 -0
  8. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_jobs_service.py +6 -9
  9. {uipath-2.0.60 → uipath-2.0.62}/uv.lock +1 -1
  10. uipath-2.0.60/docs/hooks.py +0 -13
  11. {uipath-2.0.60 → uipath-2.0.62}/.cursorrules +0 -0
  12. {uipath-2.0.60 → uipath-2.0.62}/.editorconfig +0 -0
  13. {uipath-2.0.60 → uipath-2.0.62}/.gitattributes +0 -0
  14. {uipath-2.0.60 → uipath-2.0.62}/.github/workflows/cd.yml +0 -0
  15. {uipath-2.0.60 → uipath-2.0.62}/.github/workflows/ci.yml +0 -0
  16. {uipath-2.0.60 → uipath-2.0.62}/.github/workflows/commitlint.yml +0 -0
  17. {uipath-2.0.60 → uipath-2.0.62}/.github/workflows/lint.yml +0 -0
  18. {uipath-2.0.60 → uipath-2.0.62}/.github/workflows/publish-dev.yml +0 -0
  19. {uipath-2.0.60 → uipath-2.0.62}/.github/workflows/publish-docs.yml +0 -0
  20. {uipath-2.0.60 → uipath-2.0.62}/.github/workflows/slack.yml +0 -0
  21. {uipath-2.0.60 → uipath-2.0.62}/.github/workflows/test.yml +0 -0
  22. {uipath-2.0.60 → uipath-2.0.62}/.gitignore +0 -0
  23. {uipath-2.0.60 → uipath-2.0.62}/.pre-commit-config.yaml +0 -0
  24. {uipath-2.0.60 → uipath-2.0.62}/.python-version +0 -0
  25. {uipath-2.0.60 → uipath-2.0.62}/.vscode/extensions.json +0 -0
  26. {uipath-2.0.60 → uipath-2.0.62}/.vscode/settings.json +0 -0
  27. {uipath-2.0.60 → uipath-2.0.62}/CONTRIBUTING.md +0 -0
  28. {uipath-2.0.60 → uipath-2.0.62}/LICENSE +0 -0
  29. {uipath-2.0.60 → uipath-2.0.62}/README.md +0 -0
  30. {uipath-2.0.60 → uipath-2.0.62}/docs/CONTRIBUTING.md +0 -0
  31. {uipath-2.0.60 → uipath-2.0.62}/docs/FAQ.md +0 -0
  32. {uipath-2.0.60 → uipath-2.0.62}/docs/assets/env-preparation-failed-dark.png +0 -0
  33. {uipath-2.0.60 → uipath-2.0.62}/docs/assets/env-preparation-failed-light.png +0 -0
  34. {uipath-2.0.60 → uipath-2.0.62}/docs/assets/favicon.png +0 -0
  35. {uipath-2.0.60 → uipath-2.0.62}/docs/assets/logo-dark.svg +0 -0
  36. {uipath-2.0.60 → uipath-2.0.62}/docs/assets/logo-light.svg +0 -0
  37. {uipath-2.0.60 → uipath-2.0.62}/docs/cli/index.md +0 -0
  38. {uipath-2.0.60 → uipath-2.0.62}/docs/core/actions.md +0 -0
  39. {uipath-2.0.60 → uipath-2.0.62}/docs/core/assets/cloud_env_var_dark.gif +0 -0
  40. {uipath-2.0.60 → uipath-2.0.62}/docs/core/assets/cloud_env_var_light.gif +0 -0
  41. {uipath-2.0.60 → uipath-2.0.62}/docs/core/assets/cloud_env_var_secret_dark.png +0 -0
  42. {uipath-2.0.60 → uipath-2.0.62}/docs/core/assets/cloud_env_var_secret_light.png +0 -0
  43. {uipath-2.0.60 → uipath-2.0.62}/docs/core/assets/copy_path_dark.png +0 -0
  44. {uipath-2.0.60 → uipath-2.0.62}/docs/core/assets/copy_path_light.png +0 -0
  45. {uipath-2.0.60 → uipath-2.0.62}/docs/core/assets.md +0 -0
  46. {uipath-2.0.60 → uipath-2.0.62}/docs/core/attachments.md +0 -0
  47. {uipath-2.0.60 → uipath-2.0.62}/docs/core/buckets.md +0 -0
  48. {uipath-2.0.60 → uipath-2.0.62}/docs/core/connections.md +0 -0
  49. {uipath-2.0.60 → uipath-2.0.62}/docs/core/context_grounding.md +0 -0
  50. {uipath-2.0.60 → uipath-2.0.62}/docs/core/environment_variables.md +0 -0
  51. {uipath-2.0.60 → uipath-2.0.62}/docs/core/getting_started.md +0 -0
  52. {uipath-2.0.60 → uipath-2.0.62}/docs/core/jobs.md +0 -0
  53. {uipath-2.0.60 → uipath-2.0.62}/docs/core/processes.md +0 -0
  54. {uipath-2.0.60 → uipath-2.0.62}/docs/core/queues.md +0 -0
  55. {uipath-2.0.60 → uipath-2.0.62}/docs/core/traced.md +0 -0
  56. {uipath-2.0.60 → uipath-2.0.62}/docs/javascripts/extra.js +0 -0
  57. {uipath-2.0.60 → uipath-2.0.62}/docs/langchain/chat_models.md +0 -0
  58. {uipath-2.0.60 → uipath-2.0.62}/docs/langchain/context_grounding.md +0 -0
  59. {uipath-2.0.60 → uipath-2.0.62}/docs/langchain/human_in_the_loop.md +0 -0
  60. {uipath-2.0.60 → uipath-2.0.62}/docs/overrides/partials/actions.html +0 -0
  61. {uipath-2.0.60 → uipath-2.0.62}/docs/overrides/partials/logo.html +0 -0
  62. {uipath-2.0.60 → uipath-2.0.62}/docs/release_policy.md +0 -0
  63. {uipath-2.0.60 → uipath-2.0.62}/docs/stylesheets/extra.css +0 -0
  64. {uipath-2.0.60 → uipath-2.0.62}/justfile +0 -0
  65. {uipath-2.0.60 → uipath-2.0.62}/py.typed +0 -0
  66. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/__init__.py +0 -0
  67. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/README.md +0 -0
  68. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/__init__.py +0 -0
  69. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  70. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_auth/_models.py +0 -0
  71. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  72. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  73. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_auth/_utils.py +0 -0
  74. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_auth/auth_config.json +0 -0
  75. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_auth/index.html +0 -0
  76. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_auth/localhost.crt +0 -0
  77. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_auth/localhost.key +0 -0
  78. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  79. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_runtime/_logging.py +0 -0
  80. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  81. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  82. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_templates/.rels.template +0 -0
  83. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  84. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_templates/main.py.template +0 -0
  85. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  86. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_utils/_common.py +0 -0
  87. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_utils/_console.py +0 -0
  88. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_utils/_constants.py +0 -0
  89. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_utils/_folders.py +0 -0
  90. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_utils/_input_args.py +0 -0
  91. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  92. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/_utils/_processes.py +0 -0
  93. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/cli_auth.py +0 -0
  94. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/cli_deploy.py +0 -0
  95. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/cli_init.py +0 -0
  96. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/cli_invoke.py +0 -0
  97. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/cli_new.py +0 -0
  98. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/cli_pack.py +0 -0
  99. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/cli_publish.py +0 -0
  100. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/cli_run.py +0 -0
  101. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/middlewares.py +0 -0
  102. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_cli/spinner.py +0 -0
  103. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_config.py +0 -0
  104. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_execution_context.py +0 -0
  105. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_folder_context.py +0 -0
  106. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/__init__.py +0 -0
  107. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/_base_service.py +0 -0
  108. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/actions_service.py +0 -0
  109. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/api_client.py +0 -0
  110. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/assets_service.py +0 -0
  111. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/attachments_service.py +0 -0
  112. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/buckets_service.py +0 -0
  113. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/connections_service.py +0 -0
  114. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/context_grounding_service.py +0 -0
  115. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/folder_service.py +0 -0
  116. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/llm_gateway_service.py +0 -0
  117. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/processes_service.py +0 -0
  118. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_services/queues_service.py +0 -0
  119. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_uipath.py +0 -0
  120. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_utils/__init__.py +0 -0
  121. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_utils/_endpoint.py +0 -0
  122. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_utils/_infer_bindings.py +0 -0
  123. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_utils/_logs.py +0 -0
  124. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_utils/_read_overwrites.py +0 -0
  125. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_utils/_request_override.py +0 -0
  126. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_utils/_request_spec.py +0 -0
  127. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_utils/_url.py +0 -0
  128. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_utils/_user_agent.py +0 -0
  129. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/_utils/constants.py +0 -0
  130. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/__init__.py +0 -0
  131. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/action_schema.py +0 -0
  132. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/actions.py +0 -0
  133. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/assets.py +0 -0
  134. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/attachment.py +0 -0
  135. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/buckets.py +0 -0
  136. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/connections.py +0 -0
  137. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/context_grounding.py +0 -0
  138. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/context_grounding_index.py +0 -0
  139. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/errors.py +0 -0
  140. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/exceptions.py +0 -0
  141. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/interrupt_models.py +0 -0
  142. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/job.py +0 -0
  143. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/llm_gateway.py +0 -0
  144. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/processes.py +0 -0
  145. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/models/queues.py +0 -0
  146. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/py.typed +0 -0
  147. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/telemetry/__init__.py +0 -0
  148. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/telemetry/_constants.py +0 -0
  149. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/telemetry/_track.py +0 -0
  150. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/tracing/__init__.py +0 -0
  151. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/tracing/_otel_exporters.py +0 -0
  152. {uipath-2.0.60 → uipath-2.0.62}/src/uipath/tracing/_traced.py +0 -0
  153. {uipath-2.0.60 → uipath-2.0.62}/tests/__init__.py +0 -0
  154. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/conftest.py +0 -0
  155. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/mocks/bindings_script.py +0 -0
  156. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/mocks/pyproject.toml +0 -0
  157. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/mocks/simple_script.py +0 -0
  158. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/mocks/uipath-mock.json +0 -0
  159. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/mocks/uipath-simple-script-mock.json +0 -0
  160. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/test_init.py +0 -0
  161. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/test_invoke.py +0 -0
  162. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/test_new.py +0 -0
  163. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/test_pack.py +0 -0
  164. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/test_publish.py +0 -0
  165. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/test_run.py +0 -0
  166. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/utils/project_details.py +0 -0
  167. {uipath-2.0.60 → uipath-2.0.62}/tests/cli/utils/uipath_json.py +0 -0
  168. {uipath-2.0.60 → uipath-2.0.62}/tests/conftest.py +0 -0
  169. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/conftest.py +0 -0
  170. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_actions_service.py +0 -0
  171. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_api_client.py +0 -0
  172. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_assets_service.py +0 -0
  173. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_attachments_service.py +0 -0
  174. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_base_service.py +0 -0
  175. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_buckets_service.py +0 -0
  176. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_connections_service.py +0 -0
  177. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_context_grounding_service.py +0 -0
  178. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_folder_service.py +0 -0
  179. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_llm_integration.py +0 -0
  180. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_llm_service.py +0 -0
  181. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_processes_service.py +0 -0
  182. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_queues_service.py +0 -0
  183. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  184. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/test_bindings_inference.py +0 -0
  185. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/test_config.py +0 -0
  186. {uipath-2.0.60 → uipath-2.0.62}/tests/sdk/test_overwrites.py +0 -0
  187. {uipath-2.0.60 → uipath-2.0.62}/tests/tracing/test_otel_exporters.py +0 -0
  188. {uipath-2.0.60 → uipath-2.0.62}/tests/tracing/test_span_utils.py +0 -0
  189. {uipath-2.0.60 → uipath-2.0.62}/tests/tracing/test_traced.py +0 -0
  190. {uipath-2.0.60 → uipath-2.0.62}/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.60
3
+ Version: 2.0.62
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
@@ -0,0 +1,20 @@
1
+ import os
2
+ import re
3
+ import shutil
4
+
5
+
6
+ def on_pre_build(config):
7
+ if not os.path.exists("docs/quick_start_images"):
8
+ shutil.copy(
9
+ "docs/plugins/uipath-langchain-python/docs/quick_start.md", "docs/index.md"
10
+ )
11
+ shutil.copytree(
12
+ "docs/plugins/uipath-langchain-python/docs/quick_start_images",
13
+ "docs/quick_start_images",
14
+ )
15
+
16
+
17
+ def on_post_page(output, page, config):
18
+ pattern = r"(<body[^>]*>)"
19
+ replacement = rf"\1\n<noscript><iframe src='https://www.googletagmanager.com/ns.html?id={config['google_tag_manager_id']}' height='0' width='0' style='display:none;visibility:hidden'></iframe></noscript>"
20
+ return re.sub(pattern, replacement, output)
@@ -0,0 +1,14 @@
1
+ {% extends "base.html" %}
2
+
3
+ {% block extrahead %}
4
+ <!-- Google Tag Manager -->
5
+ <script>(function (w, d, s, l, i) {
6
+ w[l] = w[l] || []; w[l].push({
7
+ 'gtm.start':
8
+ new Date().getTime(), event: 'gtm.js'
9
+ }); var f = d.getElementsByTagName(s)[0],
10
+ j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
11
+ 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
12
+ })(window, document, 'script', 'dataLayer', '{{ config.google_tag_manager_id }}');</script>
13
+ <!-- End Google Tag Manager -->
14
+ {% endblock %}
@@ -12,6 +12,8 @@ extra_css:
12
12
  extra_javascript:
13
13
  - javascripts/extra.js
14
14
 
15
+ google_tag_manager_id: GTM-PLLP8P
16
+
15
17
  theme:
16
18
  name: material
17
19
  custom_dir: docs/overrides
@@ -96,7 +98,8 @@ plugins:
96
98
  show_bases: false
97
99
  - mkdocs-simple-hooks:
98
100
  hooks:
99
- on_pre_build: "docs.hooks:redirect_index"
101
+ on_pre_build: "docs.hooks:on_pre_build"
102
+ on_post_page: "docs.hooks:on_post_page"
100
103
  - termynal:
101
104
  prompt_literal_start:
102
105
  - "$"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "uipath"
3
- version = "2.0.60"
3
+ version = "2.0.62"
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"
@@ -113,8 +113,6 @@ class JobsService(FolderContext, BaseService):
113
113
 
114
114
  async def main(): # noqa: D103
115
115
  payload = await sdk.jobs.resume_async(job_id="38073051", payload="The response")
116
- print(payload)
117
-
118
116
 
119
117
  asyncio.run(main())
120
118
  ```
@@ -154,11 +152,35 @@ class JobsService(FolderContext, BaseService):
154
152
  def retrieve(
155
153
  self,
156
154
  job_key: str,
155
+ *,
156
+ folder_key: Optional[str] = None,
157
+ folder_path: Optional[str] = None,
157
158
  ) -> Job:
158
- spec = self._retrieve_spec(job_key=job_key)
159
+ """Retrieve a job identified by its key.
160
+
161
+ Args:
162
+ job_key (str): The job unique identifier.
163
+ folder_key (Optional[str]): The key of the folder in which the job was executed.
164
+ folder_path (Optional[str]): The path of the folder in which the job was executed.
165
+
166
+ Returns:
167
+ Job: The retrieved job.
168
+
169
+ Examples:
170
+ ```python
171
+ from uipath import UiPath
172
+
173
+ sdk = UiPath()
174
+ job = sdk.jobs.retrieve(job_key="ee9327fd-237d-419e-86ef-9946b34461e3", folder_path="Shared")
175
+ ```
176
+ """
177
+ spec = self._retrieve_spec(
178
+ job_key=job_key, folder_key=folder_key, folder_path=folder_path
179
+ )
159
180
  response = self.request(
160
181
  spec.method,
161
182
  url=spec.endpoint,
183
+ headers=spec.headers,
162
184
  )
163
185
 
164
186
  return Job.model_validate(response.json())
@@ -166,11 +188,42 @@ class JobsService(FolderContext, BaseService):
166
188
  async def retrieve_async(
167
189
  self,
168
190
  job_key: str,
191
+ *,
192
+ folder_key: Optional[str] = None,
193
+ folder_path: Optional[str] = None,
169
194
  ) -> Job:
170
- spec = self._retrieve_spec(job_key=job_key)
195
+ """Asynchronously retrieve a job identified by its key.
196
+
197
+ Args:
198
+ job_key (str): The job unique identifier.
199
+ folder_key (Optional[str]): The key of the folder in which the job was executed.
200
+ folder_path (Optional[str]): The path of the folder in which the job was executed.
201
+
202
+ Returns:
203
+ Job: The retrieved job.
204
+
205
+ Examples:
206
+ ```python
207
+ import asyncio
208
+
209
+ from uipath import UiPath
210
+
211
+ sdk = UiPath()
212
+
213
+
214
+ async def main(): # noqa: D103
215
+ job = await sdk.jobs.retrieve_async(job_key="ee9327fd-237d-419e-86ef-9946b34461e3", folder_path="Shared")
216
+
217
+ asyncio.run(main())
218
+ ```
219
+ """
220
+ spec = self._retrieve_spec(
221
+ job_key=job_key, folder_key=folder_key, folder_path=folder_path
222
+ )
171
223
  response = await self.request_async(
172
224
  spec.method,
173
225
  url=spec.endpoint,
226
+ headers=spec.headers,
174
227
  )
175
228
 
176
229
  return Job.model_validate(response.json())
@@ -268,12 +321,17 @@ class JobsService(FolderContext, BaseService):
268
321
  self,
269
322
  *,
270
323
  job_key: str,
324
+ folder_key: Optional[str] = None,
325
+ folder_path: Optional[str] = None,
271
326
  ) -> RequestSpec:
272
327
  return RequestSpec(
273
328
  method="GET",
274
329
  endpoint=Endpoint(
275
330
  f"/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.GetByKey(identifier={job_key})"
276
331
  ),
332
+ headers={
333
+ **header_folder(folder_key, folder_path),
334
+ },
277
335
  )
278
336
 
279
337
  @traced(name="jobs_list_attachments", run_type="uipath")
@@ -553,8 +611,12 @@ class JobsService(FolderContext, BaseService):
553
611
 
554
612
  # Get job key from context if not explicitly provided
555
613
  context_job_key = None
556
- if job_key is None and hasattr(self._execution_context, "job_key"):
557
- context_job_key = self._execution_context.job_key
614
+ if job_key is None:
615
+ try:
616
+ context_job_key = self._execution_context.instance_key
617
+ except ValueError:
618
+ # Instance key is not set in environment
619
+ context_job_key = None
558
620
 
559
621
  # Check if a job is available
560
622
  if job_key is not None or context_job_key is not None:
@@ -690,8 +752,12 @@ class JobsService(FolderContext, BaseService):
690
752
 
691
753
  # Get job key from context if not explicitly provided
692
754
  context_job_key = None
693
- if job_key is None and hasattr(self._execution_context, "job_key"):
694
- context_job_key = self._execution_context.job_key
755
+ if job_key is None:
756
+ try:
757
+ context_job_key = self._execution_context.instance_key
758
+ except ValueError:
759
+ # Instance key is not set in environment
760
+ context_job_key = None
695
761
 
696
762
  # Check if a job is available
697
763
  if job_key is not None or context_job_key is not None:
@@ -134,6 +134,11 @@ class _SpanUtils:
134
134
  if otel_span.parent is not None:
135
135
  parent_id = _SpanUtils.span_id_to_uuid4(otel_span.parent.span_id)
136
136
 
137
+ parent_span_id_str = env.get("UIPATH_PARENT_SPAN_ID")
138
+
139
+ if parent_span_id_str:
140
+ parent_id = uuid.UUID(parent_span_id_str)
141
+
137
142
  # Convert attributes to a format compatible with UiPathSpan
138
143
  attributes_dict: dict[str, Any] = (
139
144
  dict(otel_span.attributes) if otel_span.attributes else {}
@@ -579,16 +579,13 @@ class TestJobsService:
579
579
  content = "Test attachment content"
580
580
  name = "test_attachment.txt"
581
581
 
582
- # Set job key in execution context - add attribute if it doesn't exist
583
- if not hasattr(execution_context, "job_key"):
584
- # Add job_key attribute to ExecutionContext
585
- execution_context.__dict__["job_key"] = job_key
586
- else:
587
- execution_context.job_key = job_key
588
-
589
- # Create service with our execution context
582
+ # Set job key in environment - must be string
583
+ monkeypatch.setenv("UIPATH_JOB_KEY", str(job_key))
590
584
  monkeypatch.setenv("UIPATH_FOLDER_PATH", "test-folder-path")
591
- service = JobsService(config=config, execution_context=execution_context)
585
+
586
+ # Create fresh execution context after setting environment variables
587
+ fresh_execution_context = ExecutionContext()
588
+ service = JobsService(config=config, execution_context=fresh_execution_context)
592
589
 
593
590
  # Mock the attachment service's upload method
594
591
  mock_upload = mocker.patch.object(
@@ -3111,7 +3111,7 @@ wheels = [
3111
3111
 
3112
3112
  [[package]]
3113
3113
  name = "uipath"
3114
- version = "2.0.60"
3114
+ version = "2.0.62"
3115
3115
  source = { editable = "." }
3116
3116
  dependencies = [
3117
3117
  { name = "azure-monitor-opentelemetry" },
@@ -1,13 +0,0 @@
1
- import os
2
- import shutil
3
-
4
-
5
- def redirect_index(*args, **kwargs):
6
- if not os.path.exists("docs/quick_start_images"):
7
- shutil.copy(
8
- "docs/plugins/uipath-langchain-python/docs/quick_start.md", "docs/index.md"
9
- )
10
- shutil.copytree(
11
- "docs/plugins/uipath-langchain-python/docs/quick_start_images",
12
- "docs/quick_start_images",
13
- )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes