uipath 2.0.49__tar.gz → 2.0.51__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 (142) hide show
  1. {uipath-2.0.49 → uipath-2.0.51}/PKG-INFO +1 -1
  2. {uipath-2.0.49 → uipath-2.0.51}/pyproject.toml +1 -1
  3. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_processes.py +15 -5
  4. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_auth.py +25 -16
  5. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_invoke.py +4 -4
  6. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_publish.py +10 -3
  7. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/buckets_service.py +14 -23
  8. {uipath-2.0.49 → uipath-2.0.51}/uv.lock +1 -1
  9. {uipath-2.0.49 → uipath-2.0.51}/.cursorrules +0 -0
  10. {uipath-2.0.49 → uipath-2.0.51}/.editorconfig +0 -0
  11. {uipath-2.0.49 → uipath-2.0.51}/.gitattributes +0 -0
  12. {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/build.yml +0 -0
  13. {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/cd.yml +0 -0
  14. {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/ci.yml +0 -0
  15. {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/commitlint.yml +0 -0
  16. {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/lint.yml +0 -0
  17. {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/publish-dev.yml +0 -0
  18. {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/publish-docs.yml +0 -0
  19. {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/slack.yml +0 -0
  20. {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/test.yml +0 -0
  21. {uipath-2.0.49 → uipath-2.0.51}/.gitignore +0 -0
  22. {uipath-2.0.49 → uipath-2.0.51}/.pre-commit-config.yaml +0 -0
  23. {uipath-2.0.49 → uipath-2.0.51}/.python-version +0 -0
  24. {uipath-2.0.49 → uipath-2.0.51}/.vscode/extensions.json +0 -0
  25. {uipath-2.0.49 → uipath-2.0.51}/.vscode/settings.json +0 -0
  26. {uipath-2.0.49 → uipath-2.0.51}/CONTRIBUTING.md +0 -0
  27. {uipath-2.0.49 → uipath-2.0.51}/LICENSE +0 -0
  28. {uipath-2.0.49 → uipath-2.0.51}/README.md +0 -0
  29. {uipath-2.0.49 → uipath-2.0.51}/docs/CONTRIBUTING.md +0 -0
  30. {uipath-2.0.49 → uipath-2.0.51}/docs/assets/favicon.png +0 -0
  31. {uipath-2.0.49 → uipath-2.0.51}/docs/assets/logo-dark.svg +0 -0
  32. {uipath-2.0.49 → uipath-2.0.51}/docs/assets/logo-light.svg +0 -0
  33. {uipath-2.0.49 → uipath-2.0.51}/docs/cli/index.md +0 -0
  34. {uipath-2.0.49 → uipath-2.0.51}/docs/core/actions.md +0 -0
  35. {uipath-2.0.49 → uipath-2.0.51}/docs/core/assets.md +0 -0
  36. {uipath-2.0.49 → uipath-2.0.51}/docs/core/buckets.md +0 -0
  37. {uipath-2.0.49 → uipath-2.0.51}/docs/core/connections.md +0 -0
  38. {uipath-2.0.49 → uipath-2.0.51}/docs/core/context_grounding.md +0 -0
  39. {uipath-2.0.49 → uipath-2.0.51}/docs/core/getting_started.md +0 -0
  40. {uipath-2.0.49 → uipath-2.0.51}/docs/core/jobs.md +0 -0
  41. {uipath-2.0.49 → uipath-2.0.51}/docs/core/processes.md +0 -0
  42. {uipath-2.0.49 → uipath-2.0.51}/docs/core/queues.md +0 -0
  43. {uipath-2.0.49 → uipath-2.0.51}/docs/hooks.py +0 -0
  44. {uipath-2.0.49 → uipath-2.0.51}/docs/javascripts/extra.js +0 -0
  45. {uipath-2.0.49 → uipath-2.0.51}/docs/langchain/chat_models.md +0 -0
  46. {uipath-2.0.49 → uipath-2.0.51}/docs/langchain/context_grounding.md +0 -0
  47. {uipath-2.0.49 → uipath-2.0.51}/docs/langchain/human_in_the_loop.md +0 -0
  48. {uipath-2.0.49 → uipath-2.0.51}/docs/overrides/partials/logo.html +0 -0
  49. {uipath-2.0.49 → uipath-2.0.51}/docs/release_policy.md +0 -0
  50. {uipath-2.0.49 → uipath-2.0.51}/docs/stylesheets/extra.css +0 -0
  51. {uipath-2.0.49 → uipath-2.0.51}/justfile +0 -0
  52. {uipath-2.0.49 → uipath-2.0.51}/mkdocs.yml +0 -0
  53. {uipath-2.0.49 → uipath-2.0.51}/py.typed +0 -0
  54. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/__init__.py +0 -0
  55. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/README.md +0 -0
  56. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/__init__.py +0 -0
  57. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  58. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/_models.py +0 -0
  59. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  60. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  61. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/_utils.py +0 -0
  62. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/auth_config.json +0 -0
  63. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/index.html +0 -0
  64. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/localhost.crt +0 -0
  65. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/localhost.key +0 -0
  66. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  67. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_runtime/_logging.py +0 -0
  68. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  69. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  70. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_templates/.rels.template +0 -0
  71. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  72. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_templates/main.py.template +0 -0
  73. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  74. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_common.py +0 -0
  75. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_console.py +0 -0
  76. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_folders.py +0 -0
  77. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_input_args.py +0 -0
  78. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  79. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_deploy.py +0 -0
  80. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_init.py +0 -0
  81. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_new.py +0 -0
  82. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_pack.py +0 -0
  83. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_run.py +0 -0
  84. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/middlewares.py +0 -0
  85. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/spinner.py +0 -0
  86. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_config.py +0 -0
  87. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_execution_context.py +0 -0
  88. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_folder_context.py +0 -0
  89. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/__init__.py +0 -0
  90. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/_base_service.py +0 -0
  91. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/actions_service.py +0 -0
  92. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/api_client.py +0 -0
  93. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/assets_service.py +0 -0
  94. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/connections_service.py +0 -0
  95. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/context_grounding_service.py +0 -0
  96. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/folder_service.py +0 -0
  97. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/jobs_service.py +0 -0
  98. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/llm_gateway_service.py +0 -0
  99. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/processes_service.py +0 -0
  100. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/queues_service.py +0 -0
  101. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_uipath.py +0 -0
  102. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/__init__.py +0 -0
  103. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_endpoint.py +0 -0
  104. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_infer_bindings.py +0 -0
  105. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_logs.py +0 -0
  106. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_read_overwrites.py +0 -0
  107. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_request_override.py +0 -0
  108. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_request_spec.py +0 -0
  109. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_user_agent.py +0 -0
  110. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/constants.py +0 -0
  111. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/__init__.py +0 -0
  112. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/action_schema.py +0 -0
  113. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/actions.py +0 -0
  114. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/assets.py +0 -0
  115. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/buckets.py +0 -0
  116. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/connections.py +0 -0
  117. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/context_grounding.py +0 -0
  118. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/context_grounding_index.py +0 -0
  119. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/errors.py +0 -0
  120. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/exceptions.py +0 -0
  121. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/interrupt_models.py +0 -0
  122. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/job.py +0 -0
  123. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/llm_gateway.py +0 -0
  124. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/processes.py +0 -0
  125. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/queues.py +0 -0
  126. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/py.typed +0 -0
  127. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/tracing/__init__.py +0 -0
  128. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/tracing/_otel_exporters.py +0 -0
  129. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/tracing/_traced.py +0 -0
  130. {uipath-2.0.49 → uipath-2.0.51}/src/uipath/tracing/_utils.py +0 -0
  131. {uipath-2.0.49 → uipath-2.0.51}/tests/__init__.py +0 -0
  132. {uipath-2.0.49 → uipath-2.0.51}/tests/cli/test_init.py +0 -0
  133. {uipath-2.0.49 → uipath-2.0.51}/tests/conftest.py +0 -0
  134. {uipath-2.0.49 → uipath-2.0.51}/tests/sdk/services/test_llm_integration.py +0 -0
  135. {uipath-2.0.49 → uipath-2.0.51}/tests/sdk/services/test_llm_service.py +0 -0
  136. {uipath-2.0.49 → uipath-2.0.51}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  137. {uipath-2.0.49 → uipath-2.0.51}/tests/sdk/test_config.py +0 -0
  138. {uipath-2.0.49 → uipath-2.0.51}/tests/sdk/test_overwrites.py +0 -0
  139. {uipath-2.0.49 → uipath-2.0.51}/tests/tracing/test_otel_exporters.py +0 -0
  140. {uipath-2.0.49 → uipath-2.0.51}/tests/tracing/test_span_utils.py +0 -0
  141. {uipath-2.0.49 → uipath-2.0.51}/tests/tracing/test_traced.py +0 -0
  142. {uipath-2.0.49 → uipath-2.0.51}/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.49
3
+ Version: 2.0.51
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.49"
3
+ version = "2.0.51"
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"
@@ -8,28 +8,38 @@ from ._console import ConsoleLogger
8
8
 
9
9
  console = ConsoleLogger()
10
10
  client = httpx.Client(follow_redirects=True, timeout=30.0)
11
+ odata_top_filter = 25
11
12
 
12
13
 
13
14
  def get_release_info(
14
- base_url: str, token: str, package_name: str, folder_id: str
15
+ base_url: str,
16
+ token: str,
17
+ package_name: str,
18
+ package_version: str,
19
+ folder_id: str,
15
20
  ) -> None | tuple[Any, Any] | tuple[None, None]:
16
21
  headers = {
17
22
  "Authorization": f"Bearer {token}",
18
23
  "x-uipath-organizationunitid": str(folder_id),
19
24
  }
20
25
 
21
- release_url = f"{base_url}/orchestrator_/odata/Releases/UiPath.Server.Configuration.OData.ListReleases?$select=Id,Key&$top=1&$filter=Name%20eq%20%27{urllib.parse.quote(package_name)}%27"
26
+ release_url = f"{base_url}/orchestrator_/odata/Releases/UiPath.Server.Configuration.OData.ListReleases?$select=Id,Key,ProcessVersion&$top={odata_top_filter}&$filter=ProcessKey%20eq%20%27{urllib.parse.quote(package_name)}%27"
22
27
  response = client.get(release_url, headers=headers)
23
28
  if response.status_code == 200:
24
29
  try:
25
30
  data = json.loads(response.text)
26
- release_id = data["value"][0]["Id"]
27
- release_key = data["value"][0]["Key"]
31
+ process = next(
32
+ process
33
+ for process in data["value"]
34
+ if process["ProcessVersion"] == package_version
35
+ )
36
+ release_id = process["Id"]
37
+ release_key = process["Key"]
28
38
  return release_id, release_key
29
39
  except KeyError:
30
40
  console.warning("Warning: Failed to deserialize release data")
31
41
  return None, None
32
- except IndexError:
42
+ except StopIteration:
33
43
  console.error(
34
44
  f"Error: No process with name '{package_name}' found in your workspace. Please publish the process first."
35
45
  )
@@ -56,25 +56,34 @@ def set_port():
56
56
 
57
57
  @click.command()
58
58
  @environment_options
59
- def auth(domain="alpha"):
59
+ @click.option(
60
+ "-f",
61
+ "--force",
62
+ is_flag=True,
63
+ required=False,
64
+ help="Force new token",
65
+ )
66
+ def auth(domain, force: None | bool = False):
60
67
  """Authenticate with UiPath Cloud Platform."""
61
68
  with console.spinner("Authenticating with UiPath ..."):
62
69
  portal_service = PortalService(domain)
63
- if (
64
- os.getenv("UIPATH_URL")
65
- and os.getenv("UIPATH_TENANT_ID")
66
- and os.getenv("UIPATH_ORGANIZATION_ID")
67
- ):
68
- try:
69
- portal_service.ensure_valid_token()
70
- console.success(
71
- "Authentication successful.",
72
- )
73
- return
74
- except Exception:
75
- console.info(
76
- "Authentication token is invalid. Please reauthenticate.",
77
- )
70
+
71
+ if not force:
72
+ if (
73
+ os.getenv("UIPATH_URL")
74
+ and os.getenv("UIPATH_TENANT_ID")
75
+ and os.getenv("UIPATH_ORGANIZATION_ID")
76
+ ):
77
+ try:
78
+ portal_service.ensure_valid_token()
79
+ console.success(
80
+ "Authentication successful.",
81
+ )
82
+ return
83
+ except Exception:
84
+ console.info(
85
+ "Authentication token is invalid. Please reauthenticate.",
86
+ )
78
87
 
79
88
  auth_url, code_verifier, state = get_auth_url(domain)
80
89
 
@@ -24,7 +24,7 @@ console = ConsoleLogger()
24
24
  client = httpx.Client(follow_redirects=True, timeout=30.0)
25
25
 
26
26
 
27
- def _read_project_name() -> str:
27
+ def _read_project_details() -> [str, str]:
28
28
  current_path = os.getcwd()
29
29
  toml_path = os.path.join(current_path, "pyproject.toml")
30
30
  if not os.path.isfile(toml_path):
@@ -37,7 +37,7 @@ def _read_project_name() -> str:
37
37
  if "name" not in content["project"]:
38
38
  console.error("pyproject.toml is missing the required field: project.name.")
39
39
 
40
- return content["project"]["name"]
40
+ return content["project"]["name"], content["project"]["version"]
41
41
 
42
42
 
43
43
  @click.command()
@@ -67,7 +67,7 @@ def invoke(
67
67
 
68
68
  url = f"{base_url}/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs"
69
69
  _, personal_workspace_folder_id = get_personal_workspace_info(base_url, token)
70
- project_name = _read_project_name()
70
+ project_name, project_version = _read_project_details()
71
71
 
72
72
  if not personal_workspace_folder_id:
73
73
  console.error(
@@ -75,7 +75,7 @@ def invoke(
75
75
  )
76
76
 
77
77
  _, release_key = get_release_info(
78
- base_url, token, project_name, personal_workspace_folder_id
78
+ base_url, token, project_name, project_version, personal_workspace_folder_id
79
79
  )
80
80
  payload = {
81
81
  "StartInfo": {
@@ -129,15 +129,22 @@ def publish(feed):
129
129
  console.success("Package published successfully!")
130
130
 
131
131
  if is_personal_workspace:
132
+ package_name = None
133
+ package_version = None
132
134
  try:
133
- data = json.loads(response.text)
134
- package_name = json.loads(data["value"][0]["Body"])["Id"]
135
+ data = json.loads(response.text)["value"][0]["Body"]
136
+ package_name = json.loads(data)["Id"]
137
+ package_version = json.loads(data)["Version"]
135
138
  except json.decoder.JSONDecodeError:
136
139
  console.warning("Failed to deserialize package name")
137
140
  if package_name is not None:
138
141
  with console.spinner("Getting process information ..."):
139
142
  release_id, _ = get_release_info(
140
- base_url, token, package_name, personal_workspace_feed_id
143
+ base_url,
144
+ token,
145
+ package_name,
146
+ package_version,
147
+ personal_workspace_feed_id,
141
148
  )
142
149
  if release_id:
143
150
  process_url = f"{base_url}/orchestrator_/processes/{release_id}/edit?fid={personal_workspace_folder_id}"
@@ -390,15 +390,10 @@ class BucketsService(FolderContext, BaseService):
390
390
  url=spec.endpoint,
391
391
  params=spec.params,
392
392
  headers=spec.headers,
393
- )
394
- except Exception as e:
393
+ ).json()["value"][0]
394
+ except (KeyError, IndexError) as e:
395
395
  raise Exception(f"Bucket with name '{name}' not found") from e
396
- try:
397
- return Bucket.model_validate(response.json()["value"][0])
398
- except KeyError as e:
399
- raise Exception(
400
- f"Error while deserializing bucket with name '{name}'"
401
- ) from e
396
+ return Bucket.model_validate(response)
402
397
 
403
398
  @infer_bindings()
404
399
  @traced(name="buckets_retrieve", run_type="uipath")
@@ -439,21 +434,17 @@ class BucketsService(FolderContext, BaseService):
439
434
  )
440
435
 
441
436
  try:
442
- response = await self.request_async(
443
- spec.method,
444
- url=spec.endpoint,
445
- params=spec.params,
446
- headers=spec.headers,
447
- )
448
- except Exception as e:
449
- raise Exception(f"Bucket with name {name} not found") from e
450
-
451
- try:
452
- return Bucket.model_validate(response.json()["value"][0])
453
- except KeyError as e:
454
- raise Exception(
455
- f"Error while deserializing bucket with name '{name}'"
456
- ) from e
437
+ response = (
438
+ await self.request_async(
439
+ spec.method,
440
+ url=spec.endpoint,
441
+ params=spec.params,
442
+ headers=spec.headers,
443
+ )
444
+ ).json()["value"][0]
445
+ except (KeyError, IndexError) as e:
446
+ raise Exception(f"Bucket with name '{name}' not found") from e
447
+ return Bucket.model_validate(response)
457
448
 
458
449
  @property
459
450
  def custom_headers(self) -> Dict[str, str]:
@@ -2574,7 +2574,7 @@ wheels = [
2574
2574
 
2575
2575
  [[package]]
2576
2576
  name = "uipath"
2577
- version = "2.0.49"
2577
+ version = "2.0.51"
2578
2578
  source = { editable = "." }
2579
2579
  dependencies = [
2580
2580
  { 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
File without changes