uipath 2.0.28__tar.gz → 2.0.30__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 (130) hide show
  1. {uipath-2.0.28 → uipath-2.0.30}/PKG-INFO +1 -1
  2. {uipath-2.0.28 → uipath-2.0.30}/pyproject.toml +1 -1
  3. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_auth/_portal_service.py +26 -0
  4. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/cli_auth.py +10 -4
  5. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/cli_init.py +1 -1
  6. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/actions_service.py +25 -19
  7. {uipath-2.0.28 → uipath-2.0.30}/uv.lock +1 -1
  8. {uipath-2.0.28 → uipath-2.0.30}/.cursorrules +0 -0
  9. {uipath-2.0.28 → uipath-2.0.30}/.editorconfig +0 -0
  10. {uipath-2.0.28 → uipath-2.0.30}/.gitattributes +0 -0
  11. {uipath-2.0.28 → uipath-2.0.30}/.github/workflows/build.yml +0 -0
  12. {uipath-2.0.28 → uipath-2.0.30}/.github/workflows/cd.yml +0 -0
  13. {uipath-2.0.28 → uipath-2.0.30}/.github/workflows/ci.yml +0 -0
  14. {uipath-2.0.28 → uipath-2.0.30}/.github/workflows/commitlint.yml +0 -0
  15. {uipath-2.0.28 → uipath-2.0.30}/.github/workflows/lint.yml +0 -0
  16. {uipath-2.0.28 → uipath-2.0.30}/.github/workflows/publish-dev.yml +0 -0
  17. {uipath-2.0.28 → uipath-2.0.30}/.github/workflows/test.yml +0 -0
  18. {uipath-2.0.28 → uipath-2.0.30}/.gitignore +0 -0
  19. {uipath-2.0.28 → uipath-2.0.30}/.pre-commit-config.yaml +0 -0
  20. {uipath-2.0.28 → uipath-2.0.30}/.python-version +0 -0
  21. {uipath-2.0.28 → uipath-2.0.30}/.vscode/extensions.json +0 -0
  22. {uipath-2.0.28 → uipath-2.0.30}/.vscode/settings.json +0 -0
  23. {uipath-2.0.28 → uipath-2.0.30}/CONTRIBUTING.md +0 -0
  24. {uipath-2.0.28 → uipath-2.0.30}/LICENSE +0 -0
  25. {uipath-2.0.28 → uipath-2.0.30}/README.md +0 -0
  26. {uipath-2.0.28 → uipath-2.0.30}/docs/CONTRIBUTING.md +0 -0
  27. {uipath-2.0.28 → uipath-2.0.30}/docs/actions.md +0 -0
  28. {uipath-2.0.28 → uipath-2.0.30}/docs/assets/uipath-logo.svg +0 -0
  29. {uipath-2.0.28 → uipath-2.0.30}/docs/assets.md +0 -0
  30. {uipath-2.0.28 → uipath-2.0.30}/docs/buckets.md +0 -0
  31. {uipath-2.0.28 → uipath-2.0.30}/docs/connections.md +0 -0
  32. {uipath-2.0.28 → uipath-2.0.30}/docs/context_grounding.md +0 -0
  33. {uipath-2.0.28 → uipath-2.0.30}/docs/getting_started_agent.md +0 -0
  34. {uipath-2.0.28 → uipath-2.0.30}/docs/getting_started_cli.md +0 -0
  35. {uipath-2.0.28 → uipath-2.0.30}/docs/getting_started_sdk.md +0 -0
  36. {uipath-2.0.28 → uipath-2.0.30}/docs/index.md +0 -0
  37. {uipath-2.0.28 → uipath-2.0.30}/docs/jobs.md +0 -0
  38. {uipath-2.0.28 → uipath-2.0.30}/docs/processes.md +0 -0
  39. {uipath-2.0.28 → uipath-2.0.30}/docs/queues.md +0 -0
  40. {uipath-2.0.28 → uipath-2.0.30}/docs/sdk.md +0 -0
  41. {uipath-2.0.28 → uipath-2.0.30}/justfile +0 -0
  42. {uipath-2.0.28 → uipath-2.0.30}/mkdocs.yml +0 -0
  43. {uipath-2.0.28 → uipath-2.0.30}/py.typed +0 -0
  44. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/__init__.py +0 -0
  45. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/README.md +0 -0
  46. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/__init__.py +0 -0
  47. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  48. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_auth/_models.py +0 -0
  49. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  50. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_auth/_utils.py +0 -0
  51. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_auth/auth_config.json +0 -0
  52. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_auth/index.html +0 -0
  53. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_auth/localhost.crt +0 -0
  54. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_auth/localhost.key +0 -0
  55. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  56. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_runtime/_logging.py +0 -0
  57. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  58. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  59. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_templates/.rels.template +0 -0
  60. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  61. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_templates/main.py.template +0 -0
  62. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  63. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_utils/_common.py +0 -0
  64. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_utils/_console.py +0 -0
  65. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_utils/_folders.py +0 -0
  66. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_utils/_input_args.py +0 -0
  67. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  68. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/_utils/_processes.py +0 -0
  69. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/cli_deploy.py +0 -0
  70. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/cli_invoke.py +0 -0
  71. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/cli_new.py +0 -0
  72. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/cli_pack.py +0 -0
  73. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/cli_publish.py +0 -0
  74. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/cli_run.py +0 -0
  75. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/middlewares.py +0 -0
  76. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_cli/spinner.py +0 -0
  77. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_config.py +0 -0
  78. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_execution_context.py +0 -0
  79. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_folder_context.py +0 -0
  80. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/__init__.py +0 -0
  81. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/_base_service.py +0 -0
  82. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/api_client.py +0 -0
  83. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/assets_service.py +0 -0
  84. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/buckets_service.py +0 -0
  85. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/connections_service.py +0 -0
  86. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/connections_service.pyi +0 -0
  87. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/context_grounding_service.py +0 -0
  88. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/folder_service.py +0 -0
  89. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/jobs_service.py +0 -0
  90. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/llm_gateway_service.py +0 -0
  91. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/processes_service.py +0 -0
  92. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_services/queues_service.py +0 -0
  93. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_uipath.py +0 -0
  94. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_utils/__init__.py +0 -0
  95. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_utils/_endpoint.py +0 -0
  96. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_utils/_infer_bindings.py +0 -0
  97. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_utils/_logs.py +0 -0
  98. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_utils/_request_override.py +0 -0
  99. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_utils/_request_spec.py +0 -0
  100. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_utils/_user_agent.py +0 -0
  101. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/_utils/constants.py +0 -0
  102. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/__init__.py +0 -0
  103. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/action_schema.py +0 -0
  104. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/actions.py +0 -0
  105. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/assets.py +0 -0
  106. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/connections.py +0 -0
  107. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/context_grounding.py +0 -0
  108. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/context_grounding_index.py +0 -0
  109. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/exceptions.py +0 -0
  110. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/interrupt_models.py +0 -0
  111. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/job.py +0 -0
  112. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/llm_gateway.py +0 -0
  113. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/processes.py +0 -0
  114. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/models/queues.py +0 -0
  115. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/py.typed +0 -0
  116. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/tracing/__init__.py +0 -0
  117. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/tracing/_otel_exporters.py +0 -0
  118. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/tracing/_traced.py +0 -0
  119. {uipath-2.0.28 → uipath-2.0.30}/src/uipath/tracing/_utils.py +0 -0
  120. {uipath-2.0.28 → uipath-2.0.30}/tests/__init__.py +0 -0
  121. {uipath-2.0.28 → uipath-2.0.30}/tests/cli/test_init.py +0 -0
  122. {uipath-2.0.28 → uipath-2.0.30}/tests/conftest.py +0 -0
  123. {uipath-2.0.28 → uipath-2.0.30}/tests/sdk/services/test_llm_integration.py +0 -0
  124. {uipath-2.0.28 → uipath-2.0.30}/tests/sdk/services/test_llm_service.py +0 -0
  125. {uipath-2.0.28 → uipath-2.0.30}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  126. {uipath-2.0.28 → uipath-2.0.30}/tests/sdk/test_config.py +0 -0
  127. {uipath-2.0.28 → uipath-2.0.30}/tests/tracing/test_otel_exporters.py +0 -0
  128. {uipath-2.0.28 → uipath-2.0.30}/tests/tracing/test_span_utils.py +0 -0
  129. {uipath-2.0.28 → uipath-2.0.30}/tests/tracing/test_traced.py +0 -0
  130. {uipath-2.0.28 → uipath-2.0.30}/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.28
