uipath 2.1.80__py3-none-any.whl → 2.1.82__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.

@@ -1,22 +1,26 @@
1
- from typing import Optional, cast
1
+ from os import environ as env
2
+ from typing import Optional
2
3
  from urllib.parse import urlparse
3
4
 
4
5
  import httpx
6
+ from httpx import HTTPStatusError, Request
5
7
 
6
- from ..._utils._ssl_context import get_httpx_client_kwargs
7
- from .._utils._console import ConsoleLogger
8
- from ._models import TokenData
9
- from ._utils import parse_access_token, update_env_file
8
+ from .._utils._ssl_context import get_httpx_client_kwargs
9
+ from .._utils.constants import ENV_BASE_URL
10
+ from ..models.auth import TokenData
11
+ from ..models.exceptions import EnrichedException
10
12
 
11
- console = ConsoleLogger()
12
13
 
13
-
14
- class ClientCredentialsService:
14
+ class ExternalApplicationService:
15
15
  """Service for client credentials authentication flow."""
16
16
 
17
- def __init__(self, base_url: str):
18
- self._base_url = base_url
19
- self._domain = self._extract_domain_from_base_url(base_url)
17
+ def __init__(self, base_url: Optional[str]):
18
+ if not (resolved_base_url := (base_url or env.get(ENV_BASE_URL))):
19
+ raise ValueError(
20
+ "Base URL must be set either via constructor or the BASE_URL environment variable."
21
+ )
22
+ self._base_url = resolved_base_url
23
+ self._domain = self._extract_environment_from_base_url(self._base_url)
20
24
 
21
25
  def get_token_url(self) -> str:
22
26
  """Get the token URL for the specified domain."""
@@ -40,7 +44,7 @@ class ClientCredentialsService:
40
44
  """
41
45
  return hostname == domain or hostname.endswith(f".{domain}")
42
46
 
43
- def _extract_domain_from_base_url(self, base_url: str) -> str:
47
+ def _extract_environment_from_base_url(self, base_url: str) -> str:
44
48
  """Extract domain from base URL.
45
49
 
46
50
  Args:
@@ -70,9 +74,9 @@ class ClientCredentialsService:
70
74
  # Default to cloud if parsing fails
71
75
  return "cloud"
72
76
 
73
- def authenticate(
77
+ def get_token_data(
74
78
  self, client_id: str, client_secret: str, scope: Optional[str] = "OR.Execution"
75
- ) -> None:
79
+ ) -> TokenData:
76
80
  """Authenticate using client credentials flow.
77
81
 
78
82
  Args:
@@ -81,7 +85,7 @@ class ClientCredentialsService:
81
85
  scope: The scope for the token (default: OR.Execution)
82
86
 
83
87
  Returns:
84
- Token data if successful, None otherwise
88
+ Token data if successful
85
89
  """
86
90
  token_url = self.get_token_url()
87
91
 
@@ -97,49 +101,40 @@ class ClientCredentialsService:
97
101
  response = client.post(token_url, data=data)
98
102
  match response.status_code:
99
103
  case 200:
100
- token_data = response.json()
101
- token_data = cast(
102
- TokenData,
103
- {
104
- "access_token": token_data["access_token"],
105
- "token_type": token_data.get("token_type", "Bearer"),
106
- "expires_in": token_data.get("expires_in", 3600),
107
- "scope": token_data.get("scope", scope),
108
- "refresh_token": "",
109
- "id_token": "",
110
- },
111
- )
112
- self._setup_environment(token_data)
104
+ return TokenData.model_validate(response.json())
113
105
  case 400:
