uipath 2.0.40__tar.gz → 2.0.41__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.40 → uipath-2.0.41}/PKG-INFO +1 -1
- uipath-2.0.41/docs/core/connections.md +1 -0
- {uipath-2.0.40 → uipath-2.0.41}/mkdocs.yml +1 -0
- {uipath-2.0.40 → uipath-2.0.41}/pyproject.toml +1 -1
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/connections_service.py +2 -82
- {uipath-2.0.40 → uipath-2.0.41}/uv.lock +1579 -1581
- uipath-2.0.40/src/uipath/_services/connections_service.pyi +0 -50
- {uipath-2.0.40 → uipath-2.0.41}/.cursorrules +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.editorconfig +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.gitattributes +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.github/workflows/build.yml +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.github/workflows/cd.yml +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.github/workflows/ci.yml +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.github/workflows/commitlint.yml +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.github/workflows/lint.yml +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.github/workflows/publish-dev.yml +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.github/workflows/publish-docs.yml +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.github/workflows/slack.yml +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.github/workflows/test.yml +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.gitignore +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.pre-commit-config.yaml +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.python-version +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.vscode/extensions.json +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/.vscode/settings.json +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/CONTRIBUTING.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/LICENSE +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/README.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/CONTRIBUTING.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/assets/favicon.png +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/assets/logo-dark.svg +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/assets/logo-light.svg +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/cli/index.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/core/actions.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/core/assets.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/core/buckets.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/core/context_grounding.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/core/getting_started.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/core/jobs.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/core/processes.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/core/queues.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/hooks.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/javascripts/extra.js +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/langchain/chat_models.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/langchain/context_grounding.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/langchain/human_in_the_loop.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/overrides/partials/logo.html +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/release_policy.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/docs/stylesheets/extra.css +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/justfile +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/py.typed +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/__init__.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/README.md +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/__init__.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_auth/_auth_server.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_auth/_portal_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_utils/_common.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_utils/_console.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_utils/_folders.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/_utils/_processes.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/cli_auth.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/cli_init.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/cli_invoke.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/cli_new.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/cli_publish.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/cli_run.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/middlewares.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_cli/spinner.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_config.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_execution_context.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_folder_context.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/__init__.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/_base_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/actions_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/api_client.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/assets_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/buckets_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/context_grounding_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/folder_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/jobs_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/processes_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_services/queues_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_uipath.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_utils/__init__.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_utils/_logs.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_utils/_request_override.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/_utils/constants.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/__init__.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/action_schema.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/actions.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/assets.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/connections.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/context_grounding.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/context_grounding_index.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/errors.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/exceptions.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/interrupt_models.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/job.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/llm_gateway.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/processes.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/models/queues.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/py.typed +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/tracing/__init__.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/tracing/_otel_exporters.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/tracing/_traced.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/src/uipath/tracing/_utils.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/tests/__init__.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/tests/cli/test_init.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/tests/conftest.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/tests/sdk/services/test_llm_integration.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/tests/sdk/services/test_llm_service.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/tests/sdk/test_config.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/tests/tracing/test_otel_exporters.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/tests/tracing/test_span_utils.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/tests/tracing/test_traced.py +0 -0
- {uipath-2.0.40 → uipath-2.0.41}/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.41
|
|
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 @@
|
|
|
1
|
+
::: uipath._services.connections_service
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "uipath"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.41"
|
|
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"
|
|
@@ -1,77 +1,24 @@
|
|
|
1
|
-
import importlib
|
|
2
1
|
import logging
|
|
3
|
-
from typing import Any, Dict, Protocol, TypeVar, Union
|
|
4
2
|
|
|
5
3
|
from .._config import Config
|
|
6
4
|
from .._execution_context import ExecutionContext
|
|
7
5
|
from .._utils import Endpoint, RequestSpec
|
|
8
|
-
from .._utils.constants import ENTRYPOINT
|
|
9
6
|
from ..models import Connection, ConnectionToken
|
|
10
7
|
from ..tracing._traced import traced
|
|
11
8
|
from ._base_service import BaseService
|
|
12
9
|
|
|
13
|
-
T_co = TypeVar("T_co", covariant=True)
|
|
14
|
-
|
|
15
10
|
logger: logging.Logger = logging.getLogger("uipath")
|
|
16
11
|
|
|
17
12
|
|
|
18
|
-
class PluginNotFoundError(AttributeError):
|
|
19
|
-
"""Raised when a plugin is not installed or failed to load."""
|
|
20
|
-
|
|
21
|
-
pass
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class Connector(Protocol[T_co]):
|
|
25
|
-
def __call__(self, *, client: Any, instance_id: Union[str, int]) -> T_co: ...
|
|
26
|
-
|
|
27
|
-
|
|
28
13
|
class ConnectionsService(BaseService):
|
|
29
14
|
"""Service for managing UiPath external service connections.
|
|
30
15
|
|
|
31
|
-
This service provides methods to retrieve
|
|
32
|
-
|
|
33
|
-
both direct connection information retrieval and secure token management.
|
|
34
|
-
|
|
35
|
-
The service implements a flexible connector system that allows for type-safe
|
|
36
|
-
instantiation of specific service connectors, making it easier to interact
|
|
37
|
-
with different types of external services.
|
|
16
|
+
This service provides methods to retrieve direct connection information retrieval
|
|
17
|
+
and secure token management.
|
|
38
18
|
"""
|
|
39
19
|
|
|
40
20
|
def __init__(self, config: Config, execution_context: ExecutionContext) -> None:
|
|
41
21
|
super().__init__(config=config, execution_context=execution_context)
|
|
42
|
-
self._plugins: Dict[str, Any] = {}
|
|
43
|
-
self._plugins_loaded = False
|
|
44
|
-
self._load_connectors()
|
|
45
|
-
|
|
46
|
-
def __call__(self, connector: Connector[T_co], key: str) -> T_co:
|
|
47
|
-
connection = self.retrieve(key)
|
|
48
|
-
return connector(client=self.client, instance_id=connection.element_instance_id)
|
|
49
|
-
|
|
50
|
-
def __getattr__(self, name: str) -> Any:
|
|
51
|
-
"""Get a plugin by name.
|
|
52
|
-
|
|
53
|
-
Args:
|
|
54
|
-
name: The name of the plugin to get
|
|
55
|
-
|
|
56
|
-
Returns:
|
|
57
|
-
The plugin instance
|
|
58
|
-
|
|
59
|
-
Raises:
|
|
60
|
-
PluginNotFoundError: If the plugin is not installed
|
|
61
|
-
ImportError: If the plugin fails to load
|
|
62
|
-
"""
|
|
63
|
-
if not self._plugins_loaded:
|
|
64
|
-
self._load_connectors()
|
|
65
|
-
|
|
66
|
-
if name in self._plugins:
|
|
67
|
-
return self._plugins[name]
|
|
68
|
-
|
|
69
|
-
try:
|
|
70
|
-
plugin: Any = getattr(self.client, name)
|
|
71
|
-
self._plugins[name] = plugin
|
|
72
|
-
return plugin
|
|
73
|
-
except AttributeError as e:
|
|
74
|
-
raise PluginNotFoundError(f"Plugin '{name}' is not installed") from e
|
|
75
22
|
|
|
76
23
|
@traced(
|
|
77
24
|
name="connections_retrieve",
|
|
@@ -177,30 +124,3 @@ class ConnectionsService(BaseService):
|
|
|
177
124
|
endpoint=Endpoint(f"/connections_/api/v1/Connections/{key}/token"),
|
|
178
125
|
params={"type": "direct"},
|
|
179
126
|
)
|
|
180
|
-
|
|
181
|
-
def _load_connectors(self) -> None:
|
|
182
|
-
"""Load all available connector plugins.
|
|
183
|
-
|
|
184
|
-
Raises:
|
|
185
|
-
ImportError: If a plugin fails to load
|
|
186
|
-
"""
|
|
187
|
-
try:
|
|
188
|
-
entry_points: Any = importlib.metadata.entry_points()
|
|
189
|
-
if hasattr(entry_points, "select"):
|
|
190
|
-
connectors = list(entry_points.select(group=ENTRYPOINT))
|
|
191
|
-
else:
|
|
192
|
-
connectors = list(entry_points.get(ENTRYPOINT, []))
|
|
193
|
-
|
|
194
|
-
for entry_point in connectors:
|
|
195
|
-
try:
|
|
196
|
-
register_func = entry_point.load()
|
|
197
|
-
register_func(self)
|
|
198
|
-
except Exception as e:
|
|
199
|
-
logger.error(
|
|
200
|
-
f"[ERROR] Failed to load plugin {entry_point.name}: {str(e)}"
|
|
201
|
-
)
|
|
202
|
-
|
|
203
|
-
self._plugins_loaded = True
|
|
204
|
-
except Exception as e:
|
|
205
|
-
self._plugins_loaded = False
|
|
206
|
-
raise ImportError(f"Failed to load plugins: {str(e)}") from e
|