3
+ Version: 2.0.30
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "uipath"
3
- version = "2.0.28"
3
+ version = "2.0.30"
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"
@@ -135,6 +135,30 @@ class PortalService:
135
135
 
136
136
  update_env_file(updated_env_contents)
137
137
 
138
+ def post_auth(self, base_url: str) -> None:
139
+ or_base_url = (
140
+ f"{base_url}/orchestrator_"
141
+ if base_url
142
+ else self.get_uipath_orchestrator_url()
143
+ )
144
+
145
+ url_try_enable_first_run = f"{or_base_url}/api/StudioWeb/TryEnableFirstRun"
146
+ url_acquire_license = f"{or_base_url}/api/StudioWeb/AcquireLicense"
147
+
148
+ [try_enable_first_run_response, acquire_license_response] = [
149
+ requests.post(
150
+ url,
151
+ headers={"Authorization": f"Bearer {self.access_token}"},
152
+ )
153
+ for url in [url_try_enable_first_run, url_acquire_license]
154
+ ]
155
+
156
+ if (
157
+ try_enable_first_run_response.status_code != 200
158
+ or acquire_license_response.status_code != 200
159
+ ):
160
+ raise Exception("Failed to post auth")
161
+
138
162
  def has_initialized_auth(self):
139
163
  try:
