uipath 2.0.81__py3-none-any.whl → 2.0.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "client_id": "36dea5b8-e8bb-423d-8e7b-c808df8f1c00",
3
3
  "redirect_uri": "http://localhost:__PY_REPLACE_PORT__/oidc/login",
4
- "scope": "offline_access OrchestratorApiUserAccess IdentityServerApi ConnectionService DataService DocumentUnderstanding EnterpriseContextService Directory JamJamApi LLMGateway LLMOps OMS RCS.FolderAuthorization",
4
+ "scope": "offline_access OrchestratorApiUserAccess IdentityServerApi ConnectionService DataService DocumentUnderstanding EnterpriseContextService Directory JamJamApi LLMGateway LLMOps OMS RCS.FolderAuthorization TM.Projects TM.TestCases TM.Requirements TM.TestSets",
5
5
  "port": 8104
6
- }
6
+ }
@@ -1,3 +1,21 @@
1
+ """UiPath LLM Gateway Services.
2
+
3
+ This module provides services for interacting with UiPath's LLM (Large Language Model) Gateway,
4
+ offering both OpenAI-compatible and normalized API interfaces for chat completions and embeddings.
5
+
6
+ The module includes:
7
+ - UiPathOpenAIService: OpenAI-compatible API for chat completions and embeddings
8
+ - UiPathLlmChatService: UiPath's normalized API with advanced features like tool calling
9
+ - ChatModels: Constants for available chat models
10
+ - EmbeddingModels: Constants for available embedding models
11
+
12
+ Classes:
13
+ ChatModels: Container for supported chat model identifiers
14
+ EmbeddingModels: Container for supported embedding model identifiers
15
+ UiPathOpenAIService: Service using OpenAI-compatible API format
16
+ UiPathLlmChatService: Service using UiPath's normalized API format
17
+ """
18
+
1
19
  import json
2
20
  from typing import Any, Dict, List, Optional
3
21
 
@@ -16,10 +34,12 @@ from ..utils import EndpointManager
16
34
  from ._base_service import BaseService
17
35
 
18
36
  # Common constants
19
- API_VERSION = "2024-10-21"
20
- NORMALIZED_API_VERSION = "2024-08-01-preview"
37
+ API_VERSION = "2024-10-21" # Standard API version for OpenAI-compatible endpoints
38
+ NORMALIZED_API_VERSION = (
39
+ "2024-08-01-preview" # API version for UiPath's normalized endpoints
40
+ )
21
41
 
