uipath 2.0.40__py3-none-any.whl → 2.0.42__py3-none-any.whl

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/_cli/cli_pack.py CHANGED
@@ -201,6 +201,14 @@ def generate_package_descriptor_content(entryPoints):
201
201
  return package_descriptor_content
202
202
 
203
203
 
204
+ def is_venv_dir(d):
205
+ return (
206
+ os.path.exists(os.path.join(d, "Scripts", "activate"))
207
+ if os.name == "nt"
208
+ else os.path.exists(os.path.join(d, "bin", "activate"))
209
+ )
210
+
211
+
204
212
  def pack_fn(projectName, description, entryPoints, version, authors, directory):
205
213
  operate_file = generate_operate_file(entryPoints)
206
214
  entrypoints_file = generate_entrypoints_file(entryPoints)
@@ -264,8 +272,12 @@ def pack_fn(projectName, description, entryPoints, version, authors, directory):
264
272
 
265
273
  # Walk through directory and add all files with extensions in the allowlist
266
274
  for root, dirs, files in os.walk(directory):
267
- # Skip all directories that start with .
268
- dirs[:] = [d for d in dirs if not d.startswith(".")]
275
+ # Skip all directories that start with . or are a venv
276
+ dirs[:] = [
277
+ d
278
+ for d in dirs
279
+ if not d.startswith(".") and not is_venv_dir(os.path.join(root, d))
280
+ ]
269
281
 
270
282
  for file in files:
271
283
  file_extension = os.path.splitext(file)[1].lower()
@@ -415,11 +415,18 @@ class ActionsService(FolderContext, BaseService):
415
415
  if len(deployed_apps) > 1 and not app_folder_path:
416
416
  raise Exception("Multiple app schemas found")
417
417
  try:
418
- return next(
419
- app
420
- for app in deployed_apps
421
- if app["deploymentFolder"]["fullyQualifiedName"] == app_folder_path
422
- )
418
+ if app_folder_path:
419
+ return next(
420
+ app
421
+ for app in deployed_apps
422
+ if app["deploymentFolder"]["fullyQualifiedName"] == app_folder_path
423
+ )
424
+ else:
425
+ return next(
426
+ app
427
+ for app in deployed_apps
428
+ if app["deploymentFolder"]["key"] == self._folder_key
429
+ )
423
430
  except StopIteration:
424
431
  raise KeyError from StopIteration
425
432
 
@@ -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 and manage connections to external
32
- systems and services that your automation processes interact with. It supports
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uipath
3
- Version: 2.0.40
3
+ Version: 2.0.42
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
@@ -11,7 +11,7 @@ uipath/_cli/cli_deploy.py,sha256=lDqZQOsTPe8UyUApSQyFDMChj5HR6_hrEbn5tXtbHQE,608
11
11
  uipath/_cli/cli_init.py,sha256=qleaHOuXZyqQ001XXFX3m8W2y3pW-miwuvMBl6rHCa4,3699
12
12
  uipath/_cli/cli_invoke.py,sha256=YsVfN7COiE_huLPXqsMnUmno1-l2oAHgnMIWqHlR_oE,3670
13
13
  uipath/_cli/cli_new.py,sha256=6lLK_p7kRFQPgsc2i9t1v0Su4O1rC7zK55ic3y54QR8,2065
14
- uipath/_cli/cli_pack.py,sha256=FZr7P5WZvPkrP56fjn4dTONv76NuoEhVtQwzG3CxGQs,14667
14
+ uipath/_cli/cli_pack.py,sha256=-rUGw4vB50QpY-oNmVhIUXXmmFmk7_dhtafqZFBDyZg,14981
15
15
  uipath/_cli/cli_publish.py,sha256=ozastFqfKZVZIKZLvRTXJq0ZXm4p-ZEVgwc5MeccisI,5716
16
16
  uipath/_cli/cli_run.py,sha256=ke4UQiqzagv4ST60-mvcC7nh1dQMw_Z6GQ2hAbnspU0,5074
17
17
  uipath/_cli/middlewares.py,sha256=IiJgjsqrJVKSXx4RcIKHWoH-SqWqpHPbhzkQEybmAos,3937
@@ -41,12 +41,11 @@ uipath/_cli/_utils/_parse_ast.py,sha256=3XVjnhJNnSfjXlitct91VOtqSl0l-sqDpoWww28m
41
41
  uipath/_cli/_utils/_processes.py,sha256=b2CMYFEqMsAPeAFRfx9-8QftujdB28gXJ4sVTT4UVvw,1396
42
42
  uipath/_services/__init__.py,sha256=VPbwLDsvN26nWZgvR-8_-tc3i0rk5doqjTJbSrK0nN4,818
43
43
  uipath/_services/_base_service.py,sha256=3YClCoZBkVQGNJZGy-4NTk-HGsGA61XtwVQFYv9mwWk,7955
44
- uipath/_services/actions_service.py,sha256=PQ6HGEfX1vRBkFsjP2ykBRc9xOIf7wVKJC7Dkhka3HM,15623
44
+ uipath/_services/actions_service.py,sha256=DaWXbbLHVC-bVtxhMBm3Zfhx6IP8s9mviOTgK5g_CAQ,15883
45
45
  uipath/_services/api_client.py,sha256=1hYLc_90dQzCGnqqirEHpPqvL3Gkv2sSKoeOV_iTmlk,2903
46
46
  uipath/_services/assets_service.py,sha256=4TsHd_b3VQZlN195ecrCHbQcaNew0GWEk90SFhvNJTU,9352
