uipath 2.0.22__tar.gz → 2.0.23__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 (129) hide show
  1. {uipath-2.0.22 → uipath-2.0.23}/PKG-INFO +1 -1
  2. {uipath-2.0.22 → uipath-2.0.23}/pyproject.toml +1 -1
  3. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/cli_invoke.py +2 -3
  4. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/cli_publish.py +55 -18
  5. {uipath-2.0.22 → uipath-2.0.23}/uv.lock +1509 -1509
  6. {uipath-2.0.22 → uipath-2.0.23}/.cursorrules +0 -0
  7. {uipath-2.0.22 → uipath-2.0.23}/.editorconfig +0 -0
  8. {uipath-2.0.22 → uipath-2.0.23}/.gitattributes +0 -0
  9. {uipath-2.0.22 → uipath-2.0.23}/.github/workflows/build.yml +0 -0
  10. {uipath-2.0.22 → uipath-2.0.23}/.github/workflows/cd.yml +0 -0
  11. {uipath-2.0.22 → uipath-2.0.23}/.github/workflows/ci.yml +0 -0
  12. {uipath-2.0.22 → uipath-2.0.23}/.github/workflows/commitlint.yml +0 -0
  13. {uipath-2.0.22 → uipath-2.0.23}/.github/workflows/lint.yml +0 -0
  14. {uipath-2.0.22 → uipath-2.0.23}/.github/workflows/publish-dev.yml +0 -0
  15. {uipath-2.0.22 → uipath-2.0.23}/.github/workflows/test.yml +0 -0
  16. {uipath-2.0.22 → uipath-2.0.23}/.gitignore +0 -0
  17. {uipath-2.0.22 → uipath-2.0.23}/.pre-commit-config.yaml +0 -0
  18. {uipath-2.0.22 → uipath-2.0.23}/.python-version +0 -0
  19. {uipath-2.0.22 → uipath-2.0.23}/.vscode/extensions.json +0 -0
  20. {uipath-2.0.22 → uipath-2.0.23}/.vscode/settings.json +0 -0
  21. {uipath-2.0.22 → uipath-2.0.23}/CONTRIBUTING.md +0 -0
  22. {uipath-2.0.22 → uipath-2.0.23}/LICENSE +0 -0
  23. {uipath-2.0.22 → uipath-2.0.23}/README.md +0 -0
  24. {uipath-2.0.22 → uipath-2.0.23}/docs/CONTRIBUTING.md +0 -0
  25. {uipath-2.0.22 → uipath-2.0.23}/docs/actions.md +0 -0
  26. {uipath-2.0.22 → uipath-2.0.23}/docs/assets/uipath-logo.svg +0 -0
  27. {uipath-2.0.22 → uipath-2.0.23}/docs/assets.md +0 -0
  28. {uipath-2.0.22 → uipath-2.0.23}/docs/buckets.md +0 -0
  29. {uipath-2.0.22 → uipath-2.0.23}/docs/connections.md +0 -0
  30. {uipath-2.0.22 → uipath-2.0.23}/docs/context_grounding.md +0 -0
  31. {uipath-2.0.22 → uipath-2.0.23}/docs/getting_started_agent.md +0 -0
  32. {uipath-2.0.22 → uipath-2.0.23}/docs/getting_started_cli.md +0 -0
  33. {uipath-2.0.22 → uipath-2.0.23}/docs/getting_started_sdk.md +0 -0
  34. {uipath-2.0.22 → uipath-2.0.23}/docs/index.md +0 -0
  35. {uipath-2.0.22 → uipath-2.0.23}/docs/jobs.md +0 -0
  36. {uipath-2.0.22 → uipath-2.0.23}/docs/processes.md +0 -0
  37. {uipath-2.0.22 → uipath-2.0.23}/docs/queues.md +0 -0
  38. {uipath-2.0.22 → uipath-2.0.23}/docs/sdk.md +0 -0
  39. {uipath-2.0.22 → uipath-2.0.23}/justfile +0 -0
  40. {uipath-2.0.22 → uipath-2.0.23}/mkdocs.yml +0 -0
  41. {uipath-2.0.22 → uipath-2.0.23}/py.typed +0 -0
  42. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/__init__.py +0 -0
  43. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/README.md +0 -0
  44. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/__init__.py +0 -0
  45. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_auth/_auth_server.py +0 -0
  46. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_auth/_models.py +0 -0
  47. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
  48. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_auth/_portal_service.py +0 -0
  49. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_auth/_utils.py +0 -0
  50. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_auth/auth_config.json +0 -0
  51. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_auth/index.html +0 -0
  52. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_auth/localhost.crt +0 -0
  53. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_auth/localhost.key +0 -0
  54. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_runtime/_contracts.py +0 -0
  55. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_runtime/_logging.py +0 -0
  56. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_runtime/_runtime.py +0 -0
  57. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
  58. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_templates/.rels.template +0 -0
  59. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
  60. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_templates/main.py.template +0 -0
  61. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
  62. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_utils/_common.py +0 -0
  63. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_utils/_folders.py +0 -0
  64. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_utils/_input_args.py +0 -0
  65. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
  66. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/_utils/_processes.py +0 -0
  67. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/cli_auth.py +0 -0
  68. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/cli_deploy.py +0 -0
  69. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/cli_init.py +0 -0
  70. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/cli_new.py +0 -0
  71. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/cli_pack.py +0 -0
  72. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/cli_run.py +0 -0
  73. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/middlewares.py +0 -0
  74. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_cli/spinner.py +0 -0
  75. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_config.py +0 -0
  76. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_execution_context.py +0 -0
  77. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_folder_context.py +0 -0
  78. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/__init__.py +0 -0
  79. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/_base_service.py +0 -0
  80. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/actions_service.py +0 -0
  81. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/api_client.py +0 -0
  82. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/assets_service.py +0 -0
  83. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/buckets_service.py +0 -0
  84. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/connections_service.py +0 -0
  85. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/connections_service.pyi +0 -0
  86. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/context_grounding_service.py +0 -0
  87. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/folder_service.py +0 -0
  88. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/jobs_service.py +0 -0
  89. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/llm_gateway_service.py +0 -0
  90. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/processes_service.py +0 -0
  91. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_services/queues_service.py +0 -0
  92. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_uipath.py +0 -0
  93. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_utils/__init__.py +0 -0
  94. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_utils/_endpoint.py +0 -0
  95. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_utils/_infer_bindings.py +0 -0
  96. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_utils/_logs.py +0 -0
  97. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_utils/_request_override.py +0 -0
  98. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_utils/_request_spec.py +0 -0
  99. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_utils/_user_agent.py +0 -0
  100. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/_utils/constants.py +0 -0
  101. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/__init__.py +0 -0
  102. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/action_schema.py +0 -0
  103. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/actions.py +0 -0
  104. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/assets.py +0 -0
  105. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/connections.py +0 -0
  106. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/context_grounding.py +0 -0
  107. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/context_grounding_index.py +0 -0
  108. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/exceptions.py +0 -0
  109. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/interrupt_models.py +0 -0
  110. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/job.py +0 -0
  111. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/llm_gateway.py +0 -0
  112. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/processes.py +0 -0
  113. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/models/queues.py +0 -0
  114. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/py.typed +0 -0
  115. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/tracing/__init__.py +0 -0
  116. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/tracing/_otel_exporters.py +0 -0
  117. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/tracing/_traced.py +0 -0
  118. {uipath-2.0.22 → uipath-2.0.23}/src/uipath/tracing/_utils.py +0 -0
  119. {uipath-2.0.22 → uipath-2.0.23}/tests/__init__.py +0 -0
  120. {uipath-2.0.22 → uipath-2.0.23}/tests/cli/test_init.py +0 -0
  121. {uipath-2.0.22 → uipath-2.0.23}/tests/conftest.py +0 -0
  122. {uipath-2.0.22 → uipath-2.0.23}/tests/sdk/services/test_llm_integration.py +0 -0
  123. {uipath-2.0.22 → uipath-2.0.23}/tests/sdk/services/test_llm_service.py +0 -0
  124. {uipath-2.0.22 → uipath-2.0.23}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
  125. {uipath-2.0.22 → uipath-2.0.23}/tests/sdk/test_config.py +0 -0
  126. {uipath-2.0.22 → uipath-2.0.23}/tests/tracing/test_otel_exporters.py +0 -0
  127. {uipath-2.0.22 → uipath-2.0.23}/tests/tracing/test_span_utils.py +0 -0
  128. {uipath-2.0.22 → uipath-2.0.23}/tests/tracing/test_traced.py +0 -0
  129. {uipath-2.0.22 → uipath-2.0.23}/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.22