22
- # Common headers
42
+ # Common headers used across all LLM Gateway requests
23
43
  DEFAULT_LLM_HEADERS = {
24
44
  "X-UIPATH-STREAMING-ENABLED": "false",
25
45
  "X-UiPath-LlmGateway-RequestingProduct": "uipath-python-sdk",
@@ -28,6 +48,12 @@ DEFAULT_LLM_HEADERS = {
28
48
 
29
49
 
30
50
  class ChatModels(object):
51
+ """Available chat models for LLM Gateway services.
52
+
53
+ This class provides constants for the supported chat models that can be used
54
+ with both UiPathOpenAIService and UiPathLlmChatService.
55
+ """
56
+
31
57
  gpt_4 = "gpt-4"
32
58
  gpt_4_1106_Preview = "gpt-4-1106-Preview"
33
59
  gpt_4_32k = "gpt-4-32k"
@@ -40,16 +66,23 @@ class ChatModels(object):
40
66
 
41
67
 
42
68
  class EmbeddingModels(object):
43
- text_embedding_3_large = "text-embedding-3-large"
44
- text_embedding_ada_002 = "text-embedding-ada-002"
69
+ """Available embedding models for LLM Gateway services.
45
70
 
71
+ This class provides constants for the supported embedding models that can be used
72
+ with the embeddings functionality.
73
+ """
46
74
 
47
- API_VERSION = "2024-10-21"
48
- NORMALIZED_API_VERSION = "2024-08-01-preview"
75
+ text_embedding_3_large = "text-embedding-3-large"
76
+ text_embedding_ada_002 = "text-embedding-ada-002"
49
77
 
50
78
 
51
79
  class UiPathOpenAIService(BaseService):
52
- """Service calling llm gateway service."""
80
+ """Service for calling UiPath's LLM Gateway using OpenAI-compatible API.
81
+
82
+ This service provides access to Large Language Model capabilities through UiPath's
83
+ LLM Gateway, including chat completions and text embeddings. It uses the OpenAI-compatible
84
+ API format and is suitable for applications that need direct OpenAI API compatibility.
85
+ """
53
86
 
54
87
  def __init__(self, config: Config, execution_context: ExecutionContext) -> None:
55
88
  super().__init__(config=config, execution_context=execution_context)
@@ -61,13 +94,35 @@ class UiPathOpenAIService(BaseService):
61
94
  embedding_model: str = EmbeddingModels.text_embedding_ada_002,
62
95
  openai_api_version: str = API_VERSION,
63
96
  ):
64
- """Embed the input text using llm gateway service.
97
+ """Generate text embeddings using UiPath's LLM Gateway service.
98
+
99
+ This method converts input text into dense vector representations that can be used
100
+ for semantic search, similarity calculations, and other NLP tasks.
65
101
 
66
102
  Args:
67
- input (str): The input text to embed.
103
+ input (str): The input text to embed. Can be a single sentence, paragraph,
104
+ or document that you want to convert to embeddings.
105
+ embedding_model (str, optional): The embedding model to use.
106
+ Defaults to EmbeddingModels.text_embedding_ada_002.
107
+ Available models are defined in the EmbeddingModels class.
108
+ openai_api_version (str, optional): The OpenAI API version to use.
109
+ Defaults to API_VERSION.
68
110
 
69
111
  Returns:
70
- TextEmbedding: The embedding response.
112
+ TextEmbedding: The embedding response containing the vector representation
113
+ of the input text along with metadata.
114
+
115
+ Examples:
116
+ ```python
117
+ # Basic embedding
118
+ embedding = await service.embeddings("Hello, world!")
119
+
120
+ # Using a specific model
121
+ embedding = await service.embeddings(
122
+ "This is a longer text to embed",
123
+ embedding_model=EmbeddingModels.text_embedding_3_large
124
+ )
125
+ ```
71
126
  """
72
127
  endpoint = EndpointManager.get_embeddings_endpoint().format(
73
128
  model=embedding_model, api_version=openai_api_version
@@ -93,29 +148,57 @@ class UiPathOpenAIService(BaseService):
93
148
  temperature: float = 0,
94
149
  api_version: str = API_VERSION,
95
150
  ):
96
- """Get chat completions using llm gateway service.
151
+ """Generate chat completions using UiPath's LLM Gateway service.
152
+
153
+ This method provides conversational AI capabilities by sending a series of messages
154
+ to a language model and receiving a generated response. It supports multi-turn
155
+ conversations and various OpenAI-compatible models.
97
156
 
98
157
  Args:
99
158
  messages (List[Dict[str, str]]): List of message dictionaries with 'role' and 'content' keys.
100
- The supported roles are 'system', 'user', and 'assistant'.
101
-
102
- Example:
103
- ```
104
- [
105
- {"role": "system", "content": "You are a helpful Python programming assistant."},
106
- {"role": "user", "content": "How do I read a file in Python?"},
107
- {"role": "assistant", "content": "You can use the built-in open() function."},
108
- {"role": "user", "content": "Can you show an example?"}
109
- ]
110
- ```
111
- The conversation history can be included to provide context to the model.
112
- model (str, optional): The model to use for chat completion. Defaults to ChatModels.gpt_4o_mini_2024_07_18.
113
- max_tokens (int, optional): Maximum number of tokens to generate. Defaults to 50.
159
+ The supported roles are 'system', 'user', and 'assistant'. System messages set
160
+ the behavior/context, user messages are from the human, and assistant messages
161
+ are from the AI.
162
+ model (str, optional): The model to use for chat completion.
163
+ Defaults to ChatModels.gpt_4o_mini_2024_07_18.
164
+ Available models are defined in the ChatModels class.
165
+ max_tokens (int, optional): Maximum number of tokens to generate in the response.
166
+ Defaults to 50. Higher values allow longer responses.
114
167
  temperature (float, optional): Temperature for sampling, between 0 and 1.
115
- Lower values make output more deterministic. Defaults to 0.
168
+ Lower values (closer to 0) make output more deterministic and focused,
169
+ higher values make it more creative and random. Defaults to 0.
170
+ api_version (str, optional): The API version to use. Defaults to API_VERSION.
116
171
 
117
172
  Returns:
118
- ChatCompletion: The chat completion response.
173
+ ChatCompletion: The chat completion response containing the generated message,
174
+ usage statistics, and other metadata.
175
+
176
+ Examples:
177
+ ```python
178
+ # Simple conversation
179
+ messages = [
180
+ {"role": "system", "content": "You are a helpful Python programming assistant."},
181
+ {"role": "user", "content": "How do I read a file in Python?"}
182
+ ]
183
+ response = await service.chat_completions(messages)
184
+
185
+ # Multi-turn conversation with more tokens
186
+ messages = [
187
+ {"role": "system", "content": "You are a helpful assistant."},
188
+ {"role": "user", "content": "What is machine learning?"},
189
+ {"role": "assistant", "content": "Machine learning is a subset of AI..."},
190
+ {"role": "user", "content": "Can you give me a practical example?"}
191
+ ]
192
+ response = await service.chat_completions(
193
+ messages,
194
+ max_tokens=200,
195
+ temperature=0.3
196
+ )
197
+ ```
198
+
199
+ Note:
200
+ The conversation history can be included to provide context to the model.
201
+ Each message should have both 'role' and 'content' keys.
119
202
  """
120
203
  endpoint = EndpointManager.get_passthrough_endpoint().format(
121
204
  model=model, api_version=api_version
@@ -140,7 +223,16 @@ class UiPathOpenAIService(BaseService):
140
223
 
141
224
 
142
225
  class UiPathLlmChatService(BaseService):
143
- """Service for calling UiPath's normalized LLM Gateway API."""
226
+ """Service for calling UiPath's normalized LLM Gateway API.
227
+
228
+ This service provides access to Large Language Model capabilities through UiPath's
229
+ normalized LLM Gateway API. Unlike the OpenAI-compatible service, this service uses
230
+ UiPath's standardized API format and supports advanced features like tool calling,
231
+ function calling, and more sophisticated conversation control.
232
+
233
+ The normalized API provides a consistent interface across different underlying model
234
+ providers and includes enhanced features for enterprise use cases.
235
+ """
144
236
 
145
237
  def __init__(self, config: Config, execution_context: ExecutionContext) -> None:
146
238
  super().__init__(config=config, execution_context=execution_context)
@@ -160,25 +252,96 @@ class UiPathLlmChatService(BaseService):
160
252
  tool_choice: Optional[ToolChoice] = None,
161
253
  api_version: str = NORMALIZED_API_VERSION,
162
254
  ):
163
- """Get chat completions using UiPath's normalized LLM Gateway API.
255
+ """Generate chat completions using UiPath's normalized LLM Gateway API.
256
+
257
+ This method provides advanced conversational AI capabilities with support for
258
+ tool calling, function calling, and sophisticated conversation control parameters.
259
+ It uses UiPath's normalized API format for consistent behavior across different
260
+ model providers.
164
261
 
165
262
  Args:
166
263
  messages (List[Dict[str, str]]): List of message dictionaries with 'role' and 'content' keys.
167
- The supported roles are 'system', 'user', and 'assistant'.
168
- model (str, optional): The model to use for chat completion. Defaults to ChatModels.gpt_4o_mini_2024_07_18.
169
- max_tokens (int, optional): Maximum number of tokens to generate. Defaults to 250.
264
+ The supported roles are 'system', 'user', and 'assistant'. System messages set
265
+ the behavior/context, user messages are from the human, and assistant messages
266
+ are from the AI.
267
+ model (str, optional): The model to use for chat completion.
268
+ Defaults to ChatModels.gpt_4o_mini_2024_07_18.
269
+ Available models are defined in the ChatModels class.
270
+ max_tokens (int, optional): Maximum number of tokens to generate in the response.
271
+ Defaults to 250. Higher values allow longer responses.
170
272
  temperature (float, optional): Temperature for sampling, between 0 and 1.
171
- Lower values make output more deterministic. Defaults to 0.
172
- n (int, optional): Number of chat completion choices to generate. Defaults to 1.
173
- frequency_penalty (float, optional): Penalty for token frequency. Defaults to 0.
174
- presence_penalty (float, optional): Penalty for token presence. Defaults to 0.
175
- top_p (float, optional): Nucleus sampling parameter. Defaults to 1.
176
- tools (Optional[List[ToolDefinition]], optional): List of tool definitions. Defaults to None.
177
- tool_choice (Optional[ToolChoice], optional): Tool choice configuration.
178
- Can be "auto", "none", an AutoToolChoice, a RequiredToolChoice, or a SpecificToolChoice. Defaults to None.
273
+ Lower values (closer to 0) make output more deterministic and focused,
274
+ higher values make it more creative and random. Defaults to 0.
275
+ n (int, optional): Number of chat completion choices to generate for each input.
276
+ Defaults to 1. Higher values generate multiple alternative responses.
277
+ frequency_penalty (float, optional): Penalty for token frequency between -2.0 and 2.0.
278
+ Positive values reduce repetition of frequent tokens. Defaults to 0.
279
+ presence_penalty (float, optional): Penalty for token presence between -2.0 and 2.0.
280
+ Positive values encourage discussion of new topics. Defaults to 0.
281
+ top_p (float, optional): Nucleus sampling parameter between 0 and 1.
282
+ Controls diversity by considering only the top p probability mass. Defaults to 1.
283
+ tools (Optional[List[ToolDefinition]], optional): List of tool definitions that the
284
+ model can call. Tools enable the model to perform actions or retrieve information
285
+ beyond text generation. Defaults to None.
286
+ tool_choice (Optional[ToolChoice], optional): Controls which tools the model can call.
287
+ Can be "auto" (model decides), "none" (no tools), or a specific tool choice.
288
+ Defaults to None.
289
+ api_version (str, optional): The normalized API version to use.
290
+ Defaults to NORMALIZED_API_VERSION.
179
291
 
180
292
  Returns:
181
- ChatCompletion: The chat completion response.
293
+ ChatCompletion: The chat completion response containing the generated message(s),
294
+ tool calls (if any), usage statistics, and other metadata.
295
+
296
+ Examples:
297
+ ```python
298
+ # Basic conversation
299
+ messages = [
300
+ {"role": "system", "content": "You are a helpful assistant."},
301
+ {"role": "user", "content": "What is the weather like today?"}
302
+ ]
303
+ response = await service.chat_completions(messages)
304
+
305
+ # Conversation with tool calling
306
+ tools = [
307
+ ToolDefinition(
308
+ function=FunctionDefinition(
309
+ name="get_weather",
310
+ description="Get current weather for a location",
311
+ parameters=ParametersDefinition(
312
+ type="object",
313
+ properties={
314
+ "location": PropertyDefinition(
315
+ type="string",
316
+ description="City name"
317
+ )
318
+ },
319
+ required=["location"]
320
+ )
321
+ )
322
+ )
323
+ ]
324
+ response = await service.chat_completions(
325
+ messages,
326
+ tools=tools,
327
+ tool_choice="auto",
328
+ max_tokens=500
329
+ )
330
+
331
+ # Advanced parameters for creative writing
332
+ response = await service.chat_completions(
333
+ messages,
334
+ temperature=0.8,
335
+ top_p=0.9,
336
+ frequency_penalty=0.3,
337
+ presence_penalty=0.2,
338
+ n=3 # Generate 3 alternative responses
339
+ )
340
+ ```
341
+
342
+ Note:
343
+ This service uses UiPath's normalized API format which provides consistent
344
+ behavior across different underlying model providers and enhanced enterprise features.
182
345
  """
183
346
  endpoint = EndpointManager.get_normalized_endpoint().format(
184
347
  model=model, api_version=api_version
@@ -227,7 +390,19 @@ class UiPathLlmChatService(BaseService):
227
390
  return ChatCompletion.model_validate(response.json())
228
391
 
229
392
  def _convert_tool_to_uipath_format(self, tool: ToolDefinition) -> Dict[str, Any]:
230
- """Convert an OpenAI-style tool definition directly to UiPath API format."""
393
+ """Convert an OpenAI-style tool definition to UiPath API format.
394
+
395
+ This internal method transforms tool definitions from the standard OpenAI format
396
+ to the format expected by UiPath's normalized LLM Gateway API.
397
+
398
+ Args:
399
+ tool (ToolDefinition): The tool definition in OpenAI format containing
400
+ function name, description, and parameter schema.
401
+
402
+ Returns:
403
+ Dict[str, Any]: The tool definition converted to UiPath API format
404
+ with the appropriate structure and field mappings.
405
+ """
231
406
  parameters = {
232
407
  "type": tool.function.parameters.type,
233
408
  "properties": {
uipath/_uipath.py CHANGED
@@ -18,6 +18,8 @@ from ._services import (
18
18
  JobsService,
19
19
  ProcessesService,
20
20
  QueuesService,
21
+ UiPathLlmChatService,
22
+ UiPathOpenAIService,
21
23
  )
22
24
  from ._utils import setup_logging
23
25
  from ._utils.constants import (
@@ -122,3 +124,11 @@ class UiPath:
122
124
  if not self._folders_service:
123
125
  self._folders_service = FolderService(self._config, self._execution_context)
124
126
  return self._folders_service
127
+
128
+ @property
129
+ def llm_openai(self) -> UiPathOpenAIService:
130
+ return UiPathOpenAIService(self._config, self._execution_context)
131
+
132
+ @property
133
+ def llm(self) -> UiPathLlmChatService:
134
+ return UiPathLlmChatService(self._config, self._execution_context)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uipath
3
- Version: 2.0.81
3
+ Version: 2.0.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,7 +2,7 @@ uipath/__init__.py,sha256=IaeKItOOQXMa95avueJ3dAq-XcRHyZVNjcCGwlSB000,634
2
2
  uipath/_config.py,sha256=pi3qxPzDTxMEstj_XkGOgKJqD6RTHHv7vYv8sS_-d5Q,92
3
3
  uipath/_execution_context.py,sha256=XyfEcdPN-PmM97yO7OVS8Do28N-vpTnQPJrkp8pEpRA,2434
4
4
  uipath/_folder_context.py,sha256=UMMoU1VWEfYHAZW3Td2SIFYhw5dYsmaaKFhW_JEm6oc,1921
5
- uipath/_uipath.py,sha256=54u-aPF29DE3fOn8yM1pjVTqSZxSSaIsifiZG9Mt_YM,3824
5
+ uipath/_uipath.py,sha256=ZfEcqpY7NRSm6rB2OPgyVXBl9DCnn750ikq8VzzTO_s,4146
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=vGz3vJHkUvgK9_lKdzqiwwHkge1TCALRiOzGGwyr-8E,1885
@@ -22,7 +22,7 @@ uipath/_cli/_auth/_models.py,sha256=sYMCfvmprIqnZxStlD_Dxx2bcxgn0Ri4D7uwemwkcNg,
22
22
  uipath/_cli/_auth/_oidc_utils.py,sha256=WaX9jDlXrlX6yD8i8gsocV8ngjaT72Xd1tvsZMmSbco,2127
23
23
  uipath/_cli/_auth/_portal_service.py,sha256=iAxEDEY7OcEbIUSKNZnURAuNsimNmU90NLHkkTLqREY,8079
24
24
  uipath/_cli/_auth/_utils.py,sha256=9nb76xe5XmDZ0TAncp-_1SKqL6FdwRi9eS3C2noN1lY,1591
25
- uipath/_cli/_auth/auth_config.json,sha256=ib1qYxU6Totvl2pxFkqqmjVe3tOYR98mFFsUska9lOA,359
25
+ uipath/_cli/_auth/auth_config.json,sha256=xwh6paXwW3TDIsz2UHP_q3TxmBW-njFXh1q4Nd0knUA,411
26
26
  uipath/_cli/_auth/index.html,sha256=ML_xDOcKs0ETYucufJskiYfWSvdrD_E26C0Qd3qpGj8,6280
27
27
  uipath/_cli/_auth/localhost.crt,sha256=oGl9oLLOiouHubAt39B4zEfylFvKEtbtr_43SIliXJc,1226
28
28
  uipath/_cli/_auth/localhost.key,sha256=X31VYXD8scZtmGA837dGX5l6G-LXHLo5ItWJhZXaz3c,1679
@@ -56,7 +56,7 @@ uipath/_services/connections_service.py,sha256=qh-HNL_GJsyPUD0wSJZRF8ZdrTE9l4HrI
56
56
  uipath/_services/context_grounding_service.py,sha256=EBf7lIIYz_s1ubf_07OAZXQHjS8kpZ2vqxo4mI3VL-A,25009
57
57
  uipath/_services/folder_service.py,sha256=9JqgjKhWD-G_KUnfUTP2BADxL6OK9QNZsBsWZHAULdE,2749
58
58
  uipath/_services/jobs_service.py,sha256=CnDd7BM4AMqcMIR1qqu5ohhxf9m0AF4dnGoF4EX38kw,30872
59
- uipath/_services/llm_gateway_service.py,sha256=ZdKRLdEVL8Zkcl9NDT5AKADxnjqeMIuOe5H2Oy7hYKw,9421
59
+ uipath/_services/llm_gateway_service.py,sha256=Y09Ca_yZoMb1hoFIi3U6_QoJFfWa9eMYkR-9JOp6AsQ,17828
60
60
  uipath/_services/processes_service.py,sha256=Pk6paw7e_a-WvVcfKDLuyj1p--pvNRTXwZNYIwDdYzo,5726
61
61
  uipath/_services/queues_service.py,sha256=VaG3dWL2QK6AJBOLoW2NQTpkPfZjsqsYPl9-kfXPFzA,13534
62
62
  uipath/_utils/__init__.py,sha256=VdcpnENJIa0R6Y26NoxY64-wUVyvb4pKfTh1wXDQeMk,526
@@ -95,8 +95,8 @@ uipath/tracing/_traced.py,sha256=qeVDrds2OUnpdUIA0RhtF0kg2dlAZhyC1RRkI-qivTM,185
95
95
  uipath/tracing/_utils.py,sha256=ZeensQexnw69jVcsVrGyED7mPlAU-L1agDGm6_1A3oc,10388
96
96
  uipath/utils/__init__.py,sha256=VD-KXFpF_oWexFg6zyiWMkxl2HM4hYJMIUDZ1UEtGx0,105
97
97
  uipath/utils/_endpoints_manager.py,sha256=hiGEu6vyfQJoeiiql6w21TNiG6tADUfXlVBimxPU1-Q,4160
98
- uipath-2.0.81.dist-info/METADATA,sha256=eaGtKIpbDbMq7-5xMj88FpQewyEFDFv7h8f58NHPAuk,6462
99
- uipath-2.0.81.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
100
- uipath-2.0.81.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
101
- uipath-2.0.81.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
102
- uipath-2.0.81.dist-info/RECORD,,
98
+ uipath-2.0.82.dist-info/METADATA,sha256=vHKvCxpkPQ08C4ugcxwUDF0NJfHg-2rt_3uCUDhsyjQ,6462
99
+ uipath-2.0.82.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
100
+ uipath-2.0.82.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
101
+ uipath-2.0.82.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
102
+ uipath-2.0.82.dist-info/RECORD,,