140
164
  auth_data = get_auth_data()
@@ -171,3 +195,5 @@ def select_tenant(
171
195
  "UIPATH_ORGANIZATION_ID": tenants_and_organizations["organization"]["id"],
172
196
  }
173
197
  )
198
+
199
+ return f"https://{domain if domain else 'alpha'}.uipath.com/{account_name}/{tenant_name}"
@@ -96,10 +96,16 @@ def auth(domain="alpha"):
96
96
  update_env_file({"UIPATH_ACCESS_TOKEN": access_token})
97
97
 
98
98
  tenants_and_organizations = portal_service.get_tenants_and_organizations()
99
- select_tenant(domain, tenants_and_organizations)
100
- console.success(
101
- "Authentication successful.",
102
- )
99
+ base_url = select_tenant(domain, tenants_and_organizations)
100
+ try:
101
+ portal_service.post_auth(base_url)
102
+ console.success(
103
+ "Authentication successful.",
104
+ )
105
+ except Exception:
106
+ console.error(
107
+ "Could not prepare the environment. Please try again.",
108
+ )
103
109
  else:
104
110
  console.error(
105
111
  "Authentication failed. Please try again.",
@@ -20,7 +20,7 @@ def generate_env_file(target_directory):
20
20
 
21
21
  if not os.path.exists(env_path):
22
22
  relative_path = os.path.relpath(env_path, target_directory)
23
- console.success(f"Created {relative_path} file.")
23
+ console.success(f" Created {relative_path} file.")
24
24
  with open(env_path, "w") as f:
25
25
  f.write("UIPATH_ACCESS_TOKEN=YOUR_TOKEN_HERE\n")
26
26
  f.write("UIPATH_URL=https://cloud.uipath.com/ACCOUNT_NAME/TENANT_NAME\n")
@@ -22,10 +22,10 @@ def _create_spec(
22
22
  data: Optional[Dict[str, Any]],
23
23
  action_schema: Optional[ActionSchema],
24
24
  title: str,
25
- app_key: str = "",
26
- app_version: int = -1,
27
- app_folder_key: str = "",
28
- app_folder_path: str = "",
25
+ app_key: Optional[str] = None,
26
+ app_version: Optional[int] = 1,
27
+ app_folder_key: Optional[str] = None,
28
+ app_folder_path: Optional[str] = None,
29
29
  ) -> RequestSpec:
30
30
  field_list = []
31
31
  outcome_list = []
@@ -144,7 +144,9 @@ def _retrieve_app_key_spec(app_name: str) -> RequestSpec:
144
144
  )