47
47
  uipath/_services/buckets_service.py,sha256=m0HMWBkooUhjTtna_ZXcw4QOzKmaibuepWlC8wPGtlA,9330
48
- uipath/_services/connections_service.py,sha256=bE-t-YS_C67bcyEA9xNwKqv5b0dN7qh0McZdGETcEAQ,7338
49
- uipath/_services/connections_service.pyi,sha256=6OOnh0aCfxhETL8n_JZ6Xoe2BE3ST_7Vz-FgLZc53lM,2465
48
+ uipath/_services/connections_service.py,sha256=qh-HNL_GJsyPUD0wSJZRF8ZdrTE9l4HrIilmXGK6dDk,4581
50
49
  uipath/_services/context_grounding_service.py,sha256=eRBe5a3uubFCYVHwt6KWCYNW8MMjID5ri_uHefIt1KY,18573
51
50
  uipath/_services/folder_service.py,sha256=HtsBoBejvMuIZ-9gocAG9B8uKOFsAAD4WUozta-isXk,1673
52
51
  uipath/_services/jobs_service.py,sha256=MsJlu1egvHKZhHdammp4Xo9iJzceWquW4qIWT-nPBws,8214
@@ -79,8 +78,8 @@ uipath/tracing/__init__.py,sha256=GimSzv6qkCOlHOG1WtjYKJsZqcXpA28IgoXfR33JhiA,13
79
78
  uipath/tracing/_otel_exporters.py,sha256=x0PDPmDKJcxashsuehVsSsqBCzRr6WsNFaq_3_HS5F0,3014
80
79
  uipath/tracing/_traced.py,sha256=GFxOp73jk0vGTN_H7YZOOsEl9rVLaEhXGztMiYKIA-8,16634
81
80
  uipath/tracing/_utils.py,sha256=5SwsTGpHkIouXBndw-u8eCLnN4p7LM8DsTCCuf2jJgs,10165
82
- uipath-2.0.40.dist-info/METADATA,sha256=lzQ5m9oN0aWLZFLw5U_FLUTmKThpnDEySj6axOTky2A,6254
83
- uipath-2.0.40.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
84
- uipath-2.0.40.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
85
- uipath-2.0.40.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
86
- uipath-2.0.40.dist-info/RECORD,,
81
+ uipath-2.0.42.dist-info/METADATA,sha256=BTnrskEB-6qPerFybGAyjhUmU_TmScPe5-3VfqilP0o,6254
82
+ uipath-2.0.42.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
83
+ uipath-2.0.42.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
84
+ uipath-2.0.42.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
85
+ uipath-2.0.42.dist-info/RECORD,,
@@ -1,50 +0,0 @@
1
- # This file is generated by the build system. Do not edit it directly.
2
- from typing import TYPE_CHECKING, Any, Protocol, TypeVar
3
-
4
- from .._config import Config as Config
5
- from .._execution_context import ExecutionContext as ExecutionContext
6
- from .._utils import Endpoint as Endpoint
7
- from .._utils import RequestSpec as RequestSpec
8
- from .._utils.constants import ENTRYPOINT as ENTRYPOINT
9
- from ..models import Connection as Connection
10
- from ..models import ConnectionToken as ConnectionToken
11
- from ._base_service import BaseService as BaseService
12
-
13
- if TYPE_CHECKING:
14
- from uipath_connectors.atlassian_jira import AtlassianJira # type: ignore
15
- from uipath_connectors.box_box import BoxBox # type: ignore
16
- from uipath_connectors.google_drive import GoogleDrive # type: ignore
17
- from uipath_connectors.google_gmail import GoogleGmail # type: ignore
18
- from uipath_connectors.google_sheets import GoogleSheets # type: ignore
19
- from uipath_connectors.microsoft_github import MicrosoftGithub # type: ignore
20
- from uipath_connectors.microsoft_onedrive import MicrosoftOneDrive # type: ignore
21
- from uipath_connectors.oracle_netsuite import OracleNetsuite # type: ignore
22
- from uipath_connectors.salesforce_sfdc import SalesforceSfdc # type: ignore
23
- from uipath_connectors.salesforce_slack import SalesforceSlack # type: ignore
24
- from uipath_connectors.uipath_airdk import UipathAirdk # type: ignore
25
-
26
- T_co = TypeVar("T_co", covariant=True)
27
-
28
- class Connector(Protocol[T_co]):
29
- def __call__(self, *, client: Any, instance_id: str | int) -> T_co: ...
30
-
31
- class ConnectionsService(BaseService):
32
- def __init__(self, config: Config, execution_context: ExecutionContext) -> None: ...
33
- def __call__(self, connector: Connector[T_co], key: str) -> T_co: ...
34
- def __getattr__(self, name: str) -> Any: ...
35
- def retrieve(self, key: str) -> Connection: ...
36
- async def retrieve_async(self, key: str) -> Connection: ...
37
- def retrieve_token(self, key: str) -> ConnectionToken: ...
38
- async def retrieve_token_async(self, key: str) -> ConnectionToken: ...
39
-
40
- atlassian_jira: "AtlassianJira"
41
- box_box: "BoxBox"
42
- google_drive: "GoogleDrive"
43
- google_gmail: "GoogleGmail"
44
- google_sheets: "GoogleSheets"
45
- microsoft_github: "MicrosoftGithub"
46
- microsoft_onedrive: "MicrosoftOneDrive"
47
- oracle_netsuite: "OracleNetsuite"
48
- salesforce_sfdc: "SalesforceSfdc"
49
- salesforce_slack: "SalesforceSlack"
50
- uipath_airdk: "UipathAirdk"