uipath 2.0.53__py3-none-any.whl → 2.0.55__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/_auth/_auth_server.py +5 -16
- uipath/_cli/_auth/auth_config.json +2 -2
- uipath/_cli/cli_auth.py +2 -2
- uipath/_cli/cli_run.py +2 -2
- uipath/_services/__init__.py +2 -0
- uipath/_services/_base_service.py +47 -125
- uipath/_services/actions_service.py +12 -4
- uipath/_services/api_client.py +2 -36
- uipath/_services/assets_service.py +73 -8
- uipath/_services/attachments_service.py +595 -0
- uipath/_services/buckets_service.py +4 -9
- uipath/_services/jobs_service.py +256 -2
- uipath/_uipath.py +5 -0
- uipath/_utils/__init__.py +2 -0
- uipath/_utils/_request_override.py +2 -2
- uipath/_utils/_url.py +85 -0
- uipath/models/__init__.py +4 -1
- uipath/models/assets.py +22 -0
- uipath/models/attachment.py +28 -0
- {uipath-2.0.53.dist-info → uipath-2.0.55.dist-info}/METADATA +1 -1
- {uipath-2.0.53.dist-info → uipath-2.0.55.dist-info}/RECORD +24 -21
- {uipath-2.0.53.dist-info → uipath-2.0.55.dist-info}/WHEEL +0 -0
- {uipath-2.0.53.dist-info → uipath-2.0.55.dist-info}/entry_points.txt +0 -0
- {uipath-2.0.53.dist-info → uipath-2.0.55.dist-info}/licenses/LICENSE +0 -0
uipath/_services/jobs_service.py
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import json
|
|
2
|
-
|
|
2
|
+
import uuid
|
|
3
|
+
from typing import Any, Dict, List, Optional, overload
|
|
3
4
|
|
|
4
5
|
from .._config import Config
|
|
5
6
|
from .._execution_context import ExecutionContext
|
|
6
7
|
from .._folder_context import FolderContext
|
|
7
8
|
from .._utils import Endpoint, RequestSpec, header_folder
|
|
9
|
+
from ..models import Attachment
|
|
8
10
|
from ..models.job import Job
|
|
9
11
|
from ..tracing._traced import traced
|
|
10
12
|
from ._base_service import BaseService
|
|
@@ -262,6 +264,258 @@ class JobsService(FolderContext, BaseService):
|
|
|
262
264
|
return RequestSpec(
|
|
263
265
|
method="GET",
|
|
264
266
|
endpoint=Endpoint(
|
|
265
|
-
f"orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.GetByKey(identifier={job_key})"
|
|
267
|
+
f"/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.GetByKey(identifier={job_key})"
|
|
266
268
|
),
|
|
267
269
|
)
|
|
270
|
+
|
|
271
|
+
@traced(name="jobs_list_attachments", run_type="uipath")
|
|
272
|
+
def list_attachments(
|
|
273
|
+
self,
|
|
274
|
+
*,
|
|
275
|
+
job_key: uuid.UUID,
|
|
276
|
+
folder_key: Optional[str] = None,
|
|
277
|
+
folder_path: Optional[str] = None,
|
|
278
|
+
) -> List[Attachment]:
|
|
279
|
+
"""List attachments associated with a specific job.
|
|
280
|
+
|
|
281
|
+
This method retrieves all attachments linked to a job by its key.
|
|
282
|
+
|
|
283
|
+
Args:
|
|
284
|
+
job_key (uuid.UUID): The key of the job to retrieve attachments for.
|
|
285
|
+
folder_key (Optional[str]): The key of the folder. Override the default one set in the SDK config.
|
|
286
|
+
folder_path (Optional[str]): The path of the folder. Override the default one set in the SDK config.
|
|
287
|
+
|
|
288
|
+
Returns:
|
|
289
|
+
List[Attachment]: A list of attachment objects associated with the job.
|
|
290
|
+
|
|
291
|
+
Raises:
|
|
292
|
+
Exception: If the retrieval fails.
|
|
293
|
+
|
|
294
|
+
Examples:
|
|
295
|
+
```python
|
|
296
|
+
from uipath import UiPath
|
|
297
|
+
|
|
298
|
+
client = UiPath()
|
|
299
|
+
|
|
300
|
+
attachments = client.jobs.list_attachments(
|
|
301
|
+
job_key=uuid.UUID("123e4567-e89b-12d3-a456-426614174000")
|
|
302
|
+
)
|
|
303
|
+
for attachment in attachments:
|
|
304
|
+
print(f"Attachment: {attachment.Name}, Key: {attachment.Key}")
|
|
305
|
+
```
|
|
306
|
+
"""
|
|
307
|
+
spec = self._list_job_attachments_spec(
|
|
308
|
+
job_key=job_key,
|
|
309
|
+
folder_key=folder_key,
|
|
310
|
+
folder_path=folder_path,
|
|
311
|
+
)
|
|
312
|
+
|
|
313
|
+
response = self.request(
|
|
314
|
+
spec.method,
|
|
315
|
+
url=spec.endpoint,
|
|
316
|
+
params=spec.params,
|
|
317
|
+
headers=spec.headers,
|
|
318
|
+
).json()
|
|
319
|
+
|
|
320
|
+
return [Attachment.model_validate(item) for item in response]
|
|
321
|
+
|
|
322
|
+
@traced(name="jobs_list_attachments", run_type="uipath")
|
|
323
|
+
async def list_attachments_async(
|
|
324
|
+
self,
|
|
325
|
+
*,
|
|
326
|
+
job_key: uuid.UUID,
|
|
327
|
+
folder_key: Optional[str] = None,
|
|
328
|
+
folder_path: Optional[str] = None,
|
|
329
|
+
) -> List[Attachment]:
|
|
330
|
+
"""List attachments associated with a specific job asynchronously.
|
|
331
|
+
|
|
332
|
+
This method asynchronously retrieves all attachments linked to a job by its key.
|
|
333
|
+
|
|
334
|
+
Args:
|
|
335
|
+
job_key (uuid.UUID): The key of the job to retrieve attachments for.
|
|
336
|
+
folder_key (Optional[str]): The key of the folder. Override the default one set in the SDK config.
|
|
337
|
+
folder_path (Optional[str]): The path of the folder. Override the default one set in the SDK config.
|
|
338
|
+
|
|
339
|
+
Returns:
|
|
340
|
+
List[Attachment]: A list of attachment objects associated with the job.
|
|
341
|
+
|
|
342
|
+
Raises:
|
|
343
|
+
Exception: If the retrieval fails.
|
|
344
|
+
|
|
345
|
+
Examples:
|
|
346
|
+
```python
|
|
347
|
+
import asyncio
|
|
348
|
+
from uipath import UiPath
|
|
349
|
+
|
|
350
|
+
client = UiPath()
|
|
351
|
+
|
|
352
|
+
async def main():
|
|
353
|
+
attachments = await client.jobs.list_attachments_async(
|
|
354
|
+
job_key=uuid.UUID("123e4567-e89b-12d3-a456-426614174000")
|
|
355
|
+
)
|
|
356
|
+
for attachment in attachments:
|
|
357
|
+
print(f"Attachment: {attachment.Name}, Key: {attachment.Key}")
|
|
358
|
+
```
|
|
359
|
+
"""
|
|
360
|
+
spec = self._list_job_attachments_spec(
|
|
361
|
+
job_key=job_key,
|
|
362
|
+
folder_key=folder_key,
|
|
363
|
+
folder_path=folder_path,
|
|
364
|
+
)
|
|
365
|
+
|
|
366
|
+
response = (
|
|
367
|
+
await self.request_async(
|
|
368
|
+
spec.method,
|
|
369
|
+
url=spec.endpoint,
|
|
370
|
+
params=spec.params,
|
|
371
|
+
headers=spec.headers,
|
|
372
|
+
)
|
|
373
|
+
).json()
|
|
374
|
+
|
|
375
|
+
return [Attachment.model_validate(item) for item in response]
|
|
376
|
+
|
|
377
|
+
@traced(name="jobs_link_attachment", run_type="uipath")
|
|
378
|
+
def link_attachment(
|
|
379
|
+
self,
|
|
380
|
+
*,
|
|
381
|
+
attachment_key: uuid.UUID,
|
|
382
|
+
job_key: uuid.UUID,
|
|
383
|
+
category: Optional[str] = None,
|
|
384
|
+
folder_key: Optional[str] = None,
|
|
385
|
+
folder_path: Optional[str] = None,
|
|
386
|
+
):
|
|
387
|
+
"""Link an attachment to a job.
|
|
388
|
+
|
|
389
|
+
This method links an existing attachment to a specific job.
|
|
390
|
+
|
|
391
|
+
Args:
|
|
392
|
+
attachment_key (uuid.UUID): The key of the attachment to link.
|
|
393
|
+
job_key (uuid.UUID): The key of the job to link the attachment to.
|
|
394
|
+
category (Optional[str]): Optional category for the attachment in the context of this job.
|
|
395
|
+
folder_key (Optional[str]): The key of the folder. Override the default one set in the SDK config.
|
|
396
|
+
folder_path (Optional[str]): The path of the folder. Override the default one set in the SDK config.
|
|
397
|
+
|
|
398
|
+
Raises:
|
|
399
|
+
Exception: If the link operation fails.
|
|
400
|
+
|
|
401
|
+
Examples:
|
|
402
|
+
```python
|
|
403
|
+
from uipath import UiPath
|
|
404
|
+
|
|
405
|
+
client = UiPath()
|
|
406
|
+
|
|
407
|
+
client.jobs.link_attachment(
|
|
408
|
+
attachment_key=uuid.UUID("123e4567-e89b-12d3-a456-426614174000"),
|
|
409
|
+
job_key=uuid.UUID("123e4567-e89b-12d3-a456-426614174001"),
|
|
410
|
+
category="Result"
|
|
411
|
+
)
|
|
412
|
+
print("Attachment linked to job successfully")
|
|
413
|
+
```
|
|
414
|
+
"""
|
|
415
|
+
spec = self._link_job_attachment_spec(
|
|
416
|
+
attachment_key=attachment_key,
|
|
417
|
+
job_key=job_key,
|
|
418
|
+
category=category,
|
|
419
|
+
folder_key=folder_key,
|
|
420
|
+
folder_path=folder_path,
|
|
421
|
+
)
|
|
422
|
+
|
|
423
|
+
return self.request(
|
|
424
|
+
spec.method,
|
|
425
|
+
url=spec.endpoint,
|
|
426
|
+
headers=spec.headers,
|
|
427
|
+
json=spec.json,
|
|
428
|
+
)
|
|
429
|
+
|
|
430
|
+
@traced(name="jobs_link_attachment", run_type="uipath")
|
|
431
|
+
async def link_attachment_async(
|
|
432
|
+
self,
|
|
433
|
+
*,
|
|
434
|
+
attachment_key: uuid.UUID,
|
|
435
|
+
job_key: uuid.UUID,
|
|
436
|
+
category: Optional[str] = None,
|
|
437
|
+
folder_key: Optional[str] = None,
|
|
438
|
+
folder_path: Optional[str] = None,
|
|
439
|
+
):
|
|
440
|
+
"""Link an attachment to a job asynchronously.
|
|
441
|
+
|
|
442
|
+
This method asynchronously links an existing attachment to a specific job.
|
|
443
|
+
|
|
444
|
+
Args:
|
|
445
|
+
attachment_key (uuid.UUID): The key of the attachment to link.
|
|
446
|
+
job_key (uuid.UUID): The key of the job to link the attachment to.
|
|
447
|
+
category (Optional[str]): Optional category for the attachment in the context of this job.
|
|
448
|
+
folder_key (Optional[str]): The key of the folder. Override the default one set in the SDK config.
|
|
449
|
+
folder_path (Optional[str]): The path of the folder. Override the default one set in the SDK config.
|
|
450
|
+
|
|
451
|
+
Raises:
|
|
452
|
+
Exception: If the link operation fails.
|
|
453
|
+
|
|
454
|
+
Examples:
|
|
455
|
+
```python
|
|
456
|
+
import asyncio
|
|
457
|
+
from uipath import UiPath
|
|
458
|
+
|
|
459
|
+
client = UiPath()
|
|
460
|
+
|
|
461
|
+
async def main():
|
|
462
|
+
await client.jobs.link_attachment_async(
|
|
463
|
+
attachment_key=uuid.UUID("123e4567-e89b-12d3-a456-426614174000"),
|
|
464
|
+
job_key=uuid.UUID("123e4567-e89b-12d3-a456-426614174001"),
|
|
465
|
+
category="Result"
|
|
466
|
+
)
|
|
467
|
+
print("Attachment linked to job successfully")
|
|
468
|
+
```
|
|
469
|
+
"""
|
|
470
|
+
spec = self._link_job_attachment_spec(
|
|
471
|
+
attachment_key=attachment_key,
|
|
472
|
+
job_key=job_key,
|
|
473
|
+
category=category,
|
|
474
|
+
folder_key=folder_key,
|
|
475
|
+
folder_path=folder_path,
|
|
476
|
+
)
|
|
477
|
+
|
|
478
|
+
return await self.request_async(
|
|
479
|
+
spec.method,
|
|
480
|
+
url=spec.endpoint,
|
|
481
|
+
headers=spec.headers,
|
|
482
|
+
json=spec.json,
|
|
483
|
+
)
|
|
484
|
+
|
|
485
|
+
def _list_job_attachments_spec(
|
|
486
|
+
self,
|
|
487
|
+
job_key: uuid.UUID,
|
|
488
|
+
folder_key: Optional[str] = None,
|
|
489
|
+
folder_path: Optional[str] = None,
|
|
490
|
+
) -> RequestSpec:
|
|
491
|
+
return RequestSpec(
|
|
492
|
+
method="GET",
|
|
493
|
+
endpoint=Endpoint("/orchestrator_/api/JobAttachments/GetByJobKey"),
|
|
494
|
+
params={
|
|
495
|
+
"jobKey": job_key,
|
|
496
|
+
},
|
|
497
|
+
headers={
|
|
498
|
+
**header_folder(folder_key, folder_path),
|
|
499
|
+
},
|
|
500
|
+
)
|
|
501
|
+
|
|
502
|
+
def _link_job_attachment_spec(
|
|
503
|
+
self,
|
|
504
|
+
attachment_key: uuid.UUID,
|
|
505
|
+
job_key: uuid.UUID,
|
|
506
|
+
category: Optional[str] = None,
|
|
507
|
+
folder_key: Optional[str] = None,
|
|
508
|
+
folder_path: Optional[str] = None,
|
|
509
|
+
) -> RequestSpec:
|
|
510
|
+
return RequestSpec(
|
|
511
|
+
method="POST",
|
|
512
|
+
endpoint=Endpoint("/orchestrator_/api/JobAttachments/Post"),
|
|
513
|
+
json={
|
|
514
|
+
"attachmentId": str(attachment_key),
|
|
515
|
+
"jobKey": str(job_key),
|
|
516
|
+
"category": category,
|
|
517
|
+
},
|
|
518
|
+
headers={
|
|
519
|
+
**header_folder(folder_key, folder_path),
|
|
520
|
+
},
|
|
521
|
+
)
|
uipath/_uipath.py
CHANGED
|
@@ -10,6 +10,7 @@ from ._services import (
|
|
|
10
10
|
ActionsService,
|
|
11
11
|
ApiClient,
|
|
12
12
|
AssetsService,
|
|
13
|
+
AttachmentsService,
|
|
13
14
|
BucketsService,
|
|
14
15
|
ConnectionsService,
|
|
15
16
|
ContextGroundingService,
|
|
@@ -69,6 +70,10 @@ class UiPath:
|
|
|
69
70
|
def assets(self) -> AssetsService:
|
|
70
71
|
return AssetsService(self._config, self._execution_context)
|
|
71
72
|
|
|
73
|
+
@property
|
|
74
|
+
def attachments(self) -> AttachmentsService:
|
|
75
|
+
return AttachmentsService(self._config, self._execution_context)
|
|
76
|
+
|
|
72
77
|
@property
|
|
73
78
|
def processes(self) -> ProcessesService:
|
|
74
79
|
return ProcessesService(self._config, self._execution_context)
|
uipath/_utils/__init__.py
CHANGED
|
@@ -3,6 +3,7 @@ from ._infer_bindings import get_inferred_bindings_names, infer_bindings
|
|
|
3
3
|
from ._logs import setup_logging
|
|
4
4
|
from ._request_override import header_folder
|
|
5
5
|
from ._request_spec import RequestSpec
|
|
6
|
+
from ._url import UiPathUrl
|
|
6
7
|
from ._user_agent import header_user_agent, user_agent_value
|
|
7
8
|
|
|
8
9
|
__all__ = [
|
|
@@ -14,4 +15,5 @@ __all__ = [
|
|
|
14
15
|
"infer_bindings",
|
|
15
16
|
"header_user_agent",
|
|
16
17
|
"user_agent_value",
|
|
18
|
+
"UiPathUrl",
|
|
17
19
|
]
|
|
@@ -10,9 +10,9 @@ def header_folder(
|
|
|
10
10
|
raise ValueError("Only one of folder_key or folder_path can be provided")
|
|
11
11
|
|
|
12
12
|
headers = {}
|
|
13
|
-
if folder_key is not None:
|
|
13
|
+
if folder_key is not None and folder_key != "":
|
|
14
14
|
headers[HEADER_FOLDER_KEY] = folder_key
|
|
15
|
-
if folder_path is not None:
|
|
15
|
+
if folder_path is not None and folder_path != "":
|
|
16
16
|
headers[HEADER_FOLDER_PATH] = folder_path
|
|
17
17
|
|
|
18
18
|
return headers
|
uipath/_utils/_url.py
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
from typing import Literal
|
|
2
|
+
from urllib.parse import urlparse
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class UiPathUrl:
|
|
6
|
+
"""A class that represents a UiPath URL.
|
|
7
|
+
|
|
8
|
+
This class is used to parse and manipulate UiPath URLs.
|
|
9
|
+
|
|
10
|
+
>>> url = UiPathUrl("https://test.uipath.com/org/tenant")
|
|
11
|
+
>>> url.base_url
|
|
12
|
+
'https://test.uipath.com'
|
|
13
|
+
>>> url.org_name
|
|
14
|
+
'org'
|
|
15
|
+
>>> url.tenant_name
|
|
16
|
+
'tenant'
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
url (str): The URL to parse.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
def __init__(self, url: str):
|
|
23
|
+
self._url = url
|
|
24
|
+
|
|
25
|
+
def __str__(self):
|
|
26
|
+
return self._url
|
|
27
|
+
|
|
28
|
+
def __repr__(self):
|
|
29
|
+
return f"UiPathUrl({self._url})"
|
|
30
|
+
|
|
31
|
+
def __eq__(self, other: object):
|
|
32
|
+
if not isinstance(other, UiPathUrl):
|
|
33
|
+
return NotImplemented
|
|
34
|
+
|
|
35
|
+
return self._url == str(other)
|
|
36
|
+
|
|
37
|
+
def __ne__(self, other: object):
|
|
38
|
+
if not isinstance(other, UiPathUrl):
|
|
39
|
+
return NotImplemented
|
|
40
|
+
|
|
41
|
+
return self._url != str(other)
|
|
42
|
+
|
|
43
|
+
def __hash__(self):
|
|
44
|
+
return hash(self._url)
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def base_url(self):
|
|
48
|
+
parsed = urlparse(self._url)
|
|
49
|
+
|
|
50
|
+
return f"{parsed.scheme}://{parsed.hostname}{f':{parsed.port}' if parsed.port else ''}"
|
|
51
|
+
|
|
52
|
+
@property
|
|
53
|
+
def org_name(self):
|
|
54
|
+
return self._org_tenant_names[0]
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def tenant_name(self):
|
|
58
|
+
return self._org_tenant_names[1]
|
|
59
|
+
|
|
60
|
+
def scope_url(self, url: str, scoped: Literal["org", "tenant"] = "tenant") -> str:
|
|
61
|
+
if not self._is_relative_url(url):
|
|
62
|
+
return url
|
|
63
|
+
|
|
64
|
+
parts = [self.org_name]
|
|
65
|
+
if scoped == "tenant":
|
|
66
|
+
parts.append(self.tenant_name)
|
|
67
|
+
parts.append(url.strip("/"))
|
|
68
|
+
|
|
69
|
+
return "/".join(parts)
|
|
70
|
+
|
|
71
|
+
@property
|
|
72
|
+
def _org_tenant_names(self):
|
|
73
|
+
parsed = urlparse(self._url)
|
|
74
|
+
|
|
75
|
+
try:
|
|
76
|
+
org_name, tenant_name = parsed.path.strip("/").split("/")
|
|
77
|
+
except ValueError:
|
|
78
|
+
return "", ""
|
|
79
|
+
|
|
80
|
+
return org_name, tenant_name
|
|
81
|
+
|
|
82
|
+
def _is_relative_url(self, url: str) -> bool:
|
|
83
|
+
parsed = urlparse(url)
|
|
84
|
+
|
|
85
|
+
return parsed.hostname is None and parsed.path == url
|
uipath/models/__init__.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .action_schema import ActionSchema
|
|
2
2
|
from .actions import Action
|
|
3
|
-
from .assets import UserAsset
|
|
3
|
+
from .assets import Asset, UserAsset
|
|
4
|
+
from .attachment import Attachment
|
|
4
5
|
from .buckets import Bucket
|
|
5
6
|
from .connections import Connection, ConnectionToken
|
|
6
7
|
from .context_grounding import ContextGroundingQueryResponse
|
|
@@ -25,6 +26,8 @@ from .queues import (
|
|
|
25
26
|
|
|
26
27
|
__all__ = [
|
|
27
28
|
"Action",
|
|
29
|
+
"Asset",
|
|
30
|
+
"Attachment",
|
|
28
31
|
"UserAsset",
|
|
29
32
|
"ContextGroundingQueryResponse",
|
|
30
33
|
"ContextGroundingIndex",
|
uipath/models/assets.py
CHANGED
|
@@ -46,3 +46,25 @@ class UserAsset(BaseModel):
|
|
|
46
46
|
default=None, alias="ConnectionData"
|
|
47
47
|
)
|
|
48
48
|
id: Optional[int] = Field(default=None, alias="Id")
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class Asset(BaseModel):
|
|
52
|
+
model_config = ConfigDict(
|
|
53
|
+
validate_by_name=True,
|
|
54
|
+
validate_by_alias=True,
|
|
55
|
+
use_enum_values=True,
|
|
56
|
+
arbitrary_types_allowed=True,
|
|
57
|
+
extra="allow",
|
|
58
|
+
)
|
|
59
|
+
key: Optional[str] = Field(default=None, alias="Key")
|
|
60
|
+
description: Optional[str] = Field(default=None, alias="Description")
|
|
61
|
+
name: Optional[str] = Field(default=None, alias="Name")
|
|
62
|
+
value: Optional[str] = Field(default=None, alias="Value")
|
|
63
|
+
value_type: Optional[str] = Field(default=None, alias="ValueType")
|
|
64
|
+
string_value: Optional[str] = Field(default=None, alias="StringValue")
|
|
65
|
+
bool_value: Optional[bool] = Field(default=None, alias="BoolValue")
|
|
66
|
+
int_value: Optional[int] = Field(default=None, alias="IntValue")
|
|
67
|
+
credential_username: Optional[str] = Field(default=None, alias="CredentialUsername")
|
|
68
|
+
credential_password: Optional[str] = Field(default=None, alias="CredentialPassword")
|
|
69
|
+
external_name: Optional[str] = Field(default=None, alias="ExternalName")
|
|
70
|
+
credential_store_id: Optional[int] = Field(default=None, alias="CredentialStoreId")
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import uuid
|
|
2
|
+
from datetime import datetime
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Attachment(BaseModel):
|
|
9
|
+
"""Model representing an attachment in UiPath.
|
|
10
|
+
|
|
11
|
+
Attachments can be associated with jobs in UiPath and contain binary files or documents.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
model_config = ConfigDict(
|
|
15
|
+
validate_by_name=True,
|
|
16
|
+
validate_by_alias=True,
|
|
17
|
+
use_enum_values=True,
|
|
18
|
+
arbitrary_types_allowed=True,
|
|
19
|
+
extra="allow",
|
|
20
|
+
json_encoders={datetime: lambda v: v.isoformat() if v else None},
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
name: str = Field(alias="Name")
|
|
24
|
+
creation_time: Optional[datetime] = Field(default=None, alias="CreationTime")
|
|
25
|
+
last_modification_time: Optional[datetime] = Field(
|
|
26
|
+
default=None, alias="LastModificationTime"
|
|
27
|
+
)
|
|
28
|
+
key: uuid.UUID = Field(alias="Key")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: uipath
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.55
|
|
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,26 +2,26 @@ 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=
|
|
5
|
+
uipath/_uipath.py,sha256=54u-aPF29DE3fOn8yM1pjVTqSZxSSaIsifiZG9Mt_YM,3824
|
|
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
|
|
9
|
-
uipath/_cli/cli_auth.py,sha256=
|
|
9
|
+
uipath/_cli/cli_auth.py,sha256=aIecyySuGXJEQHnS6b-M6sxM7ki5trjqq_J7s-sCdQE,3966
|
|
10
10
|
uipath/_cli/cli_deploy.py,sha256=KPCmQ0c_NYD5JofSDao5r6QYxHshVCRxlWDVnQvlp5w,645
|
|
11
11
|
uipath/_cli/cli_init.py,sha256=6qIjGFwfmeDs_7yzDqfl4zdnpDzlIjPAth0dY7kAP04,3736
|
|
12
12
|
uipath/_cli/cli_invoke.py,sha256=IjndcDWBpvAqGCRanQU1vfmxaBF8FhyZ7gWuZqwjHrU,3812
|
|
13
13
|
uipath/_cli/cli_new.py,sha256=9378NYUBc9j-qKVXV7oja-jahfJhXBg8zKVyaon7ctY,2102
|
|
14
14
|
uipath/_cli/cli_pack.py,sha256=8Ahk0vr_8eqMsq9ehhYWNfeII0VIiZVBXMpRF7Dbvtg,15018
|
|
15
15
|
uipath/_cli/cli_publish.py,sha256=Ba0TJ1TSfuQbLU2AIgtM8QWkLHgr4tsAP1CaX12113U,6010
|
|
16
|
-
uipath/_cli/cli_run.py,sha256=
|
|
16
|
+
uipath/_cli/cli_run.py,sha256=0q_DqM2QNfD8yOqUZB_5BTg96pCLzbHE1enD_XAj6CE,5215
|
|
17
17
|
uipath/_cli/middlewares.py,sha256=IiJgjsqrJVKSXx4RcIKHWoH-SqWqpHPbhzkQEybmAos,3937
|
|
18
18
|
uipath/_cli/spinner.py,sha256=bS-U_HA5yne11ejUERu7CQoXmWdabUD2bm62EfEdV8M,1107
|
|
19
|
-
uipath/_cli/_auth/_auth_server.py,sha256=
|
|
19
|
+
uipath/_cli/_auth/_auth_server.py,sha256=p93_EvJpdoLLkiVmLygHRKo9ru1-PZOEAaEhNFN3j6c,6424
|
|
20
20
|
uipath/_cli/_auth/_models.py,sha256=sYMCfvmprIqnZxStlD_Dxx2bcxgn0Ri4D7uwemwkcNg,948
|
|
21
21
|
uipath/_cli/_auth/_oidc_utils.py,sha256=WaX9jDlXrlX6yD8i8gsocV8ngjaT72Xd1tvsZMmSbco,2127
|
|
22
22
|
uipath/_cli/_auth/_portal_service.py,sha256=80W0cn3rx6NEi_b15aSQ0ZQWFv7Om7SaOlkUUk2k7pA,7240
|
|
23
23
|
uipath/_cli/_auth/_utils.py,sha256=9nb76xe5XmDZ0TAncp-_1SKqL6FdwRi9eS3C2noN1lY,1591
|
|
24
|
-
uipath/_cli/_auth/auth_config.json,sha256=
|
|
24
|
+
uipath/_cli/_auth/auth_config.json,sha256=OCNp3tTF2WL83pyJlZw-Wt8Slao9IpmmZJonl2OvaRw,340
|
|
25
25
|
uipath/_cli/_auth/index.html,sha256=ML_xDOcKs0ETYucufJskiYfWSvdrD_E26C0Qd3qpGj8,6280
|
|
26
26
|
uipath/_cli/_auth/localhost.crt,sha256=oGl9oLLOiouHubAt39B4zEfylFvKEtbtr_43SIliXJc,1226
|
|
27
27
|
uipath/_cli/_auth/localhost.key,sha256=X31VYXD8scZtmGA837dGX5l6G-LXHLo5ItWJhZXaz3c,1679
|
|
@@ -39,32 +39,35 @@ uipath/_cli/_utils/_folders.py,sha256=usjLNOMdhvelEv0wsJ-v6q-qiUR1tbwXJL4Sd_SOoc
|
|
|
39
39
|
uipath/_cli/_utils/_input_args.py,sha256=pyQhEcQXHdFHYTVNzvfWp439aii5StojoptnmCv5lfs,4094
|
|
40
40
|
uipath/_cli/_utils/_parse_ast.py,sha256=3XVjnhJNnSfjXlitct91VOtqSl0l-sqDpoWww28mMc0,20663
|
|
41
41
|
uipath/_cli/_utils/_processes.py,sha256=iCGNf1y_K_r3bdmX9VWA70UP20bdUzKlMRrAxkdkdm4,1669
|
|
42
|
-
uipath/_services/__init__.py,sha256=
|
|
43
|
-
uipath/_services/_base_service.py,sha256=
|
|
44
|
-
uipath/_services/actions_service.py,sha256=
|
|
45
|
-
uipath/_services/api_client.py,sha256=
|
|
46
|
-
uipath/_services/assets_service.py,sha256=
|
|
47
|
-
uipath/_services/
|
|
42
|
+
uipath/_services/__init__.py,sha256=10xtw3ENC30yR9CCq_b94RMZ3YrUeyfHV33yWYUd8tU,896
|
|
43
|
+
uipath/_services/_base_service.py,sha256=y-QATIRF9JnUFKIwmjOWMHlE2BrJYgD8y4sGAve2kEM,5338
|
|
44
|
+
uipath/_services/actions_service.py,sha256=LYKvG4VxNGQgZ46AzGK9kI1Txb-YmVvZj5ScPOue8Ls,15989
|
|
45
|
+
uipath/_services/api_client.py,sha256=hcof0EMa4-phEHD1WlO7Tdfzq6aL18Sbi2aBE7lJm1w,1821
|
|
46
|
+
uipath/_services/assets_service.py,sha256=gfQLCchT6evsmhip1-coX6oFbshoKUWlxwGrS6DGcHU,13200
|
|
47
|
+
uipath/_services/attachments_service.py,sha256=8iRdauPFzhJv65Uus69BBmA3jPckqfwBE4iGbXvktCQ,19653
|
|
48
|
+
uipath/_services/buckets_service.py,sha256=xTIAEs7EbpyZYqd7PG1q0emOOBM_Ca0rVoH417g2bl0,17521
|
|
48
49
|
uipath/_services/connections_service.py,sha256=qh-HNL_GJsyPUD0wSJZRF8ZdrTE9l4HrIilmXGK6dDk,4581
|
|
49
50
|
uipath/_services/context_grounding_service.py,sha256=wRYPnpTFeZunS88OggRZ9qRaILHKdoEP_6VUCaF-Xw0,24097
|
|
50
51
|
uipath/_services/folder_service.py,sha256=HtsBoBejvMuIZ-9gocAG9B8uKOFsAAD4WUozta-isXk,1673
|
|
51
|
-
uipath/_services/jobs_service.py,sha256=
|
|
52
|
+
uipath/_services/jobs_service.py,sha256=Z1CmglIe6pFt0XovPLbuLCp13mWQw92MgjfRivqsodE,16745
|
|
52
53
|
uipath/_services/llm_gateway_service.py,sha256=ySg3sflIoXmY9K7txlSm7bkuI2qzBT0kAKmGlFBk5KA,12032
|
|
53
54
|
uipath/_services/processes_service.py,sha256=12tflrzTNvtA0xGteQwrIZ0s-jCTinTv7gktder5tRE,5659
|
|
54
55
|
uipath/_services/queues_service.py,sha256=VaG3dWL2QK6AJBOLoW2NQTpkPfZjsqsYPl9-kfXPFzA,13534
|
|
55
|
-
uipath/_utils/__init__.py,sha256=
|
|
56
|
+
uipath/_utils/__init__.py,sha256=VdcpnENJIa0R6Y26NoxY64-wUVyvb4pKfTh1wXDQeMk,526
|
|
56
57
|
uipath/_utils/_endpoint.py,sha256=yYHwqbQuJIevpaTkdfYJS9CrtlFeEyfb5JQK5osTCog,2489
|
|
57
58
|
uipath/_utils/_infer_bindings.py,sha256=ysAftopcCBj4ojYyeVwbSl20qYhCDmqyldCinj6sICM,905
|
|
58
59
|
uipath/_utils/_logs.py,sha256=adfX_0UAn3YBeKJ8DQDeZs94rJyHGQO00uDfkaTpNWQ,510
|
|
59
60
|
uipath/_utils/_read_overwrites.py,sha256=dODvjNnDjcYOxVKnt0KqqqXmysULLBObKaEF8gJteg4,5149
|
|
60
|
-
uipath/_utils/_request_override.py,sha256=
|
|
61
|
+
uipath/_utils/_request_override.py,sha256=fIVHzgHVXITUlWcp8osNBwIafM1qm4_ejx0ng5UzfJ4,573
|
|
61
62
|
uipath/_utils/_request_spec.py,sha256=iCtBLqtbWUpFG5g1wtIZBzSupKsfaRLiQFoFc_4B70Q,747
|
|
63
|
+
uipath/_utils/_url.py,sha256=2PnINXuEPbhd9mlojJJdupm-sOrgV29o5DbWuaFrc-0,2039
|
|
62
64
|
uipath/_utils/_user_agent.py,sha256=pVJkFYacGwaQBomfwWVAvBQgdBUo62e4n3-fLIajWUU,563
|
|
63
65
|
uipath/_utils/constants.py,sha256=CKv-kTC8Fzu6E_KY9jD_fSt0Gbycn9sZg4O_3pzq2fo,873
|
|
64
|
-
uipath/models/__init__.py,sha256=
|
|
66
|
+
uipath/models/__init__.py,sha256=Kwqv1LzWNfSxJLMQrInVen3KDJ1z0eCcr6szQa0G0VE,1251
|
|
65
67
|
uipath/models/action_schema.py,sha256=lKDhP7Eix23fFvfQrqqNmSOiPyyNF6tiRpUu0VZIn_M,714
|
|
66
68
|
uipath/models/actions.py,sha256=ekSH4YUQR4KPOH-heBm9yOgOfirndx0In4_S4VYWeEU,2993
|
|
67
|
-
uipath/models/assets.py,sha256=
|
|
69
|
+
uipath/models/assets.py,sha256=Q-7_xmm503XHTKgCDrDtXsFl3VWBSVSyiWYW0mZjsnA,2942
|
|
70
|
+
uipath/models/attachment.py,sha256=prBlhhTvaBnLXJ3PKKxxHWbus35dCuag3_5HngksUjU,843
|
|
68
71
|
uipath/models/buckets.py,sha256=N3Lj_dVCv709-ywhOOdyCSvsuLn41eGuAfSiik6Q6F8,1285
|
|
69
72
|
uipath/models/connections.py,sha256=perIqW99YEg_0yWZPdpZlmNpZcwY_toR1wkqDUBdAN0,2014
|
|
70
73
|
uipath/models/context_grounding.py,sha256=S9PeOlFlw7VxzzJVR_Fs28OObW3MLHUPCFqNgkEz24k,1315
|
|
@@ -83,8 +86,8 @@ uipath/tracing/__init__.py,sha256=GimSzv6qkCOlHOG1WtjYKJsZqcXpA28IgoXfR33JhiA,13
|
|
|
83
86
|
uipath/tracing/_otel_exporters.py,sha256=x0PDPmDKJcxashsuehVsSsqBCzRr6WsNFaq_3_HS5F0,3014
|
|
84
87
|
uipath/tracing/_traced.py,sha256=GFxOp73jk0vGTN_H7YZOOsEl9rVLaEhXGztMiYKIA-8,16634
|
|
85
88
|
uipath/tracing/_utils.py,sha256=5SwsTGpHkIouXBndw-u8eCLnN4p7LM8DsTCCuf2jJgs,10165
|
|
86
|
-
uipath-2.0.
|
|
87
|
-
uipath-2.0.
|
|
88
|
-
uipath-2.0.
|
|
89
|
-
uipath-2.0.
|
|
90
|
-
uipath-2.0.
|
|
89
|
+
uipath-2.0.55.dist-info/METADATA,sha256=fvYKsM_vqRzxyTDGh_0fK1vNc7_rLxGRQFWvhfwVCik,6304
|
|
90
|
+
uipath-2.0.55.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
91
|
+
uipath-2.0.55.dist-info/entry_points.txt,sha256=9C2_29U6Oq1ExFu7usihR-dnfIVNSKc-0EFbh0rskB4,43
|
|
92
|
+
uipath-2.0.55.dist-info/licenses/LICENSE,sha256=-KBavWXepyDjimmzH5fVAsi-6jNVpIKFc2kZs0Ri4ng,1058
|
|
93
|
+
uipath-2.0.55.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|