145
145
 
146
146
 
147
- def folder_headers(app_folder_key: str, app_folder_path: str) -> Dict[str, str]:
147
+ def folder_headers(
148
+ app_folder_key: Optional[str], app_folder_path: Optional[str]
149
+ ) -> Dict[str, str]:
148
150
  headers = {}
149
151
  if app_folder_key:
150
152
  headers[HEADER_FOLDER_KEY] = app_folder_key
@@ -182,12 +184,12 @@ class ActionsService(FolderContext, BaseService):
182
184
  title: str,
183
185
  data: Optional[Dict[str, Any]] = None,
184
186
  *,
185
- app_name: str = "",
186
- app_key: str = "",
187
- app_folder_path: str = "",
188
- app_folder_key: str = "",
189
- app_version: int = -1,
190
- assignee: str = "",
187
+ app_name: Optional[str] = None,
188
+ app_key: Optional[str] = None,
189
+ app_folder_path: Optional[str] = None,
190
+ app_folder_key: Optional[str] = None,
191
+ app_version: Optional[int] = 1,
192
+ assignee: Optional[str] = None,
191
193
  ) -> Action:
192
194
  """Creates a new action asynchronously.
193
195
 
@@ -210,6 +212,8 @@ class ActionsService(FolderContext, BaseService):
210
212
  Raises:
211
213
  Exception: If neither app_name nor app_key is provided for app-specific actions
212
214
  """
215
+ app_folder_path = app_folder_path if app_folder_path else self._folder_path
216
+
213
217
  (key, action_schema) = (
214
218
  (app_key, None)
215
219
  if app_key
@@ -240,12 +244,12 @@ class ActionsService(FolderContext, BaseService):
240
244
  title: str,
241
245
  data: Optional[Dict[str, Any]] = None,
242
246
  *,
243
- app_name: str = "",
244
- app_key: str = "",
245
- app_folder_path: str = "",
246
- app_folder_key: str = "",
247
- app_version: int = -1,
248
- assignee: str = "",
247
+ app_name: Optional[str] = None,
248
+ app_key: Optional[str] = None,
249
+ app_folder_path: Optional[str] = None,
250
+ app_folder_key: Optional[str] = None,
251
+ app_version: Optional[int] = 1,
252
+ assignee: Optional[str] = None,
249
253
  ) -> Action:
250
254
  """Creates a new action synchronously.
251
255
 
@@ -268,6 +272,8 @@ class ActionsService(FolderContext, BaseService):
268
272
  Raises:
269
273
  Exception: If neither app_name nor app_key is provided for app-specific actions
270
274
  """
275
+ app_folder_path = app_folder_path if app_folder_path else self._folder_path
276
+
271
277
  (key, action_schema) = (
272
278
  (app_key, None)
273
279
  if app_key
@@ -343,7 +349,7 @@ class ActionsService(FolderContext, BaseService):
343
349
  return Action.model_validate(response.json())
344
350
 
345
351
  async def _get_app_key_and_schema_async(
346
- self, app_name: str, app_folder_path: str
352
+ self, app_name: Optional[str], app_folder_path: Optional[str]
347
353
  ) -> Tuple[str, Optional[ActionSchema]]:
348
354
  """Retrieves an application's key and schema asynchronously.
349
355
 
@@ -386,7 +392,7 @@ class ActionsService(FolderContext, BaseService):
386
392
  raise Exception("Failed to deserialize action schema") from KeyError
387
393
 
388
394
  def _get_app_key_and_schema(
389
- self, app_name: str, app_folder_path: str
395
+ self, app_name: Optional[str], app_folder_path: Optional[str]
390
396
  ) -> Tuple[str, Optional[ActionSchema]]:
391
397
  if not app_name:
392
398
  raise Exception("appName or appKey is required")
@@ -2392,7 +2392,7 @@ wheels = [
2392
2392
 
2393
2393
  [[package]]
2394
2394
  name = "uipath"
2395
- version = "2.0.28"
2395
+ version = "2.0.30"
2396
2396
  source = { editable = "." }
2397
2397
  dependencies = [
2398
2398
  { name = "click" },
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