3
+ Version: 2.0.23
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.22"
3
+ version = "2.0.23"
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"
@@ -86,15 +86,14 @@ def invoke(entrypoint: Optional[str], input: Optional[str]) -> None:
86
86
  click.Abort()
87
87
  if job_key:
88
88
  job_url = f"{base_url}/orchestrator_/jobs(sidepanel:sidepanel/jobs/{job_key}/details)?fid={personal_workspace_folder_id}"
89
- click.echo("\n✨ Job started successfully!")
89
+ click.echo("✨ Job started successfully!")
90
90
  click.echo(
91
- "\n🔗 Monitor your job here: "
91
+ "🔗 Monitor your job here: "
92
92
  + click.style(
93
93
  f"\u001b]8;;{job_url}\u001b\\{job_url}\u001b]8;;\u001b\\",
94
94
  fg="bright_blue",
95
95
  bold=True,
96
96
  )
97
- + "\n"
98
97
  )
99
98
  else:
100
99
  click.echo(f"\n❌ Error starting job: {response.text}")
@@ -30,6 +30,31 @@ def get_most_recent_package():
30
30
  return nupkg_files_with_time[0][0]
31
31
 
32
32
 
33
+ def get_available_feeds(
34
+ base_url: str, headers: dict[str, str]
35
+ ) -> list[tuple[str, str]]:
36
+ url = f"{base_url}/orchestrator_/api/PackageFeeds/GetFeeds"
37
+ response = requests.get(url, headers=headers)
38
+ if response.status_code != 200:
39
+ click.echo(
40
+ f"❌ Failed to fetch available feeds. Status code: {response.status_code}"
41
+ )
42
+ if response.text:
43
+ click.echo(response.text)
44
+ click.get_current_context().exit(1)
45
+ try:
46
+ available_feeds = [
47
+ feed for feed in response.json() if feed["purpose"] == "Processes"
48
+ ]
49
+ return [(feed["name"], feed["id"]) for feed in available_feeds]
50
+ except Exception as e:
51
+ click.echo(
52
+ "❌ Failed to deserialize available feeds.",
53
+ )
54
+ click.echo(e)
55
+ click.get_current_context().exit(1)
56
+
57
+
33
58
  @click.command()
