uipath 2.0.35__tar.gz → 2.0.36__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.
- {uipath-2.0.35 → uipath-2.0.36}/PKG-INFO +1 -4
- {uipath-2.0.35 → uipath-2.0.36}/pyproject.toml +2 -4
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_auth/_portal_service.py +7 -6
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_utils/_folders.py +3 -2
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_utils/_processes.py +3 -2
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/cli_invoke.py +3 -2
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/cli_publish.py +4 -3
- {uipath-2.0.35 → uipath-2.0.36}/uv.lock +6 -10
- {uipath-2.0.35 → uipath-2.0.36}/.cursorrules +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.editorconfig +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.gitattributes +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.github/workflows/build.yml +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.github/workflows/cd.yml +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.github/workflows/ci.yml +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.github/workflows/commitlint.yml +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.github/workflows/lint.yml +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.github/workflows/publish-dev.yml +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.github/workflows/publish-docs.yml +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.github/workflows/test.yml +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.gitignore +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.pre-commit-config.yaml +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.python-version +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.vscode/extensions.json +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/.vscode/settings.json +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/CONTRIBUTING.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/LICENSE +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/README.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/CONTRIBUTING.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/assets/favicon.png +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/assets/uipath-logo.svg +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/cli/index.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/core/actions.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/core/assets.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/core/buckets.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/core/context_grounding.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/core/getting_started.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/core/jobs.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/core/processes.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/core/queues.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/hooks.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/javascripts/extra.js +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/langchain/chat_models.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/langchain/context_grounding.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/langchain/human_in_the_loop.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/release_policy.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/docs/stylesheets/extra.css +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/justfile +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/mkdocs.yml +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/py.typed +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/__init__.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/README.md +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/__init__.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_auth/_auth_server.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_utils/_common.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_utils/_console.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/cli_auth.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/cli_init.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/cli_new.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/cli_run.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/middlewares.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_cli/spinner.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_config.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_execution_context.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_folder_context.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/__init__.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/_base_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/actions_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/api_client.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/assets_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/buckets_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/connections_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/connections_service.pyi +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/context_grounding_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/folder_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/jobs_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/processes_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_services/queues_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_uipath.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_utils/__init__.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_utils/_logs.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_utils/_request_override.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/_utils/constants.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/__init__.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/action_schema.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/actions.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/assets.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/connections.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/context_grounding.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/context_grounding_index.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/errors.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/exceptions.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/interrupt_models.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/job.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/llm_gateway.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/processes.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/models/queues.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/py.typed +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/tracing/__init__.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/tracing/_otel_exporters.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/tracing/_traced.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/src/uipath/tracing/_utils.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/tests/__init__.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/tests/cli/test_init.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/tests/conftest.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/tests/sdk/services/test_llm_integration.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/tests/sdk/services/test_llm_service.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/tests/sdk/test_config.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/tests/tracing/test_otel_exporters.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/tests/tracing/test_span_utils.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/tests/tracing/test_traced.py +0 -0
- {uipath-2.0.35 → uipath-2.0.36}/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.
|
|
3
|
+
Version: 2.0.36
|
|
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
|
|
@@ -18,13 +18,10 @@ Requires-Dist: httpx>=0.28.1
|
|
|
18
18
|
Requires-Dist: opentelemetry-sdk>=1.32.1
|
|
19
19
|
Requires-Dist: pathlib>=1.0.1
|
|
20
20
|
Requires-Dist: pydantic>=2.11.1
|
|
21
|
-
Requires-Dist: pytest-asyncio>=0.25.3
|
|
22
21
|
Requires-Dist: python-dotenv>=1.0.1
|
|
23
|
-
Requires-Dist: requests>=2.32.3
|
|
24
22
|
Requires-Dist: rich>=13.0.0
|
|
25
23
|
Requires-Dist: tenacity>=9.0.0
|
|
26
24
|
Requires-Dist: tomli>=2.2.1
|
|
27
|
-
Requires-Dist: types-requests>=2.32.0.20250306
|
|
28
25
|
Provides-Extra: langchain
|
|
29
26
|
Requires-Dist: uipath-langchain<0.1.0,>=0.0.88; extra == 'langchain'
|
|
30
27
|
Description-Content-Type: text/markdown
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "uipath"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.36"
|
|
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"
|
|
@@ -9,12 +9,9 @@ dependencies = [
|
|
|
9
9
|
"httpx>=0.28.1",
|
|
10
10
|
"opentelemetry-sdk>=1.32.1",
|
|
11
11
|
"pydantic>=2.11.1",
|
|
12
|
-
"pytest-asyncio>=0.25.3",
|
|
13
12
|
"python-dotenv>=1.0.1",
|
|
14
|
-
"requests>=2.32.3",
|
|
15
13
|
"tenacity>=9.0.0",
|
|
16
14
|
"tomli>=2.2.1",
|
|
17
|
-
"types-requests>=2.32.0.20250306",
|
|
18
15
|
"pathlib>=1.0.1",
|
|
19
16
|
"rich>=13.0.0",
|
|
20
17
|
]
|
|
@@ -59,6 +56,7 @@ dev = [
|
|
|
59
56
|
"termynal>=0.13.0",
|
|
60
57
|
"mkdocs-simple-hooks>=0.1.5",
|
|
61
58
|
"mkdocs-click>=0.9.0",
|
|
59
|
+
"pytest-asyncio>=0.26.0",
|
|
62
60
|
]
|
|
63
61
|
|
|
64
62
|
[project.optional-dependencies]
|
|
@@ -3,7 +3,7 @@ import time
|
|
|
3
3
|
from typing import Optional
|
|
4
4
|
|
|
5
5
|
import click
|
|
6
|
-
import
|
|
6
|
+
import httpx
|
|
7
7
|
|
|
8
8
|
from .._utils._console import ConsoleLogger
|
|
9
9
|
from ._models import TenantsAndOrganizationInfoResponse, TokenData
|
|
@@ -16,6 +16,7 @@ from ._utils import (
|
|
|
16
16
|
)
|
|
17
17
|
|
|
18
18
|
console = ConsoleLogger()
|
|
19
|
+
client = httpx.Client(follow_redirects=True)
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
class PortalService:
|
|
@@ -44,10 +45,10 @@ class PortalService:
|
|
|
44
45
|
|
|
45
46
|
def get_tenants_and_organizations(self) -> TenantsAndOrganizationInfoResponse:
|
|
46
47
|
url = f"https://{self.domain}.uipath.com/{self.prt_id}/portal_/api/filtering/leftnav/tenantsAndOrganizationInfo"
|
|
47
|
-
response =
|
|
48
|
+
response = client.get(
|
|
48
49
|
url, headers={"Authorization": f"Bearer {self.access_token}"}
|
|
49
50
|
)
|
|
50
|
-
if response.
|
|
51
|
+
if response.status_code < 400:
|
|
51
52
|
result = response.json()
|
|
52
53
|
self._tenants_and_organizations = result
|
|
53
54
|
return result
|
|
@@ -82,8 +83,8 @@ class PortalService:
|
|
|
82
83
|
|
|
83
84
|
headers = {"Content-Type": "application/x-www-form-urlencoded"}
|
|
84
85
|
|
|
85
|
-
response =
|
|
86
|
-
if response.
|
|
86
|
+
response = client.post(url, data=data, headers=headers)
|
|
87
|
+
if response.status_code < 400:
|
|
87
88
|
return response.json()
|
|
88
89
|
elif response.status_code == 401:
|
|
89
90
|
console.error("Unauthorized")
|
|
@@ -147,7 +148,7 @@ class PortalService:
|
|
|
147
148
|
|
|
148
149
|
try:
|
|
149
150
|
[try_enable_first_run_response, acquire_license_response] = [
|
|
150
|
-
|
|
151
|
+
client.post(
|
|
151
152
|
url,
|
|
152
153
|
headers={"Authorization": f"Bearer {self.access_token}"},
|
|
153
154
|
)
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
from typing import Optional, Tuple
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import httpx
|
|
4
4
|
|
|
5
5
|
from ._console import ConsoleLogger
|
|
6
6
|
|
|
7
7
|
console = ConsoleLogger()
|
|
8
|
+
client = httpx.Client(follow_redirects=True)
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
def get_personal_workspace_info(
|
|
11
12
|
base_url: str, token: str
|
|
12
13
|
) -> Tuple[Optional[str], Optional[str]]:
|
|
13
14
|
user_url = f"{base_url}/orchestrator_/odata/Users/UiPath.Server.Configuration.OData.GetCurrentUserExtended?$expand=PersonalWorkspace"
|
|
14
|
-
user_response =
|
|
15
|
+
user_response = client.get(user_url, headers={"Authorization": f"Bearer {token}"})
|
|
15
16
|
|
|
16
17
|
if user_response.status_code != 200:
|
|
17
18
|
console.error("Error: Failed to fetch user info. Please try reauthenticating.")
|
|
@@ -2,11 +2,12 @@ import json
|
|
|
2
2
|
import urllib.parse
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import httpx
|
|
6
6
|
|
|
7
7
|
from ._console import ConsoleLogger
|
|
8
8
|
|
|
9
9
|
console = ConsoleLogger()
|
|
10
|
+
client = httpx.Client(follow_redirects=True)
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
def get_release_info(
|
|
@@ -18,7 +19,7 @@ def get_release_info(
|
|
|
18
19
|
}
|
|
19
20
|
|
|
20
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"
|
|
21
|
-
response =
|
|
22
|
+
response = client.get(release_url, headers=headers)
|
|
22
23
|
if response.status_code == 200:
|
|
23
24
|
try:
|
|
24
25
|
data = json.loads(response.text)
|
|
@@ -4,7 +4,7 @@ import os
|
|
|
4
4
|
from typing import Optional
|
|
5
5
|
|
|
6
6
|
import click
|
|
7
|
-
import
|
|
7
|
+
import httpx
|
|
8
8
|
from dotenv import load_dotenv
|
|
9
9
|
|
|
10
10
|
from ._utils._console import ConsoleLogger
|
|
@@ -21,6 +21,7 @@ from ._utils._processes import get_release_info
|
|
|
21
21
|
logger = logging.getLogger(__name__)
|
|
22
22
|
load_dotenv()
|
|
23
23
|
console = ConsoleLogger()
|
|
24
|
+
client = httpx.Client(follow_redirects=True)
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
def _read_project_name() -> str:
|
|
@@ -74,7 +75,7 @@ def invoke(entrypoint: Optional[str], input: Optional[str]) -> None:
|
|
|
74
75
|
"x-uipath-organizationunitid": str(personal_workspace_folder_id),
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
response =
|
|
78
|
+
response = client.post(url, json=payload, headers=headers)
|
|
78
79
|
|
|
79
80
|
if response.status_code == 201:
|
|
80
81
|
job_key = None
|
|
@@ -3,7 +3,7 @@ import json
|
|
|
3
3
|
import os
|
|
4
4
|
|
|
5
5
|
import click
|
|
6
|
-
import
|
|
6
|
+
import httpx
|
|
7
7
|
from dotenv import load_dotenv
|
|
8
8
|
|
|
9
9
|
from ._utils._common import get_env_vars
|
|
@@ -12,6 +12,7 @@ from ._utils._folders import get_personal_workspace_info
|
|
|
12
12
|
from ._utils._processes import get_release_info
|
|
13
13
|
|
|
14
14
|
console = ConsoleLogger()
|
|
15
|
+
client = httpx.Client(follow_redirects=True)
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
def get_most_recent_package():
|
|
@@ -33,7 +34,7 @@ def get_available_feeds(
|
|
|
33
34
|
base_url: str, headers: dict[str, str]
|
|
34
35
|
) -> list[tuple[str, str]]:
|
|
35
36
|
url = f"{base_url}/orchestrator_/api/PackageFeeds/GetFeeds"
|
|
36
|
-
response =
|
|
37
|
+
response = httpx.get(url, headers=headers)
|
|
37
38
|
if response.status_code != 200:
|
|
38
39
|
console.error(
|
|
39
40
|
f"Failed to fetch available feeds. Please check your connection. Status code: {response.status_code} {response.text}"
|
|
@@ -122,7 +123,7 @@ def publish(feed):
|
|
|
122
123
|
|
|
123
124
|
with open(package_to_publish_path, "rb") as f:
|
|
124
125
|
files = {"file": (package_to_publish_path, f, "application/octet-stream")}
|
|
125
|
-
response =
|
|
126
|
+
response = client.post(url, headers=headers, files=files)
|
|
126
127
|
|
|
127
128
|
if response.status_code == 200:
|
|
128
129
|
console.success("Package published successfully!")
|
|
@@ -2035,14 +2035,14 @@ wheels = [
|
|
|
2035
2035
|
|
|
2036
2036
|
[[package]]
|
|
2037
2037
|
name = "pytest-asyncio"
|
|
2038
|
-
version = "0.
|
|
2038
|
+
version = "0.26.0"
|
|
2039
2039
|
source = { registry = "https://pypi.org/simple" }
|
|
2040
2040
|
dependencies = [
|
|
2041
2041
|
{ name = "pytest" },
|
|
2042
2042
|
]
|
|
2043
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2043
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8e/c4/453c52c659521066969523e87d85d54139bbd17b78f09532fb8eb8cdb58e/pytest_asyncio-0.26.0.tar.gz", hash = "sha256:c4df2a697648241ff39e7f0e4a73050b03f123f760673956cf0d72a4990e312f", size = 54156 }
|
|
2044
2044
|
wheels = [
|
|
2045
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2045
|
+
{ url = "https://files.pythonhosted.org/packages/20/7f/338843f449ace853647ace35870874f69a764d251872ed1b4de9f234822c/pytest_asyncio-0.26.0-py3-none-any.whl", hash = "sha256:7b51ed894f4fbea1340262bdae5135797ebbe21d8638978e35d31c6d19f72fb0", size = 19694 },
|
|
2046
2046
|
]
|
|
2047
2047
|
|
|
2048
2048
|
[[package]]
|
|
@@ -2556,7 +2556,7 @@ wheels = [
|
|
|
2556
2556
|
|
|
2557
2557
|
[[package]]
|
|
2558
2558
|
name = "uipath"
|
|
2559
|
-
version = "2.0.
|
|
2559
|
+
version = "2.0.36"
|
|
2560
2560
|
source = { editable = "." }
|
|
2561
2561
|
dependencies = [
|
|
2562
2562
|
{ name = "click" },
|
|
@@ -2564,13 +2564,10 @@ dependencies = [
|
|
|
2564
2564
|
{ name = "opentelemetry-sdk" },
|
|
2565
2565
|
{ name = "pathlib" },
|
|
2566
2566
|
{ name = "pydantic" },
|
|
2567
|
-
{ name = "pytest-asyncio" },
|
|
2568
2567
|
{ name = "python-dotenv" },
|
|
2569
|
-
{ name = "requests" },
|
|
2570
2568
|
{ name = "rich" },
|
|
2571
2569
|
{ name = "tenacity" },
|
|
2572
2570
|
{ name = "tomli" },
|
|
2573
|
-
{ name = "types-requests" },
|
|
2574
2571
|
]
|
|
2575
2572
|
|
|
2576
2573
|
[package.optional-dependencies]
|
|
@@ -2590,6 +2587,7 @@ dev = [
|
|
|
2590
2587
|
{ name = "mypy" },
|
|
2591
2588
|
{ name = "pre-commit" },
|
|
2592
2589
|
{ name = "pytest" },
|
|
2590
|
+
{ name = "pytest-asyncio" },
|
|
2593
2591
|
{ name = "pytest-cov" },
|
|
2594
2592
|
{ name = "pytest-mock" },
|
|
2595
2593
|
{ name = "ruff" },
|
|
@@ -2604,13 +2602,10 @@ requires-dist = [
|
|
|
2604
2602
|
{ name = "opentelemetry-sdk", specifier = ">=1.32.1" },
|
|
2605
2603
|
{ name = "pathlib", specifier = ">=1.0.1" },
|
|
2606
2604
|
{ name = "pydantic", specifier = ">=2.11.1" },
|
|
2607
|
-
{ name = "pytest-asyncio", specifier = ">=0.25.3" },
|
|
2608
2605
|
{ name = "python-dotenv", specifier = ">=1.0.1" },
|
|
2609
|
-
{ name = "requests", specifier = ">=2.32.3" },
|
|
2610
2606
|
{ name = "rich", specifier = ">=13.0.0" },
|
|
2611
2607
|
{ name = "tenacity", specifier = ">=9.0.0" },
|
|
2612
2608
|
{ name = "tomli", specifier = ">=2.2.1" },
|
|
2613
|
-
{ name = "types-requests", specifier = ">=2.32.0.20250306" },
|
|
2614
2609
|
{ name = "uipath-langchain", marker = "extra == 'langchain'", specifier = ">=0.0.88,<0.1.0" },
|
|
2615
2610
|
]
|
|
2616
2611
|
|
|
@@ -2626,6 +2621,7 @@ dev = [
|
|
|
2626
2621
|
{ name = "mypy", specifier = ">=1.14.1" },
|
|
2627
2622
|
{ name = "pre-commit", specifier = ">=4.1.0" },
|
|
2628
2623
|
{ name = "pytest", specifier = ">=7.4.0" },
|
|
2624
|
+
{ name = "pytest-asyncio", specifier = ">=0.26.0" },
|
|
2629
2625
|
{ name = "pytest-cov", specifier = ">=4.1.0" },
|
|
2630
2626
|
{ name = "pytest-mock", specifier = ">=3.11.1" },
|
|
2631
2627
|
{ name = "ruff", specifier = ">=0.9.4" },
|
|
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
|
|
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
|
|
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
|
|
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
|