uipath 2.1.59__py3-none-any.whl → 2.1.61__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,91 +1,95 @@
1
- import json
2
- import logging
3
- import os
4
- import time
5
- from typing import Any, Dict, Sequence
6
-
7
- import httpx
8
- from opentelemetry.sdk.trace import ReadableSpan
9
- from opentelemetry.sdk.trace.export import (
10
- SpanExporter,
11
- SpanExportResult,
12
- )
13
-
14
- from uipath._utils._ssl_context import get_httpx_client_kwargs
15
-
16
- from ._utils import _SpanUtils
17
-
18
- logger = logging.getLogger(__name__)
19
-
20
-
21
- class LlmOpsHttpExporter(SpanExporter):
22
- """An OpenTelemetry span exporter that sends spans to UiPath LLM Ops."""
23
-
24
- def __init__(self, **client_kwargs):
25
- """Initialize the exporter with the base URL and authentication token."""
26
- super().__init__(**client_kwargs)
27
- self.base_url = self._get_base_url()
28
- self.auth_token = os.environ.get("UIPATH_ACCESS_TOKEN")
29
- self.headers = {
30
- "Content-Type": "application/json",
31
- "Authorization": f"Bearer {self.auth_token}",
32
- }
33
-
34
- client_kwargs = get_httpx_client_kwargs()
35
-
36
- self.http_client = httpx.Client(**client_kwargs, headers=self.headers)
37
-
38
- def export(self, spans: Sequence[ReadableSpan]) -> SpanExportResult:
39
- """Export spans to UiPath LLM Ops."""
40
- logger.debug(
41
- f"Exporting {len(spans)} spans to {self.base_url}/llmopstenant_/api/Traces/spans"
42
- )
43
-
44
- span_list = [
45
- _SpanUtils.otel_span_to_uipath_span(span).to_dict() for span in spans
46
- ]
47
- url = self._build_url(span_list)
48
-
49
- logger.debug("Payload: %s", json.dumps(span_list))
50
-
51
- return self._send_with_retries(url, span_list)
52
-
53
- def force_flush(self, timeout_millis: int = 30000) -> bool:
54
- """Force flush the exporter."""
55
- return True
56
-
57
- def _build_url(self, span_list: list[Dict[str, Any]]) -> str:
58
- """Construct the URL for the API request."""
59
- trace_id = str(span_list[0]["TraceId"])
60
- return f"{self.base_url}/llmopstenant_/api/Traces/spans?traceId={trace_id}&source=Robots"
61
-
62
- def _send_with_retries(
63
- self, url: str, payload: list[Dict[str, Any]], max_retries: int = 4
64
- ) -> SpanExportResult:
65
- """Send the HTTP request with retry logic."""
66
- for attempt in range(max_retries):
67
- try:
68
- response = self.http_client.post(url, json=payload)
69
- if response.status_code == 200:
70
- return SpanExportResult.SUCCESS
71
- else:
72
- logger.warning(
73
- f"Attempt {attempt + 1} failed with status code {response.status_code}: {response.text}"
74
- )
75
- except Exception as e:
76
- logger.error(f"Attempt {attempt + 1} failed with exception: {e}")
77
-
78
- if attempt < max_retries - 1:
79
- time.sleep(1.5**attempt) # Exponential backoff
80
-
81
- return SpanExportResult.FAILURE
82
-
83
- def _get_base_url(self) -> str:
84
- uipath_url = (
85
- os.environ.get("UIPATH_URL")
86
- or "https://cloud.uipath.com/dummyOrg/dummyTennant/"
87
- )
88
-
89
- uipath_url = uipath_url.rstrip("/")
90
-
91
- return uipath_url
1
+ import json
2
+ import logging
3
+ import os
4
+ import time
5
+ from typing import Any, Dict, Optional, Sequence
6
+
7
+ import httpx
8
+ from opentelemetry.sdk.trace import ReadableSpan
9
+ from opentelemetry.sdk.trace.export import (
10
+ SpanExporter,
11
+ SpanExportResult,
12
+ )
13
+
14
+ from uipath._utils._ssl_context import get_httpx_client_kwargs
15
+
16
+ from ._utils import _SpanUtils
17
+
18
+ logger = logging.getLogger(__name__)
19
+
20
+
21
+ class LlmOpsHttpExporter(SpanExporter):
22
+ """An OpenTelemetry span exporter that sends spans to UiPath LLM Ops."""
23
+
24
+ def __init__(self, trace_id: Optional[str] = None, **client_kwargs):
25
+ """Initialize the exporter with the base URL and authentication token."""
26
+ super().__init__(**client_kwargs)
27
+ self.base_url = self._get_base_url()
28
+ self.auth_token = os.environ.get("UIPATH_ACCESS_TOKEN")
29
+ self.headers = {
30
+ "Content-Type": "application/json",
31
+ "Authorization": f"Bearer {self.auth_token}",
32
+ }
33
+
34
+ client_kwargs = get_httpx_client_kwargs()
35
+
36
+ self.http_client = httpx.Client(**client_kwargs, headers=self.headers)
37
+ self.trace_id = trace_id
38
+
39
+ def export(self, spans: Sequence[ReadableSpan]) -> SpanExportResult:
40
+ """Export spans to UiPath LLM Ops."""
41
+ logger.debug(
42
+ f"Exporting {len(spans)} spans to {self.base_url}/llmopstenant_/api/Traces/spans"
43
+ )
44
+
45
+ span_list = [
46
+ _SpanUtils.otel_span_to_uipath_span(
47
+ span, custom_trace_id=self.trace_id
48
+ ).to_dict()
49
+ for span in spans
50
+ ]
51
+ url = self._build_url(span_list)
52
+
53
+ logger.debug("Payload: %s", json.dumps(span_list))
54
+
55
+ return self._send_with_retries(url, span_list)
56
+
57
+ def force_flush(self, timeout_millis: int = 30000) -> bool:
58
+ """Force flush the exporter."""
59
+ return True
60
+
61
+ def _build_url(self, span_list: list[Dict[str, Any]]) -> str:
62
+ """Construct the URL for the API request."""
63
+ trace_id = str(span_list[0]["TraceId"])
64
+ return f"{self.base_url}/llmopstenant_/api/Traces/spans?traceId={trace_id}&source=Robots"
65
+
66
+ def _send_with_retries(
67
+ self, url: str, payload: list[Dict[str, Any]], max_retries: int = 4
68
+ ) -> SpanExportResult:
69
+ """Send the HTTP request with retry logic."""
70
+ for attempt in range(max_retries):
71
+ try:
72
+ response = self.http_client.post(url, json=payload)
73
+ if response.status_code == 200:
74
+ return SpanExportResult.SUCCESS
75
+ else:
76
+ logger.warning(
77
+ f"Attempt {attempt + 1} failed with status code {response.status_code}: {response.text}"
78
+ )
79
+ except Exception as e:
80
+ logger.error(f"Attempt {attempt + 1} failed with exception: {e}")
81
+
82
+ if attempt < max_retries - 1:
83
+ time.sleep(1.5**attempt) # Exponential backoff
84
+
85
+ return SpanExportResult.FAILURE
86
+
87
+ def _get_base_url(self) -> str:
88
+ uipath_url = (
89
+ os.environ.get("UIPATH_URL")
90
+ or "https://cloud.uipath.com/dummyOrg/dummyTennant/"
91
+ )
92
+
93
+ uipath_url = uipath_url.rstrip("/")
94
+
95
+ return uipath_url
uipath/tracing/_traced.py CHANGED
@@ -215,11 +215,19 @@ def _opentelemetry_traced(
215
215
  if input_processor:
216
216
  processed_inputs = input_processor(json.loads(inputs))
217
217
  inputs = json.dumps(processed_inputs, default=str)
218
+
219
+ # kept for backwards compatibility
220
+ span.set_attribute("inputs", inputs)
218
221
  span.set_attribute("input.mime_type", "application/json")
219
222
  span.set_attribute("input.value", inputs)
220
223
 
221
224
  result = func(*args, **kwargs)
222
225
  output = output_processor(result) if output_processor else result
226
+ # kept for backwards compatibility
227
+ span.set_attribute(
228
+ "output", _SpanUtils.format_object_for_trace_json(output)
229
+ )
230
+
223
231
  span.set_attribute(
224
232
  "output.value", _SpanUtils.format_object_for_trace_json(output)
225
233
  )
@@ -253,11 +261,19 @@ def _opentelemetry_traced(
253
261
  if input_processor:
254
262
  processed_inputs = input_processor(json.loads(inputs))
255
263
  inputs = json.dumps(processed_inputs, default=str)
264
+
265
+ # kept for backwards compatibility
266
+ span.set_attribute("inputs", inputs)
267
+
256
268
  span.set_attribute("input.mime_type", "application/json")
257
269
  span.set_attribute("input.value", inputs)
258
270
 
259
271
  result = await func(*args, **kwargs)
260
272
  output = output_processor(result) if output_processor else result
273
+ # kept for backwards compatibility
274
+ span.set_attribute(
275
+ "output", _SpanUtils.format_object_for_trace_json(output)
276
+ )
261
277
  span.set_attribute(
262
278
  "output.value", _SpanUtils.format_object_for_trace_json(output)
263
279
  )
uipath/tracing/_utils.py CHANGED
@@ -76,6 +76,10 @@ class UiPathSpan:
76
76
  process_key: Optional[str] = field(
77
77
  default_factory=lambda: env.get("UIPATH_PROCESS_UUID")
78
78
  )
79
+ reference_id: Optional[str] = field(
80
+ default_factory=lambda: env.get("TRACE_REFERENCE_ID")
81
+ )
82
+
79
83
  job_key: Optional[str] = field(default_factory=lambda: env.get("UIPATH_JOB_KEY"))
80
84
 
81
85
  def to_dict(self) -> Dict[str, Any]:
@@ -99,6 +103,7 @@ class UiPathSpan:
99
103
  "SpanType": self.span_type,
100
104
  "ProcessKey": self.process_key,
101
105
  "JobKey": self.job_key,
106
+ "ReferenceId": self.reference_id,
102
107
  }
103
108
 
104
109
 
@@ -148,7 +153,9 @@ class _SpanUtils:
148
153
  return uuid.UUID(hex_str)
149
154
 
150
155
  @staticmethod
151
- def otel_span_to_uipath_span(otel_span: ReadableSpan) -> UiPathSpan:
156
+ def otel_span_to_uipath_span(
157
+ otel_span: ReadableSpan, custom_trace_id: Optional[str] = None
158
+ ) -> UiPathSpan:
152
159
  """Convert an OpenTelemetry span to a UiPathSpan."""
153
160
  # Extract the context information from the OTel span
154
161
  span_context = otel_span.get_span_context()
@@ -157,7 +164,7 @@ class _SpanUtils:
157
164
  trace_id = _SpanUtils.trace_id_to_uuid4(span_context.trace_id)
158
165
  span_id = _SpanUtils.span_id_to_uuid4(span_context.span_id)
159
166
 
160
- trace_id_str = os.environ.get("UIPATH_TRACE_ID")
167
+ trace_id_str = custom_trace_id or os.environ.get("UIPATH_TRACE_ID")
161
168
  if trace_id_str:
162
169
  trace_id = uuid.UUID(trace_id_str)
163
170
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uipath
3
- Version: 2.1.59
3
+ Version: 2.1.61
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
@@ -9,12 +9,12 @@ uipath/_cli/__init__.py,sha256=tscKceSouYcEOxUbGjoyHi4qGi74giBFeXG1I-ut1hs,2308
9
9
  uipath/_cli/cli_auth.py,sha256=i3ykLlCg68xgPXHHaa0agHwGFIiLiTLzOiF6Su8XaEo,2436
10
10
  uipath/_cli/cli_deploy.py,sha256=KPCmQ0c_NYD5JofSDao5r6QYxHshVCRxlWDVnQvlp5w,645
11
11
  uipath/_cli/cli_dev.py,sha256=nEfpjw1PZ72O6jmufYWVrueVwihFxDPOeJakdvNHdOA,2146
12
- uipath/_cli/cli_eval.py,sha256=NcneGZibECVKOOdBZJ4IdWAryJM7G_JTdVSY9IORASU,4002
12
+ uipath/_cli/cli_eval.py,sha256=MERBnZE4R6OxIXllx9lcl4qqtuAhw7l-XY5u-jdXkN4,4796
13
13
  uipath/_cli/cli_init.py,sha256=Ac3-9tIH3rpikIX1ehWTo7InW5tjVNoz_w6fjvgLK4w,7052
14
- uipath/_cli/cli_invoke.py,sha256=4jyhqcy7tPrpxvaUhW-9gut6ddsCGMdJJcpOXXmIe8g,4348
14
+ uipath/_cli/cli_invoke.py,sha256=m-te-EjhDpk_fhFDkt-yQFzmjEHGo5lQDGEQWxSXisQ,4395
15
15
  uipath/_cli/cli_new.py,sha256=9378NYUBc9j-qKVXV7oja-jahfJhXBg8zKVyaon7ctY,2102
16
16
  uipath/_cli/cli_pack.py,sha256=NmwZTfwZ2fURiHyiX1BM0juAtBOjPB1Jmcpu-rD7p-4,11025
17
- uipath/_cli/cli_publish.py,sha256=FmBCdeh4zFaESOLfzTTPxGcOwUtsQ_WkvF_fjHEdU8s,6448
17
+ uipath/_cli/cli_publish.py,sha256=DgyfcZjvfV05Ldy0Pk5y_Le_nT9JduEE_x-VpIc_Kq0,6471
18
18
  uipath/_cli/cli_pull.py,sha256=vwS0KMX6O2L6RaPy8tw_qzXe4dC7kf_G6nbLm0I62eI,6831
19
19
  uipath/_cli/cli_push.py,sha256=-j-gDIbT8GyU2SybLQqFl5L8KI9nu3CDijVtltDgX20,3132
20
20
  uipath/_cli/cli_run.py,sha256=1FKv20EjxrrP1I5rNSnL_HzbWtOAIMjB3M--4RPA_Yo,3709
@@ -45,12 +45,14 @@ uipath/_cli/_dev/_terminal/_utils/_chat.py,sha256=YUZxYVdmEManwHDuZsczJT1dWIYE1d
45
45
  uipath/_cli/_dev/_terminal/_utils/_exporter.py,sha256=oI6D_eMwrh_2aqDYUh4GrJg8VLGrLYhDahR-_o0uJns,4144
46
46
  uipath/_cli/_dev/_terminal/_utils/_logger.py,sha256=jeNShEED27cNIHTe_NNx-2kUiXpSLTmi0onM6tVkqRM,888
47
47
  uipath/_cli/_evals/_evaluator_factory.py,sha256=2lOalabNSzmnnwr0SfoPWvFWXs0Ly857XBmPuOdhFBQ,4729
48
- uipath/_cli/_evals/_runtime.py,sha256=KFGl2we1RH0omuD2HWw5thIK6DDZxVGtqx_G9T4DM_A,8332
48
+ uipath/_cli/_evals/_progress_reporter.py,sha256=Z-OEvZDixpHRdprKj0ukVe39RDMuzPzDhni-ygvUim4,16384
49
+ uipath/_cli/_evals/_runtime.py,sha256=n14A1gTFtZekcdpswB_plpbaB81Q44_mvHqXQEqrB8o,11347
49
50
  uipath/_cli/_evals/_models/_evaluation_set.py,sha256=mwcTstHuyHd7ys_nLzgCNKBAsS4ns9UL2TF5Oq2Cc64,1758
50
51
  uipath/_cli/_evals/_models/_evaluator_base_params.py,sha256=lTYKOV66tcjW85KHTyOdtF1p1VDaBNemrMAvH8bFIFc,382
51
- uipath/_cli/_evals/_models/_output.py,sha256=TTQ0hhmD3dTkIbj_Ly_rDCGSnpZsHwdmCsl7FLdoZD0,2634
52
+ uipath/_cli/_evals/_models/_output.py,sha256=LjwMBGI78sDFa2Dl8b9ReXJmjig57pdLWpuiwChrRLo,3096
53
+ uipath/_cli/_evals/_models/_sw_reporting.py,sha256=tSBLQFAdOIun8eP0vsqt56K6bmCZz_uMaWI3hskg_24,536
52
54
  uipath/_cli/_push/sw_file_handler.py,sha256=iE8Sk1Z-9hxmLFFj3j-k4kTK6TzNFP6hUCmxTudG6JQ,18251
53
- uipath/_cli/_runtime/_contracts.py,sha256=7JSb-2C2zWigEW5hCsVz9vz19RNR8nSaML8-PC4lkmI,28665
55
+ uipath/_cli/_runtime/_contracts.py,sha256=xIcKq0xRbenzmJkZQO8blKwZ3b72Ntm4YONSYwaI-kg,28880
54
56
  uipath/_cli/_runtime/_escalation.py,sha256=x3vI98qsfRA-fL_tNkRVTFXioM5Gv2w0GFcXJJ5eQtg,7981
55
57
  uipath/_cli/_runtime/_hitl.py,sha256=VKbM021nVg1HEDnTfucSLJ0LsDn83CKyUtVzofS2qTU,11369
56
58
  uipath/_cli/_runtime/_logging.py,sha256=MGklGKPjYKjs7J5Jy9eplA9zCDsdtEbkZdCbTwgut_4,8311
@@ -66,7 +68,7 @@ uipath/_cli/_utils/_console.py,sha256=scvnrrFoFX6CE451K-PXKV7UN0DUkInbOtDZ5jAdPP
66
68
  uipath/_cli/_utils/_constants.py,sha256=rS8lQ5Nzull8ytajK6lBsz398qiCp1REoAwlHtyBwF0,1415
67
69
  uipath/_cli/_utils/_debug.py,sha256=zamzIR4VgbdKADAE4gbmjxDsbgF7wvdr7C5Dqp744Oc,1739
68
70
  uipath/_cli/_utils/_eval_set.py,sha256=4aP8yAC-jMrNYaC62Yj8fHD2hNlotGwy63bciQrpdc4,2766
69
- uipath/_cli/_utils/_folders.py,sha256=UVJcKPfPAVR5HF4AP6EXdlNVcfEF1v5pwGCpoAgBY34,1155
71
+ uipath/_cli/_utils/_folders.py,sha256=RsYrXzF0NA1sPxgBoLkLlUY3jDNLg1V-Y8j71Q8a8HY,1357
70
72
  uipath/_cli/_utils/_input_args.py,sha256=3LGNqVpJItvof75VGm-ZNTUMUH9-c7-YgleM5b2YgRg,5088
71
73
  uipath/_cli/_utils/_parse_ast.py,sha256=8Iohz58s6bYQ7rgWtOTjrEInLJ-ETikmOMZzZdIY2Co,20072
72
74
  uipath/_cli/_utils/_processes.py,sha256=q7DfEKHISDWf3pngci5za_z0Pbnf_shWiYEcTOTCiyk,1855
@@ -74,6 +76,9 @@ uipath/_cli/_utils/_project_files.py,sha256=sulh3xZhDDw_rBOrn_XSUfVSD6sUu47ZK4n_
74
76
  uipath/_cli/_utils/_studio_project.py,sha256=VR9SXsn9vfSoEwhJFXjkhnm62A2gLquGpqp8wpwEz7o,15429
75
77
  uipath/_cli/_utils/_tracing.py,sha256=2igb03j3EHjF_A406UhtCKkPfudVfFPjUq5tXUEG4oo,1541
76
78
  uipath/_cli/_utils/_uv_helpers.py,sha256=6SvoLnZPoKIxW0sjMvD1-ENV_HOXDYzH34GjBqwT138,3450
79
+ uipath/_events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
+ uipath/_events/_event_bus.py,sha256=4-VzstyX69cr7wT1EY7ywp-Ndyz2CyemD3Wk_-QmRpo,5496
81
+ uipath/_events/_events.py,sha256=FhSqbEW4lcBp_QWcDsMtF5XtUtQ8S3rts6uEtMDmGbA,1252
77
82
  uipath/_resources/AGENTS.md,sha256=YWhWuX9XIbyVhVT3PnPc4Of3_q6bsNJcuzYu3N8f_Ug,25850
78
83
  uipath/_services/__init__.py,sha256=W08UO7ZBQRD8LBHsC6gaM4YBSUl8az0S4d6iZSKsdPE,965
79
84
  uipath/_services/_base_service.py,sha256=x9-9jhPzn9Z16KRdFHhJNvV-FZHvTniMsDfxlS4Cutk,5782
@@ -112,7 +117,7 @@ uipath/agent/conversation/exchange.py,sha256=nuk1tEMBHc_skrraT17d8U6AtyJ3h07ExGQ
112
117
  uipath/agent/conversation/message.py,sha256=1ZkEs146s79TrOAWCQwzBAEJvjAu4lQBpJ64tKXDgGE,2142
113
118
  uipath/agent/conversation/meta.py,sha256=3t0eS9UHoAPHre97QTUeVbjDhnMX4zj4-qG6ju0B8wY,315
114
119
  uipath/agent/conversation/tool.py,sha256=ol8XI8AVd-QNn5auXNBPcCzOkh9PPFtL7hTK3kqInkU,2191
115
- uipath/agent/models/agent.py,sha256=jhBxZwNRsB-1F-aD6ZELWaX3cFzgGIJ25cCHIb-RzhE,10965
120
+ uipath/agent/models/agent.py,sha256=zNaHD5MOaTgcE0WvhHRPsGpBoWMYNP2H8lSyne0ZlPU,11393
116
121
  uipath/eval/_helpers/__init__.py,sha256=GSmZMryjuO3Wo_zdxZdrHCRRsgOxsVFYkYgJ15YNC3E,86
117
122
  uipath/eval/_helpers/helpers.py,sha256=iE2HHdMiAdAMLqxHkPKHpfecEtAuN5BTBqvKFTI8ciE,1315
118
123
  uipath/eval/evaluators/__init__.py,sha256=DJAAhgv0I5UfBod4sGnSiKerfrz1iMmk7GNFb71V8eI,494
@@ -123,7 +128,7 @@ uipath/eval/evaluators/json_similarity_evaluator.py,sha256=cP4kpN-UIf690V5dq4LaC
123
128
  uipath/eval/evaluators/llm_as_judge_evaluator.py,sha256=l0bbn8ZLi9ZTXcgr7tJ2tsCvHFqIIeGa7sobaAHgI2Y,4927
124
129
  uipath/eval/evaluators/trajectory_evaluator.py,sha256=7boiKzjLpQPs8M8y2PGnI3bZQ1MEwR6QRZpXyKQcR7Y,1244
125
130
  uipath/eval/models/__init__.py,sha256=x360CDZaRjUL3q3kh2CcXYYrQ47jwn6p6JnmhEIvMlA,419
126
- uipath/eval/models/models.py,sha256=9IraD5C2KfKK1ZLMZ7jBOJzzHW4X1Dp2k41abqmPMnA,2838
131
+ uipath/eval/models/models.py,sha256=rWwQaXLo3hJAgIdLoU2NMOI6vRW6fwWV7YfK_rnYHCc,2836
127
132
  uipath/models/__init__.py,sha256=d_DkK1AtRUetM1t2NrH5UKgvJOBiynzaKnK5pMY7aIc,1289
128
133
  uipath/models/action_schema.py,sha256=tBn1qQ3NQLU5nwWlBIzIKIx3XK5pO_D1S51IjFlZ1FA,610
129
134
  uipath/models/actions.py,sha256=1vRsJ3JSmMdPkbiYAiHzY8K44vmW3VlMsmQUBAkSgrQ,3141
@@ -145,13 +150,13 @@ uipath/telemetry/__init__.py,sha256=Wna32UFzZR66D-RzTKlPWlvji9i2HJb82NhHjCCXRjY,
145
150
  uipath/telemetry/_constants.py,sha256=uRDuEZayBYtBA0tMx-2AS_D-oiVA7oKgp9zid9jNats,763
146
151
  uipath/telemetry/_track.py,sha256=G_Pyq8n8iMvoCWhUpWedlptXUSuUSbQBBzGxsh4DW9c,4654
147
152
  uipath/tracing/__init__.py,sha256=GKRINyWdHVrDsI-8mrZDLdf0oey6GHGlNZTOADK-kgc,224
148
- uipath/tracing/_otel_exporters.py,sha256=X7cnuGqvxGbACZuFD2XYTWXwIse8pokOEAjeTPE6DCQ,3158
149
- uipath/tracing/_traced.py,sha256=CJIp6wqIoHVTmh9-Kuk7diD4OJDTAeA6x3zI9w0i4lI,19307
150
- uipath/tracing/_utils.py,sha256=ny3VgfUPT_5fQ0BAFl7hitR2jH6nNuuZEpR7DKVd8QE,11739
153
+ uipath/tracing/_otel_exporters.py,sha256=c0GKU_oUrAwrOrqbyu64c55z1TR6xk01d3y5fLUN1lU,3215
154
+ uipath/tracing/_traced.py,sha256=yBIY05PCCrYyx50EIHZnwJaKNdHPNx-YTR1sHQl0a98,19901
155
+ uipath/tracing/_utils.py,sha256=qd7N56tg6VXQ9pREh61esBgUWLNA0ssKsE0QlwrRWFM,11974
151
156
  uipath/utils/__init__.py,sha256=VD-KXFpF_oWexFg6zyiWMkxl2HM4hYJMIUDZ1UEtGx0,105
152
157
  uipath/utils/_endpoints_manager.py,sha256=iRTl5Q0XAm_YgcnMcJOXtj-8052sr6jpWuPNz6CgT0Q,8408
153
- uipath-2.1.59.dist-info/METADATA,sha256=rdYh58XcywOF-95bX4oq6F-XMcFD4s5Yu9bjiI78WI8,6482
154
- uipath-2.1.59.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
155
- uipath-2.1.59.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
156
- uipath-2.1.59.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
157
- uipath-2.1.59.dist-info/RECORD,,
158
+ uipath-2.1.61.dist-info/METADATA,sha256=5b9chjUj31hnZQpZRZ7bSHGbottVCYMvbaJfDWaY4j0,6482
159
+ uipath-2.1.61.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
160
+ uipath-2.1.61.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
161
+ uipath-2.1.61.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
162
+ uipath-2.1.61.dist-info/RECORD,,