34
59
  @click.option(
35
60
  "--tenant",
@@ -39,8 +64,8 @@ def get_most_recent_package():
39
64
  help="Whether to publish to the tenant package feed",
40
65
  )
41
66
  @click.option(
42
- "--personal-workspace",
43
- "-p",
67
+ "--my-workspace",
68
+ "-w",
44
69
  "feed",
45
70
  flag_value="personal",
46
71
  help="Whether to publish to the personal workspace",
@@ -49,13 +74,25 @@ def publish(feed):
49
74
  spinner = Spinner()
50
75
  current_path = os.getcwd()
51
76
  load_dotenv(os.path.join(current_path, ".env"), override=True)
77
+ [base_url, token] = get_env_vars()
78
+ headers = {"Authorization": f"Bearer {token}"}
52
79
  if feed is None:
53
- click.echo("Select feed type:")
54
- click.echo(" 0: Tenant package feed")
55
- click.echo(" 1: Personal workspace")
80
+ available_feeds = get_available_feeds(base_url, headers)
81
+ click.echo("👇 Select package feed:")
82
+ for idx, feed in enumerate(available_feeds, start=0):
83
+ click.echo(f" {idx}: {feed[0]}")
56
84
  feed_idx = click.prompt("Select feed", type=int)
57
- feed = "tenant" if feed_idx == 0 else "personal"
58
- click.echo(f"Selected feed: {feed}")
85
+ if feed_idx < 0:
86
+ click.echo(" Invalid input")
87
+ click.get_current_context().exit(1)
88
+ try:
89
+ selected_feed = available_feeds[feed_idx]
90
+ feed = selected_feed[1]
91
+ except IndexError:
92
+ click.echo("❌ Invalid feed selected")
93
+ click.get_current_context().exit(1)
94
+
95
+ click.echo(f"Selected feed: {click.style(str(selected_feed[0]), fg='cyan')}")
59
96
 
60
97
  os.makedirs(".uipath", exist_ok=True)
61
98
 
@@ -71,19 +108,19 @@ def publish(feed):
71
108
 
72
109
  package_to_publish_path = os.path.join(".uipath", most_recent)
73
110
 
74
- [base_url, token] = get_env_vars(spinner)
75
-
76
111
  url = f"{base_url}/orchestrator_/odata/Processes/UiPath.Server.Configuration.OData.UploadPackage()"
112
+ is_personal_workspace = False
77
113
 
78
- if feed == "personal":
79
- # Get current user extended info to get personal workspace ID
114
+ if feed and feed != "tenant":
115
+ # Check user personal workspace
80
116
  personal_workspace_feed_id, personal_workspace_folder_id = (
81
117
  get_personal_workspace_info(base_url, token, spinner)
82
118
  )
83
-
84
- url = url + "?feedId=" + personal_workspace_feed_id
85
-
86
- headers = {"Authorization": f"Bearer {token}"}
119
+ if feed == "personal" or feed == personal_workspace_feed_id:
120
+ is_personal_workspace = True
121
+ url = url + "?feedId=" + personal_workspace_feed_id
122
+ else:
123
+ url = url + "?feedId=" + feed
87
124
 
88
125
  with open(package_to_publish_path, "rb") as f:
89
126
  files = {"file": (package_to_publish_path, f, "application/octet-stream")}
@@ -95,7 +132,7 @@ def publish(feed):
95
132
  click.echo(
96
133
  click.style("✓ ", fg="green", bold=True) + "Package published successfully!"
97
134
  )
98
- if feed == "personal":
135
+ if is_personal_workspace:
99
136
  try:
100
137
  data = json.loads(response.text)
101
138
  package_name = json.loads(data["value"][0]["Body"])["Id"]
@@ -108,7 +145,7 @@ def publish(feed):
108
145
  if release_id:
109
146
  process_url = f"{base_url}/orchestrator_/processes/{release_id}/edit?fid={personal_workspace_folder_id}"
110
147
  click.echo(
111
- "\n🔧 Configure your process: "
148
+ "🔧 Configure your process: "
112
149
  + click.style(
113
150
  f"\u001b]8;;{process_url}\u001b\\{process_url}\u001b]8;;\u001b\\",
114
151
  fg="bright_blue",
@@ -116,7 +153,7 @@ def publish(feed):
116
153
  )
117
154
  )
118
155
  click.echo(
119
- "\n💡 Use the link above to configure any environment variables\n"
156
+ "💡 Use the link above to configure any environment variables"
120
157
  )
121
158
  else:
122
159
  click.echo("⚠️ Warning: Failed to compose process url")