114
- console.error(
115
- "Invalid client credentials or request parameters."
106
+ raise EnrichedException(
107
+ HTTPStatusError(
108
+ message="Invalid client credentials or request parameters.",
109
+ request=Request(
110
+ data=data, url=token_url, method="post"
111
+ ),
112
+ response=response,
113
+ )
116
114
  )
117
115
  case 401:
118
- console.error("Unauthorized: Invalid client credentials.")
116
+ raise EnrichedException(
117
+ HTTPStatusError(
118
+ message="Unauthorized: Invalid client credentials.",
119
+ request=Request(
120
+ data=data, url=token_url, method="post"
121
+ ),
122
+ response=response,
123
+ )
124
+ )
119
125
  case _:
120
- console.error(
121
- f"Authentication failed: {response.status_code} - {response.text}"
126
+ raise EnrichedException(
127
+ HTTPStatusError(
128
+ message=f"Authentication failed with unexpected status: {response.status_code}",
129
+ request=Request(
130
+ data=data, url=token_url, method="post"
131
+ ),
132
+ response=response,
133
+ )
122
134
  )
123
-
135
+ except EnrichedException:
136
+ raise
124
137
  except httpx.RequestError as e:
125
- console.error(f"Network error during authentication: {e}")
138
+ raise Exception(f"Network error during authentication: {e}") from e
126
139
  except Exception as e:
127
- console.error(f"Unexpected error during authentication: {e}")
128
-
129
- def _setup_environment(self, token_data: TokenData):
130
- """Setup environment variables for client credentials authentication.
131
-
132
- Args:
133
- token_data: The token data from authentication
134
- base_url: The base URL for the UiPath instance
135
- """
136
- parsed_access_token = parse_access_token(token_data["access_token"])
137
-
138
- env_vars = {
139
- "UIPATH_ACCESS_TOKEN": token_data["access_token"],
140
- "UIPATH_URL": self._base_url,
141
- "UIPATH_ORGANIZATION_ID": parsed_access_token.get("prt_id", ""),
142
- "UIPATH_TENANT_ID": "",
143
- }
144
-
145
- update_env_file(env_vars)
140
+ raise Exception(f"Unexpected error during authentication: {e}") from e
uipath/_uipath.py CHANGED
@@ -1,4 +1,3 @@
1
- from os import environ as env
2
1
  from typing import Optional
3
2
 
4
3
  from pydantic import ValidationError
@@ -23,11 +22,7 @@ from ._services import (
23
22
  UiPathOpenAIService,
24
23
  )
25
24
  from ._utils import setup_logging
26
- from ._utils.constants import (
27
- ENV_BASE_URL,
28
- ENV_UIPATH_ACCESS_TOKEN,
29
- ENV_UNATTENDED_USER_ACCESS_TOKEN,
30
- )
25
+ from ._utils._auth import resolve_config
31
26
  from .models.errors import BaseUrlMissingError, SecretMissingError
32
27
 
33
28
 
@@ -37,19 +32,18 @@ class UiPath:
37
32
  *,
38
33
  base_url: Optional[str] = None,
39
34
  secret: Optional[str] = None,
35
+ client_id: Optional[str] = None,
36
+ client_secret: Optional[str] = None,
37
+ scope: Optional[str] = None,
40
38
  debug: bool = False,
41
39
  ) -> None:
42
- base_url_value = base_url or env.get(ENV_BASE_URL)
43
- secret_value = (
44
- secret
45
- or env.get(ENV_UNATTENDED_USER_ACCESS_TOKEN)
46
- or env.get(ENV_UIPATH_ACCESS_TOKEN)
47
- )
48
-
49
40
  try:
41
+ base_url, secret = resolve_config(
42
+ base_url, secret, client_id, client_secret, scope
43
+ )
50
44
  self._config = Config(
51
- base_url=base_url_value, # type: ignore
52
- secret=secret_value, # type: ignore
45
+ base_url=base_url,
46
+ secret=secret,
53
47
  )
54
48
  except ValidationError as e:
55
49
  for error in e.errors():
uipath/_utils/_auth.py ADDED
@@ -0,0 +1,82 @@
1
+ import base64
2
+ import json
3
+ from os import environ as env
4
+ from pathlib import Path
5
+ from typing import Optional
6
+
7
+ from .._services import ExternalApplicationService
8
+ from .constants import (
9
+ ENV_BASE_URL,
10
+ ENV_UIPATH_ACCESS_TOKEN,
11
+ ENV_UNATTENDED_USER_ACCESS_TOKEN,
12
+ )
13
+
14
+
15
+ def parse_access_token(access_token: str):
16
+ token_parts = access_token.split(".")
17
+ if len(token_parts) < 2:
18
+ raise Exception("Invalid access token")
19
+ payload = base64.urlsafe_b64decode(
20
+ token_parts[1] + "=" * (-len(token_parts[1]) % 4)
21
+ )
22
+ return json.loads(payload)
23
+
24
+
25
+ def update_env_file(env_contents):
26
+ env_path = Path.cwd() / ".env"
27
+ if env_path.exists():
28
+ with open(env_path, "r") as f:
29
+ for line in f:
30
+ if "=" in line:
31
+ key, value = line.strip().split("=", 1)
32
+ if key not in env_contents:
33
+ env_contents[key] = value
34
+ lines = [f"{key}={value}\n" for key, value in env_contents.items()]
35
+ with open(env_path, "w") as f:
36
+ f.writelines(lines)
37
+
38
+
39
+ def _has_valid_client_credentials(
40
+ client_id: Optional[str], client_secret: Optional[str]
41
+ ) -> bool:
42
+ if bool(client_id) != bool(client_secret):
43
+ raise ValueError(
44
+ "Both client_id and client_secret must be provided together for Client Credentials Authentication."
45
+ )
46
+ return bool(client_id and client_secret)
47
+
48
+
49
+ def resolve_config(
50
+ base_url: Optional[str],
51
+ secret: Optional[str],
52
+ client_id: Optional[str],
53
+ client_secret: Optional[str],
54
+ scope: Optional[str],
55
+ ):
56
+ if _has_valid_client_credentials(client_id, client_secret):
57
+ external_app_service = ExternalApplicationService(base_url)
58
+ token_data = external_app_service.get_token_data(
59
+ client_id, # type: ignore
60
+ client_secret, # type: ignore
61
+ scope,
62
+ )
63
+ parsed_access_token = parse_access_token(token_data.access_token)
64
+
65
+ env_vars = {
66
+ "UIPATH_ACCESS_TOKEN": token_data.access_token,
67
+ "UIPATH_URL": external_app_service._base_url,
68
+ "UIPATH_ORGANIZATION_ID": parsed_access_token.get("prt_id", ""),
69
+ }
70
+
71
+ update_env_file(env_vars)
72
+ return external_app_service._base_url, token_data.access_token
73
+
74
+ base_url_value = base_url or env.get(ENV_BASE_URL)
75
+
76
+ secret_value = (
77
+ secret
78
+ or env.get(ENV_UNATTENDED_USER_ACCESS_TOKEN)
79
+ or env.get(ENV_UIPATH_ACCESS_TOKEN)
80
+ )
81
+
82
+ return base_url_value, secret_value
uipath/models/auth.py ADDED
@@ -0,0 +1,14 @@
1
+ from typing import Optional
2
+
3
+ from pydantic import BaseModel
4
+
5
+
6
+ class TokenData(BaseModel):
7
+ """Pydantic model for token data structure."""
8
+
9
+ access_token: str
10
+ refresh_token: Optional[str] = None
11
+ expires_in: Optional[int] = None
12
+ token_type: Optional[str] = None
13
+ scope: Optional[str] = None
14
+ id_token: Optional[str] = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uipath
3
- Version: 2.1.80
3
+ Version: 2.1.82
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
@@ -2,11 +2,11 @@ uipath/__init__.py,sha256=IaeKItOOQXMa95avueJ3dAq-XcRHyZVNjcCGwlSB000,634
2
2
  uipath/_config.py,sha256=pi3qxPzDTxMEstj_XkGOgKJqD6RTHHv7vYv8sS_-d5Q,92
3
3
  uipath/_execution_context.py,sha256=Qo8VMUFgtiL-40KsZrvul5bGv1CRERle_fCw1ORCggY,2374
4
4
  uipath/_folder_context.py,sha256=D-bgxdwpwJP4b_QdVKcPODYh15kMDrOar2xNonmMSm4,1861
5
- uipath/_uipath.py,sha256=xvBwczfjrvrB96ZK7wo0IgDcPDQWuEqu4dioH9CKd4k,5021
5
+ uipath/_uipath.py,sha256=mhtdu36-A-2WhPGNFFrTmQWbE07Bn4IV_Vrqgf6kuVM,4900
6
6
  uipath/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  uipath/_cli/README.md,sha256=GLtCfbeIKZKNnGTCsfSVqRQ27V1btT1i2bSAyW_xZl4,474
8
8
  uipath/_cli/__init__.py,sha256=2RUgXYd8uJaYjA67xWb0w4IZuBmZoY8G1ccNmEQk9oM,2343
9
- uipath/_cli/cli_auth.py,sha256=ZEA0Fwoo77Ez9ctpRAIq7sbAwj8F4OouAbMp1g1OvjM,2601
9
+ uipath/_cli/cli_auth.py,sha256=CzetSRqSUvMs02PtI4w5Vi_0fv_ETA307bB2vXalWzY,2628
10
10
  uipath/_cli/cli_deploy.py,sha256=KPCmQ0c_NYD5JofSDao5r6QYxHshVCRxlWDVnQvlp5w,645
11
11
  uipath/_cli/cli_dev.py,sha256=nEfpjw1PZ72O6jmufYWVrueVwihFxDPOeJakdvNHdOA,2146
12
12
  uipath/_cli/cli_eval.py,sha256=oOMywGSUrHDQ1W_54ccbekzCeduPf-KHRyu_r0Dezd0,5444
@@ -20,14 +20,13 @@ uipath/_cli/cli_push.py,sha256=-j-gDIbT8GyU2SybLQqFl5L8KI9nu3CDijVtltDgX20,3132
20
20
  uipath/_cli/cli_run.py,sha256=1FKv20EjxrrP1I5rNSnL_HzbWtOAIMjB3M--4RPA_Yo,3709
21
21
  uipath/_cli/middlewares.py,sha256=0D9a-wphyetnH9T97F08o7-1OKWF1lMweFHHAR0xiOw,4979
22
22
  uipath/_cli/spinner.py,sha256=bS-U_HA5yne11ejUERu7CQoXmWdabUD2bm62EfEdV8M,1107
23
- uipath/_cli/_auth/_auth_server.py,sha256=22km0F1NFNXgyLbvtAx3ssiQlVGHroLdtDCWEqiCiMg,7106
24
- uipath/_cli/_auth/_auth_service.py,sha256=Thtp2wXZQAHqossPPXuP6sAEe4Px9xThhZutMECRrdU,6386
25
- uipath/_cli/_auth/_client_credentials.py,sha256=VIyzgnGHSZxJXG8kSFIcCH0n2K2zep2SYcb5q1nBFcs,5408
26
- uipath/_cli/_auth/_models.py,sha256=sYMCfvmprIqnZxStlD_Dxx2bcxgn0Ri4D7uwemwkcNg,948
27
- uipath/_cli/_auth/_oidc_utils.py,sha256=j9VCXai_dM9PF1WtoWEsXETvrWUjuTgU-dCJ3oRudyg,2394
28
- uipath/_cli/_auth/_portal_service.py,sha256=vP82BhjA2D6E6y2wDcXqO1cM4thhPl6DeGsnNXCBdhA,9144
29
- uipath/_cli/_auth/_url_utils.py,sha256=Vr-eYbwW_ltmwkULNEAbn6LNsMHnT4uT1n_1zlqD4Ss,1503
30
- uipath/_cli/_auth/_utils.py,sha256=9nb76xe5XmDZ0TAncp-_1SKqL6FdwRi9eS3C2noN1lY,1591
23
+ uipath/_cli/_auth/_auth_server.py,sha256=v_b8KNwn0tAv8jxpeKdllOVzl31q9AcdwpE_koAK_w4,7235
24
+ uipath/_cli/_auth/_auth_service.py,sha256=gyOtaHnDmjYccW0R1HVmFgV69a7w53Dx1Mq-PM0uVag,5405
25
+ uipath/_cli/_auth/_models.py,sha256=kWhqd5FqBo_oi3DW2x1IaJHsEloXq0I24f-pX5zb_O4,753
26
+ uipath/_cli/_auth/_oidc_utils.py,sha256=qGpognkz-Ks-8pt-QabSNTix5HE06lQpY3WZxptoJUE,3394
27
+ uipath/_cli/_auth/_portal_service.py,sha256=sq3Ls7v8Q1gQWbYlE37_p82gLYPhC_cXJRTuIxMsCPU,7997
28
+ uipath/_cli/_auth/_url_utils.py,sha256=MuMYesMQDgetLBzkwd19dPxw3fctys7EVpByDUQMyLE,2844
29
+ uipath/_cli/_auth/_utils.py,sha256=To4Ara_UF4g7nzUfKqFA11lTjhQWIZWNm4xwa5nNKmU,896
31
30
  uipath/_cli/_auth/auth_config.json,sha256=o8J5BBFwiEtjZLHpJ_64lvnTeYeRIHaJ-Bhg0QvcUX8,521
32
31
  uipath/_cli/_auth/index.html,sha256=uGK0CDTP8Rys_p4O_Pbd2x4tz0frKNVcumjrXnal5Nc,22814
33
32
  uipath/_cli/_auth/localhost.crt,sha256=oGl9oLLOiouHubAt39B4zEfylFvKEtbtr_43SIliXJc,1226
@@ -73,7 +72,7 @@ uipath/_cli/_templates/.rels.template,sha256=-fTcw7OA1AcymHr0LzBqbMAAtzZTRXLTNa_
73
72
  uipath/_cli/_templates/[Content_Types].xml.template,sha256=bYsKDz31PkIF9QksjgAY_bqm57YC8U_owsZeNZAiBxQ,584
74
73
  uipath/_cli/_templates/main.py.template,sha256=QB62qX5HKDbW4lFskxj7h9uuxBITnTWqu_DE6asCwcU,476
75
74
  uipath/_cli/_templates/package.nuspec.template,sha256=YZyLc-u_EsmIoKf42JsLQ55OGeFmb8VkIU2VF7DFbtw,359
76
- uipath/_cli/_utils/_common.py,sha256=CzhhkIRfCuQ1-5HLDtjzOyt8KFs1jm6wzrBeU_v2B7c,3329
75
+ uipath/_cli/_utils/_common.py,sha256=bYgqIdlxxlB_4s8BlZsfGbSdbfm93MFtOj5ydptbkPI,3344
77
76
  uipath/_cli/_utils/_console.py,sha256=scvnrrFoFX6CE451K-PXKV7UN0DUkInbOtDZ5jAdPP0,10070
78
77
  uipath/_cli/_utils/_constants.py,sha256=rS8lQ5Nzull8ytajK6lBsz398qiCp1REoAwlHtyBwF0,1415
79
78
  uipath/_cli/_utils/_debug.py,sha256=zamzIR4VgbdKADAE4gbmjxDsbgF7wvdr7C5Dqp744Oc,1739
@@ -90,7 +89,7 @@ uipath/_events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
89
  uipath/_events/_event_bus.py,sha256=4-VzstyX69cr7wT1EY7ywp-Ndyz2CyemD3Wk_-QmRpo,5496
91
90
  uipath/_events/_events.py,sha256=EzDfzpVm-EIH27Onad5mo8Go6-WB3S6_-6zZQ7qV58w,1811
92
91
  uipath/_resources/AGENTS.md,sha256=YWhWuX9XIbyVhVT3PnPc4Of3_q6bsNJcuzYu3N8f_Ug,25850
93
- uipath/_services/__init__.py,sha256=eYZElMfYDQTQU6MMjIke5J-GGT9pzLD5QfbwLiTQkEE,1037
92
+ uipath/_services/__init__.py,sha256=_LNy4u--VlhVtTO66bULbCoBjyJBTuyh9jnzjWrv-h4,1140
94
93
  uipath/_services/_base_service.py,sha256=x9-9jhPzn9Z16KRdFHhJNvV-FZHvTniMsDfxlS4Cutk,5782
95
94
  uipath/_services/actions_service.py,sha256=2RPMR-hFMsOlqEyjIf3aF7-lrf57jdrSD0pBjj0Kyko,16040
96
95
  uipath/_services/api_client.py,sha256=kGm04ijk9AOEQd2BMxvQg-2QoB8dmyoDwFFDPyutAGw,1966
@@ -101,12 +100,14 @@ uipath/_services/connections_service.py,sha256=IqhKdRYwNZlRsDL2vY7gyl5nAiYaK1zvj
101
100
  uipath/_services/context_grounding_service.py,sha256=Pjx-QQQEiSKD-hY6ityj3QUSALN3fIcKLLHr_NZ0d_g,37117
102
101
  uipath/_services/documents_service.py,sha256=UnFS8EpOZ_Ng2TZk3OiJJ3iNANvFs7QxuoG_v-lQj6c,24815
103
102
  uipath/_services/entities_service.py,sha256=QKCLE6wRgq3HZraF-M2mljy-8il4vsNHrQhUgkewVVk,14028
103
+ uipath/_services/external_application_service.py,sha256=gZhnGgLn7ZYUZzZF7AumB14QEPanVY-D_02FqEcAFtw,5478
104
104
  uipath/_services/folder_service.py,sha256=9JqgjKhWD-G_KUnfUTP2BADxL6OK9QNZsBsWZHAULdE,2749
105
105
  uipath/_services/jobs_service.py,sha256=tTZNsdZKN3uP7bWPQyBCpJeQxTfuOWbKYOR4L-_yJo4,32736
106
106
  uipath/_services/llm_gateway_service.py,sha256=oFBKSYbZqujGHDuM3A72S3J7mHn9kWjNTgcE3U0c24Y,24411
107
107
  uipath/_services/processes_service.py,sha256=O_uHgQ1rnwiV5quG0OQqabAnE6Rf6cWrMENYY2jKWt8,8585
108
108
  uipath/_services/queues_service.py,sha256=VaG3dWL2QK6AJBOLoW2NQTpkPfZjsqsYPl9-kfXPFzA,13534
109
109
  uipath/_utils/__init__.py,sha256=VdcpnENJIa0R6Y26NoxY64-wUVyvb4pKfTh1wXDQeMk,526
110
+ uipath/_utils/_auth.py,sha256=5R30ALuRrIatf_0Lk-AETJvt6ora7h0R7yeDdliW1Lg,2524
110
111
  uipath/_utils/_endpoint.py,sha256=yYHwqbQuJIevpaTkdfYJS9CrtlFeEyfb5JQK5osTCog,2489
111
112
  uipath/_utils/_infer_bindings.py,sha256=eCxfUjd37fOFZ6vOfKl2BhWVUt7iSSJ-VQ0-nDTBcaA,1836
112
113
  uipath/_utils/_logs.py,sha256=adfX_0UAn3YBeKJ8DQDeZs94rJyHGQO00uDfkaTpNWQ,510
@@ -147,6 +148,7 @@ uipath/models/action_schema.py,sha256=tBn1qQ3NQLU5nwWlBIzIKIx3XK5pO_D1S51IjFlZ1F
147
148
  uipath/models/actions.py,sha256=1vRsJ3JSmMdPkbiYAiHzY8K44vmW3VlMsmQUBAkSgrQ,3141
148
149
  uipath/models/assets.py,sha256=7x3swJRnG_a4VgjdXKKwraJLT5TF0u4wHsl6coOjX0g,2762
149
150
  uipath/models/attachment.py,sha256=lI6BxBY6DY5U6qZbxhkNu-usseA1zovYSTRtLq50ubI,1029
151
+ uipath/models/auth.py,sha256=-CEo5KZVtZZgbAMatN6B1vBmGp8lTTumR8sMthRmL8I,345
150
152
  uipath/models/buckets.py,sha256=N3Lj_dVCv709-ywhOOdyCSvsuLn41eGuAfSiik6Q6F8,1285
151
153
  uipath/models/connections.py,sha256=bTDg8xISSPmKB1GFNEEMD1OEZyBDFHfZVKqw4gab1pE,2524
152
154
  uipath/models/context_grounding.py,sha256=3MaF2Fv2QYle8UUWvKGkCN5XGpx2T4a34fdbBqJ2fCs,1137
@@ -169,8 +171,8 @@ uipath/tracing/_traced.py,sha256=yBIY05PCCrYyx50EIHZnwJaKNdHPNx-YTR1sHQl0a98,199
169
171
  uipath/tracing/_utils.py,sha256=qd7N56tg6VXQ9pREh61esBgUWLNA0ssKsE0QlwrRWFM,11974
170
172
  uipath/utils/__init__.py,sha256=VD-KXFpF_oWexFg6zyiWMkxl2HM4hYJMIUDZ1UEtGx0,105
171
173
  uipath/utils/_endpoints_manager.py,sha256=iRTl5Q0XAm_YgcnMcJOXtj-8052sr6jpWuPNz6CgT0Q,8408
172
- uipath-2.1.80.dist-info/METADATA,sha256=AMUh4rPIDQJzkepk6v3LaIpzwfyFraEhCYdN_0Z96YI,6593
173
- uipath-2.1.80.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
174
- uipath-2.1.80.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
175
- uipath-2.1.80.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
176
- uipath-2.1.80.dist-info/RECORD,,
174
+ uipath-2.1.82.dist-info/METADATA,sha256=4J6rxjh8jzOkT_XofHHFqQ1k9uPLVk7nyQTkbxwD6K8,6593
175
+ uipath-2.1.82.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
176
+ uipath-2.1.82.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
177
+ uipath-2.1.82.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
178
+ uipath-2.1.82.dist-info/RECORD,,