tracdap-runtime 0.8.0rc1__py3-none-any.whl → 0.9.0b1__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.
Files changed (56) hide show
  1. tracdap/rt/_impl/core/data.py +578 -33
  2. tracdap/rt/_impl/core/repos.py +7 -0
  3. tracdap/rt/_impl/core/storage.py +10 -3
  4. tracdap/rt/_impl/core/util.py +54 -11
  5. tracdap/rt/_impl/exec/dev_mode.py +122 -100
  6. tracdap/rt/_impl/exec/engine.py +178 -109
  7. tracdap/rt/_impl/exec/functions.py +218 -257
  8. tracdap/rt/_impl/exec/graph.py +140 -125
  9. tracdap/rt/_impl/exec/graph_builder.py +411 -449
  10. tracdap/rt/_impl/grpc/codec.py +4 -2
  11. tracdap/rt/_impl/grpc/server.py +7 -7
  12. tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py +25 -18
  13. tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi +27 -9
  14. tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py +1 -1
  15. tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.py +40 -0
  16. tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.pyi +62 -0
  17. tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py +1 -1
  18. tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py +1 -1
  19. tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py +1 -1
  20. tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py +1 -1
  21. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +67 -63
  22. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +11 -2
  23. tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +1 -1
  24. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +3 -3
  25. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi +4 -0
  26. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +8 -6
  27. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi +8 -2
  28. tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py +18 -5
  29. tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi +42 -2
  30. tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py +1 -1
  31. tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.py +11 -9
  32. tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.pyi +11 -2
  33. tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py +1 -1
  34. tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py +1 -1
  35. tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py +1 -1
  36. tracdap/rt/_impl/runtime.py +8 -0
  37. tracdap/rt/_plugins/repo_git.py +56 -11
  38. tracdap/rt/_version.py +1 -1
  39. tracdap/rt/config/__init__.py +6 -4
  40. tracdap/rt/config/common.py +5 -0
  41. tracdap/rt/config/dynamic.py +28 -0
  42. tracdap/rt/config/job.py +13 -3
  43. tracdap/rt/config/result.py +8 -4
  44. tracdap/rt/config/runtime.py +2 -0
  45. tracdap/rt/metadata/__init__.py +37 -30
  46. tracdap/rt/metadata/config.py +95 -0
  47. tracdap/rt/metadata/job.py +2 -0
  48. tracdap/rt/metadata/object.py +6 -0
  49. tracdap/rt/metadata/object_id.py +4 -0
  50. tracdap/rt/metadata/resource.py +41 -1
  51. tracdap/rt/metadata/storage.py +9 -0
  52. {tracdap_runtime-0.8.0rc1.dist-info → tracdap_runtime-0.9.0b1.dist-info}/METADATA +5 -2
  53. {tracdap_runtime-0.8.0rc1.dist-info → tracdap_runtime-0.9.0b1.dist-info}/RECORD +56 -52
  54. {tracdap_runtime-0.8.0rc1.dist-info → tracdap_runtime-0.9.0b1.dist-info}/WHEEL +1 -1
  55. {tracdap_runtime-0.8.0rc1.dist-info → tracdap_runtime-0.9.0b1.dist-info/licenses}/LICENSE +0 -0
  56. {tracdap_runtime-0.8.0rc1.dist-info → tracdap_runtime-0.9.0b1.dist-info}/top_level.txt +0 -0
@@ -9,32 +9,16 @@ from .type import Value
9
9
  from .type import ArrayValue
10
10
  from .type import MapValue
11
11
 
12
- from .tag_update import TagOperation
13
- from .tag_update import TagUpdate
14
-
15
12
  from .object_id import ObjectType
16
13
  from .object_id import TagHeader
17
14
  from .object_id import TagSelector
18
15
 
19
- from .job import JobType
20
- from .job import JobStatusCode
21
- from .job import JobGroupType
22
- from .job import JobDefinition
23
- from .job import ResultDefinition
24
- from .job import RunModelJob
25
- from .job import RunFlowJob
26
- from .job import ImportModelJob
27
- from .job import ImportDataJob
28
- from .job import ExportDataJob
29
- from .job import JobGroup
30
- from .job import SequentialJobGroup
31
- from .job import ParallelJobGroup
32
-
33
- from .common import MetadataFormat
34
- from .common import MetadataVersion
35
- from .common import TenantInfo
36
-
37
- from .custom import CustomDefinition
16
+ from .search import SearchOperator
17
+ from .search import LogicalOperator
18
+ from .search import SearchTerm
19
+ from .search import LogicalExpression
20
+ from .search import SearchExpression
21
+ from .search import SearchParameters
38
22
 
39
23
  from .data import SchemaType
40
24
  from .data import PartType
@@ -55,12 +39,8 @@ from .model import ModelInputSchema
55
39
  from .model import ModelOutputSchema
56
40
  from .model import ModelDefinition
57
41
 
58
- from .search import SearchOperator
59
- from .search import LogicalOperator
60
- from .search import SearchTerm
61
- from .search import LogicalExpression
62
- from .search import SearchExpression
63
- from .search import SearchParameters
42
+ from .tag_update import TagOperation
43
+ from .tag_update import TagUpdate
64
44
 
65
45
  from .flow import FlowNodeType
66
46
  from .flow import FlowNode
@@ -68,8 +48,37 @@ from .flow import FlowSocket
68
48
  from .flow import FlowEdge
69
49
  from .flow import FlowDefinition
70
50
 
51
+ from .custom import CustomDefinition
52
+
53
+ from .resource import ResourceType
54
+ from .resource import ResourceDefinition
55
+
56
+ from .job import JobType
57
+ from .job import JobStatusCode
58
+ from .job import JobGroupType
59
+ from .job import JobDefinition
60
+ from .job import ResultDefinition
61
+ from .job import RunModelJob
62
+ from .job import RunFlowJob
63
+ from .job import ImportModelJob
64
+ from .job import ImportDataJob
65
+ from .job import ExportDataJob
66
+ from .job import JobGroup
67
+ from .job import SequentialJobGroup
68
+ from .job import ParallelJobGroup
69
+
70
+ from .common import MetadataFormat
71
+ from .common import MetadataVersion
72
+ from .common import TenantInfo
73
+
74
+ from .config import ConfigType
75
+ from .config import ConfigEntry
76
+ from .config import ConfigDetails
77
+ from .config import ConfigDefinition
78
+
71
79
  from .storage import CopyStatus
72
80
  from .storage import IncarnationStatus
81
+ from .storage import StorageLayout
73
82
  from .storage import StorageCopy
74
83
  from .storage import StorageIncarnation
75
84
  from .storage import StorageItem
@@ -78,5 +87,3 @@ from .storage import StorageDefinition
78
87
  from .object import ObjectDefinition
79
88
 
80
89
  from .tag import Tag
81
-
82
- from .resource import ResourceType
@@ -0,0 +1,95 @@
1
+ # Code generated by TRAC
2
+
3
+ import typing as _tp # noqa
4
+ import dataclasses as _dc # noqa
5
+ import enum as _enum # noqa
6
+
7
+ from .type import * # noqa
8
+ from .object_id import * # noqa
9
+ from .resource import * # noqa
10
+
11
+
12
+ class ConfigType(_enum.Enum):
13
+
14
+ """Enumeration of available config types"""
15
+
16
+ CONFIG_TYPE_NOT_SET = 0
17
+
18
+ PROPERTIES = 1
19
+
20
+ """A key-value properties map, follows the convention used for .properties files"""
21
+
22
+
23
+ @_dc.dataclass
24
+ class ConfigEntry:
25
+
26
+ """Represents the mapping of a config key to a config object."""
27
+
28
+ configClass: "str" = ""
29
+
30
+ """Config class for this config entry."""
31
+
32
+ configKey: "str" = ""
33
+
34
+ """Config key for this config entry."""
35
+
36
+ configVersion: "int" = 0
37
+
38
+ """Version of the config entry."""
39
+
40
+ configTimestamp: "DatetimeValue" = _dc.field(default_factory=lambda: DatetimeValue())
41
+
42
+ """Timestamp for when this version of the config entry was created."""
43
+
44
+ isLatestConfig: "bool" = False
45
+
46
+ """Flag indicating whether this is the latest version of the config entry."""
47
+
48
+ configDeleted: "bool" = False
49
+
50
+ """Flag indicating whether this config entry has been deleted."""
51
+
52
+ details: "_tp.Optional[ConfigDetails]" = None
53
+
54
+ """Describes the content of this config entry, can be used for list / summary views (optional)."""
55
+
56
+
57
+ @_dc.dataclass
58
+ class ConfigDetails:
59
+
60
+ """
61
+ Summary content of a config entry.
62
+
63
+ .. seealso::
64
+ :py:obj:`ConfigEntry <ConfigEntry>`
65
+ """
66
+
67
+ objectSelector: "TagSelector" = _dc.field(default_factory=lambda: TagSelector())
68
+
69
+ """Selector for the metadata object holding the content of this config entry."""
70
+
71
+ objectType: "ObjectType" = ObjectType.OBJECT_TYPE_NOT_SET
72
+
73
+ """Type of the metadata object referred to by this config entry."""
74
+
75
+ configType: "_tp.Optional[ConfigType]" = None
76
+
77
+ """Indicate the config type (for CONFIG objects only)"""
78
+
79
+ resourceType: "_tp.Optional[ResourceType]" = None
80
+
81
+ """Indicate the resource type (for RESOURCE objects only)"""
82
+
83
+
84
+ @_dc.dataclass
85
+ class ConfigDefinition:
86
+
87
+ """Definition of an individual config entry"""
88
+
89
+ configType: "ConfigType" = ConfigType.CONFIG_TYPE_NOT_SET
90
+
91
+ """The type of this config entry"""
92
+
93
+ properties: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
94
+
95
+ """The map of config properties (only available for PROPERTIES config entries)"""
@@ -133,6 +133,8 @@ class ResultDefinition:
133
133
 
134
134
  logFileId: "TagSelector" = _dc.field(default_factory=lambda: TagSelector())
135
135
 
136
+ outputs: "_tp.Dict[str, TagSelector]" = _dc.field(default_factory=dict)
137
+
136
138
 
137
139
  @_dc.dataclass
138
140
  class RunModelJob:
@@ -13,6 +13,8 @@ from .job import * # noqa
13
13
  from .file import * # noqa
14
14
  from .custom import * # noqa
15
15
  from .storage import * # noqa
16
+ from .config import * # noqa
17
+ from .resource import * # noqa
16
18
 
17
19
 
18
20
 
@@ -72,4 +74,8 @@ class ObjectDefinition:
72
74
 
73
75
  result: "_tp.Optional[ResultDefinition]" = None
74
76
 
77
+ config: "_tp.Optional[ConfigDefinition]" = None
78
+
79
+ resource: "_tp.Optional[ResourceDefinition]" = None
80
+
75
81
  objectProps: "_tp.Dict[str, Value]" = _dc.field(default_factory=dict)
@@ -36,6 +36,10 @@ class ObjectType(_enum.Enum):
36
36
 
37
37
  RESULT = 9
38
38
 
39
+ CONFIG = 10
40
+
41
+ RESOURCE = 11
42
+
39
43
 
40
44
  @_dc.dataclass
41
45
  class TagHeader:
@@ -5,7 +5,6 @@ import dataclasses as _dc # noqa
5
5
  import enum as _enum # noqa
6
6
 
7
7
  from .object_id import * # noqa
8
- from .object import * # noqa
9
8
 
10
9
 
11
10
  class ResourceType(_enum.Enum):
@@ -21,3 +20,44 @@ class ResourceType(_enum.Enum):
21
20
  INTERNAL_STORAGE = 2
22
21
 
23
22
  """Storage location for data held internally by the TRAC platform"""
23
+
24
+ EXTERNAL_STORAGE = 3
25
+
26
+ """Storage location for upstream downstream integration points"""
27
+
28
+
29
+ @_dc.dataclass
30
+ class ResourceDefinition:
31
+
32
+ """Definition of a platform resource"""
33
+
34
+ resourceType: "ResourceType" = ResourceType.RESOURCE_TYPE_NOT_SET
35
+
36
+ """The type of this resource"""
37
+
38
+ protocol: "str" = ""
39
+
40
+ """The protocol used to communicate with this resource (usually corresponds to a TRAC plugin)"""
41
+
42
+ subProtocol: "_tp.Optional[str]" = None
43
+
44
+ """Optional sub-protocol, to further distinguish the behavior of resources within a protocol"""
45
+
46
+ publicProperties: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
47
+
48
+ """Configuration properties for this resource, made visible to client applications"""
49
+
50
+ properties: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
51
+
52
+ """Configuration properties for this resource, not visible to client applications"""
53
+
54
+ secrets: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
55
+
56
+ """
57
+ Configuration properties that are stored as secrets using TRAC's secret handling mechanism
58
+
59
+ Only the secret alias is stored in metadata, handling of secret storage is delegated to the
60
+ configured secrets plugin. Secret values may be sent by clients when resource definitions are
61
+ created / updated, in which case they will be written to the configured secret store and
62
+ metadata values will be replaced with an alias.
63
+ """
@@ -49,6 +49,13 @@ class IncarnationStatus(_enum.Enum):
49
49
  """This incarnation of the data item is no longer available in storage, all copies have been expunged"""
50
50
 
51
51
 
52
+ class StorageLayout(_enum.Enum):
53
+
54
+ OBJECT_ID_LAYOUT = 0
55
+
56
+ DEVELOPER_LAYOUT = 1
57
+
58
+
52
59
  @_dc.dataclass
53
60
  class StorageCopy:
54
61
 
@@ -123,3 +130,5 @@ class StorageDefinition:
123
130
  dataItems: "_tp.Dict[str, StorageItem]" = _dc.field(default_factory=dict)
124
131
 
125
132
  storageOptions: "_tp.Dict[str, Value]" = _dc.field(default_factory=dict)
133
+
134
+ layout: "StorageLayout" = StorageLayout.OBJECT_ID_LAYOUT
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: tracdap-runtime
3
- Version: 0.8.0rc1
3
+ Version: 0.9.0b1
4
4
  Summary: Runtime package for building models on the TRAC Data & Analytics Platform
5
5
  Home-page: https://tracdap.finos.org/
6
6
  Author: Martin Traverse
@@ -21,6 +21,8 @@ Requires-Dist: pyarrow==18.1.0
21
21
  Requires-Dist: pyyaml==6.0.2
22
22
  Requires-Dist: dulwich==0.22.7
23
23
  Requires-Dist: requests==2.32.3
24
+ Requires-Dist: typing_extensions<4.13
25
+ Requires-Dist: urllib3<2.4.0
24
26
  Provides-Extra: grpc
25
27
  Requires-Dist: grpcio==1.70.0; extra == "grpc"
26
28
  Requires-Dist: grpcio-status==1.70.0; extra == "grpc"
@@ -46,6 +48,7 @@ Requires-Dist: azure-core==1.30.1; extra == "azure"
46
48
  Requires-Dist: azure-identity==1.16.1; extra == "azure"
47
49
  Requires-Dist: azure-storage-blob==12.19.1; extra == "azure"
48
50
  Requires-Dist: adlfs==2024.4.1; extra == "azure"
51
+ Dynamic: license-file
49
52
 
50
53
  # TRAC Model Runtime for Python
51
54
 
@@ -1,69 +1,71 @@
1
1
  tracdap/rt/__init__.py,sha256=4aCSENdKNrf9nC1lUULwmHpI1D3K74_4CJzpG_OjA4Q,830
2
- tracdap/rt/_version.py,sha256=iO6X9nC8D-FNaoh_9Y-PB3-uaglFFXYGj3fKhGVPSVk,821
2
+ tracdap/rt/_version.py,sha256=wSJoPOgmyrJ-u94n4Xq0Ms2EDDHRl6b_U2cAKcWsRRQ,820
3
3
  tracdap/rt/exceptions.py,sha256=PsB4fExDI-bliqJZD-ESrr9MeLPDW7R5VN_JcWg7TqU,8175
4
4
  tracdap/rt/_impl/__init__.py,sha256=nFn00zysNlcEFHQJWs4l6vLm9RS5zsJ_IF9-eRwEXlo,796
5
- tracdap/rt/_impl/runtime.py,sha256=FX5dqV-KfyvLfQvksv0RTle8N6kd_6-oaIJqSu32S6w,16955
5
+ tracdap/rt/_impl/runtime.py,sha256=fggeE99IW8TDe-9vz2Y2hggHLDV1DgdWuEoJVLkMylg,17434
6
6
  tracdap/rt/_impl/static_api.py,sha256=EN-ANv5SEoJnzS7o-x97or36plSfFRZYWN6cfZghEVs,11298
7
7
  tracdap/rt/_impl/core/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
8
8
  tracdap/rt/_impl/core/config_parser.py,sha256=R0OhSxU3VKHi8neGXZPOFj0C8WxQgu-t0nfcJ-c4qRE,24129
9
- tracdap/rt/_impl/core/data.py,sha256=Qe4-s14qtbxptw4BhFH_rISTdUrZrnuyEPIEar7ZrpM,47018
9
+ tracdap/rt/_impl/core/data.py,sha256=auVXaUQeo6gRoi2aQRGtSrVAzSSiuysVbWJOUWZ5NXU,68973
10
10
  tracdap/rt/_impl/core/guard_rails.py,sha256=eixt5hqFuAMmPlzDQyWBXSKDYt12d954qfk-lwkdQmI,11611
11
11
  tracdap/rt/_impl/core/logging.py,sha256=AdE_KtZ1HiiEuLwg6C_xcAgq0XULbaxHv3MWuv3GT_A,6505
12
12
  tracdap/rt/_impl/core/models.py,sha256=u2ZIql8Xm1kcG_Bu4lGaAsaLhxYEKxrZAkzYP3lBl88,11103
13
- tracdap/rt/_impl/core/repos.py,sha256=BoW4C7Urejr8YPiW8DFe9e5GynLhvhT2iYeUsDDUuTs,2289
13
+ tracdap/rt/_impl/core/repos.py,sha256=hAxlzjTBqDm9JD-UinO5yKVKQbnIxxQ4mQdedhShRts,2589
14
14
  tracdap/rt/_impl/core/schemas.py,sha256=w9Vk1yNg1-LaAqQkrL1mxY5TCwtKHcJJzpoz23AclwE,7625
15
15
  tracdap/rt/_impl/core/shim.py,sha256=Ek9dlbCSyTyt_B-gCJLR21SRRTZig7XluCCRHFv9pbE,23388
16
- tracdap/rt/_impl/core/storage.py,sha256=AFTdSXeKti67tdTspBQ4V7RlqAGu_S7DZb1rJDlZrdM,36114
16
+ tracdap/rt/_impl/core/storage.py,sha256=oTSUEQVf1wPkEaUOYE4ydZKUiyMIajTYkO2myRAMYpw,36404
17
17
  tracdap/rt/_impl/core/struct.py,sha256=4hnwG099BqD3wACXOEUeMBkLhAgNUWkG8lJwIXKSF9c,19144
18
18
  tracdap/rt/_impl/core/type_system.py,sha256=KGO32QvppRP_35y_pwapxWdJd-YS6VQ7NCSR-3VsMbM,15371
19
- tracdap/rt/_impl/core/util.py,sha256=Ro23tt4cjvgvPtiya932poPe5xW9q-vbb_t5u9fGV3Y,7620
19
+ tracdap/rt/_impl/core/util.py,sha256=iXE8s_sbSHdwBy2Fwk6-GBiYwbnEeqIIelGFN8pML_8,8904
20
20
  tracdap/rt/_impl/core/validation.py,sha256=XmRaaiBIYu5iqGPnBzU8SPSCYrCwGKfgEJITj5VKOpk,25029
21
21
  tracdap/rt/_impl/exec/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
22
22
  tracdap/rt/_impl/exec/actors.py,sha256=ebPBsIsgok02YM-Ql277Tbz8s-_xDhsteMa3sLV0xFw,35135
23
23
  tracdap/rt/_impl/exec/context.py,sha256=8RziSSoQRezq_-kCmci81xaoy-6Jaef6FOxPOcXnDws,47126
24
- tracdap/rt/_impl/exec/dev_mode.py,sha256=W7uXFmK-bgNowJZXQf4Sgcmw53bZ2j3lYlRws0T-BXY,43246
25
- tracdap/rt/_impl/exec/engine.py,sha256=WwSuuAy0PXtI53aIEF85rbHkD4yxX2wvNxwZZSOFBUo,48101
26
- tracdap/rt/_impl/exec/functions.py,sha256=lZl_6pqa1Huyq5wIt_zPbPxbER_rnPqSlKyWyU6fYCI,33829
27
- tracdap/rt/_impl/exec/graph.py,sha256=2r2ojPjxBDphyCqfWksaCBEW77o6ZmxZWAKzpAQiopA,11918
28
- tracdap/rt/_impl/exec/graph_builder.py,sha256=KLbQuY7TAHUwOTgorTnYvV-h07a1wip5WiRcOR9ZTiM,47699
24
+ tracdap/rt/_impl/exec/dev_mode.py,sha256=QmjER0XRkIFpXXkSqg8JFkZYgCiog8CSI0tcE1GCmkQ,44202
25
+ tracdap/rt/_impl/exec/engine.py,sha256=FyZCvuZGpgp1Hq8ovTm8lBaR3mIJgIFMMnnkOWQBkig,50549
26
+ tracdap/rt/_impl/exec/functions.py,sha256=3bXykc3-uGkAK0bpIpHvV0FyK3wBnBpVDeGtV8cvfZk,31951
27
+ tracdap/rt/_impl/exec/graph.py,sha256=jrTo331woEdK7QRDzgsp0Ftqyo8CKK9TIMw7GQUssnM,12119
28
+ tracdap/rt/_impl/exec/graph_builder.py,sha256=cy9cjRleGlSBKME7UCP20AHNoF4bbI_-BJscYxOiOOM,45816
29
29
  tracdap/rt/_impl/ext/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
30
30
  tracdap/rt/_impl/ext/sql.py,sha256=wDlSixuDWErDlDSXo55Ti5gpHXJ5oe75Lsb4ttlrUL0,2938
31
31
  tracdap/rt/_impl/ext/storage.py,sha256=HvMHAT5pE6XhUaUfyeZ7ej8JNz2jYsu0UQAEh0Iqnsw,1763
32
32
  tracdap/rt/_impl/grpc/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
33
- tracdap/rt/_impl/grpc/codec.py,sha256=wIOck8a82yy6k8RF6OkwY-rsWe08Hf-6KzuwZPABHhw,3970
34
- tracdap/rt/_impl/grpc/server.py,sha256=Q18O5yRAT-Jqr9wDXuUraOYhpEH-rfnFk9tvvb-o3Os,12635
35
- tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py,sha256=5KCfcaSZ9ydp26z78-iuM2jCmFRmqgDqMuxAg7Xgcx0,5174
36
- tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi,sha256=78VhnLgm_m6HSgQT0bg7j86O9g8GNMADkm3SotQ39lg,3227
33
+ tracdap/rt/_impl/grpc/codec.py,sha256=RHMpWbPsEyAlo0Yr9qQ_UC0MoRCkCRpKTJLA6_0AVqo,4100
34
+ tracdap/rt/_impl/grpc/server.py,sha256=b-yBa2QIzAVXz-AAS9vv4nrJOWbuiXT8GS3ngSxPIak,12669
35
+ tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py,sha256=s8fioW5Am3LubsHyGVK9IwztVTzSzi8DlUTBeecXuMA,6214
36
+ tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi,sha256=ldDDnkTudB3a01N7ICAkShH3fk6w8PBkto-Sz_2B5lE,4402
37
37
  tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2_grpc.py,sha256=dQod-kQYoAJwpIPHgGRiZBx4q_419JppjqELv7cUJrE,8461
38
- tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py,sha256=oql1naNGBKxpPIQZViewQSzUmMpt9U8gB-qSJpxkBwo,1945
38
+ tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py,sha256=PIYzsll4_D22OKSeJumJt_8ruXN4IXE844w2aUlUdh8,1945
39
39
  tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.pyi,sha256=R7fTC8HV0j8zB2E2KVtLWXSAeu5MVLrgeL-PnnOsUxg,1275
40
- tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py,sha256=DfHhxxvKU_htkLjUdvsVfxl8Gj8z5GenAuhCSuMT6Ps,1421
40
+ tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.py,sha256=NW6RLoNIv6rUFZ11trSX7-tP-kNEuhSztnu1np8NLO8,3718
41
+ tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.pyi,sha256=mmQ67x6fEi-JWg5xfx8joAvbQCx1iSfSM6taqc1eZLY,3311
42
+ tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py,sha256=oaKYaOskZyNnf6nIJ1mKHU1kcoqGEC7BaFN5ihFIfIE,1421
41
43
  tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.pyi,sha256=_GubsAG9rpuV_QhhXKTDOPeWIpkAkg5jlHkSZxaILak,702
42
- tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py,sha256=dLU42LwRw6m8Fcp3Q-f4Hb2a6-7ryUN6SB01zqy_iNA,7060
44
+ tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py,sha256=Bbv8s6Fuq7a4O-FbQmzQrzk9RGEq2ke4ysIdmlMOC74,7060
43
45
  tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi,sha256=ZbHX2-NFqeYzJqpz62MPwL7Q6Ayu_4d5AimRI68Lo8A,8167
44
- tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py,sha256=lKLP3cIzZX3mSdRMmwPBNdYjwunAs-BvzpqK29WJVak,1933
46
+ tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py,sha256=TSoIHvw8JvwOG44JiZviwYjNaweLDe-CqF5S85fKLoY,1933
45
47
  tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi,sha256=3JX6Vcc6cHlLXcihq0R_BDdvLQ2Ubob0XHzZnNCD7as,1385
46
- tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py,sha256=GyY4iaqp9wtZ29byMllPmk4o2nosUgdazdqf9KKUg-g,5799
48
+ tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py,sha256=igq0rmOtLDbVTaNg8q36kVyjxyGtGaA6PhCWEzkBdc0,5799
47
49
  tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.pyi,sha256=yCP4usBn7VWxFWdlB6NERiCd0R7BqqmH5k29WdKNk04,5880
48
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py,sha256=OiVZ_EChreM8t6DPKgXAuNBH8gwrrwochxYGjWNHtOU,15816
49
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi,sha256=PjRbckOQkJuY7y5XUCAPuO-oLFOghEuj659c3wGSaj4,19293
50
- tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py,sha256=q1VdvKCEslwCxqK6cEb4ABUh32j_veYaVg9WLLdSh2s,7803
50
+ tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py,sha256=FKBIs4zapJPZuVRFSFZnMBrkMH_YP255s8kQFoRPPuE,16312
51
+ tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi,sha256=-EKF2W-HH9boBfGt8J_6ejaXgrMj_Iwn5wSe9tZL0nk,19842
52
+ tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py,sha256=WJWpc4potYHtHftIgdDbMH0h2AnErhvNVJZ6APiiMiI,7803
51
53
  tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi,sha256=rBgvG_L521BbuzMpns3lKr5hOZmVwoHGW1bP2_EI4G0,7826
52
- tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py,sha256=4tRcud1WhYkYhEYGg0qZF7ED3QRDwP8Vg8kAh6FYZuw,2961
53
- tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi,sha256=8vSR8UbjxPpvtvLLshLGBnpaU1BKUw7D1i6ZilnpZCk,3291
54
- tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py,sha256=jogndNtuZCY30YRy0h_hQgNzy3Cz2qZGtlMq2dvFimU,4459
55
- tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi,sha256=xeT7A3pM-b6qRupmEYbaOqdy5Yn4ucRSfD5mqfdDEiE,3168
56
- tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py,sha256=cXIkqZRCHG2teGgvExqztCl5xtvitz4JO7PWT8IleFE,1843
57
- tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi,sha256=JAlgacWw94Yq3nnrrSEvtBfWw4kXlctZrj_V8TU4Tck,704
58
- tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py,sha256=YsUl-xK3jOQ6mOMCPe8G3-BWOFFz-MpUOXDWMV90DrQ,3654
54
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py,sha256=Mzp-EEOuLXakM6C2pVfeGsVj-zoNIQrL1Sb_Hi-tn8o,3021
55
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi,sha256=vGsKsxSjwhedaE-5I_sMi-pquyGHTmjfedmEjqSCV_A,3401
56
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py,sha256=cU6qc3opKpsmb6ETWGnqimm5XsiEYEDFaOeBrnw1-NU,5037
57
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi,sha256=ckprYPqWBl7HLYazSqfNkvkgusKOS45AbkGOZrECGjk,3670
58
+ tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py,sha256=JNR2TK8CxcQO0hwkE2bNoEud7PuAHTzFUyxAFDjSiRQ,3493
59
+ tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi,sha256=pCPvu0E7Z-4v4wJNGZo4DC2hoDA5bosxibjfzy5A3pk,2719
60
+ tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py,sha256=J49QfM3WsZcjlVRBYhUl7dqJtBFt9biixs3n7SdT2es,3654
59
61
  tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.pyi,sha256=PU-OYKRufI3v5Zx8RI4RvEZq3KPh91AOb8sDNwxyySY,3762
60
- tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.py,sha256=09l_I0KjEL3vtytvVSIK0-XKrLDIvPmb3zzNgekTyL8,4652
61
- tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.pyi,sha256=ImU8YT62pfiAMDYwTtX5E6nyI_n1PuhUWabFJlRFvnE,4746
62
- tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py,sha256=bQ6gA21bizykXQZPzC8AhaN5IgUYddzVEp7KSzz6KNM,2441
62
+ tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.py,sha256=FJarB8X7sU37enXR7CrCvt0pf4TaFM-QBr3kSNqcrbU,4929
63
+ tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.pyi,sha256=-a9zMyxD8y8zNXFI0Y2ngi_f7LumbW7PkO8xk2y_bH0,5125
64
+ tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py,sha256=OeQwXC5tBna5znjQpMpHrfzFSORBof6qs81RPN5aHmc,2441
63
65
  tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.pyi,sha256=6gP3-Rdiq84ng5d6DtVNEWZj5syt1xyD33jRWg3YcgU,1454
64
- tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py,sha256=HwJtcqjYwbYZw5LpZIaMux1qusVfEitl0wX-J8NMprI,2090
66
+ tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py,sha256=3Z7HLWVp3Enfv7R0epDVMx7FLLAQTNdbjp3fpqVFF-o,2090
65
67
  tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.pyi,sha256=Q3687BMYoH8OzJF2tYu6nEOR8Yz3UkU8f2cjxQ3lFv8,1470
66
- tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py,sha256=Vbr4xCD2r4wDEnZMV1ZnEgWvYhZph6EAwL4eZZrO4IE,4206
68
+ tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py,sha256=2x5ZJGlwlaKtnH2A43kHV6tWuzfrerq1N7aaMTD5KuM,4206
67
69
  tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.pyi,sha256=h-5HTqHMxFhTvfzZH7q-qWt7GeUhYnsQ8EqN9VoH_Ys,4356
68
70
  tracdap/rt/_plugins/__init__.py,sha256=nFn00zysNlcEFHQJWs4l6vLm9RS5zsJ_IF9-eRwEXlo,796
69
71
  tracdap/rt/_plugins/_helpers.py,sha256=--AkQUDvC0P_of_FRF5_xPd6er72yWI1G4GNYHUTX8w,6027
@@ -71,7 +73,7 @@ tracdap/rt/_plugins/config_local.py,sha256=SemksOXRPsUMNoTinjWe00F-Q4o-5X2ql3esw
71
73
  tracdap/rt/_plugins/format_arrow.py,sha256=TQb6WR2MrjXem1gJg4EZQy3NGP-hEe1GneiSkvSAqeM,2397
72
74
  tracdap/rt/_plugins/format_csv.py,sha256=NJ-8XeZH5ZplNUv7iLZBgVXzbXJ9jutU0cqXSdyM-Mo,17015
73
75
  tracdap/rt/_plugins/format_parquet.py,sha256=VwmrcEvaGczzdaWFgmpT9kYDKDk5UwQ6BQF31vm7D-g,2346
74
- tracdap/rt/_plugins/repo_git.py,sha256=5snP5IkzEQP_XdhAM5U3IkV8wv-yZGLHzN-d6BL1h2k,10464
76
+ tracdap/rt/_plugins/repo_git.py,sha256=oTVGNTYUF5-r4YVtXMRZD5WY6mCO2natSuFHrNluEBo,11863
75
77
  tracdap/rt/_plugins/repo_local.py,sha256=PZGDeRA2SLJTO-Z-YV9CHeXPUB0zt_fzIElCsw8zR-c,2913
76
78
  tracdap/rt/_plugins/repo_pypi.py,sha256=fuxOLVkxZyV8ikPe0w-3qRdcfFaFc0jxQDY08g-8Hy0,13532
77
79
  tracdap/rt/_plugins/storage_aws.py,sha256=yxDYw0jL-hXoUgqBlPhL1I_8i8LehOMjZKtG_n-hY0g,13160
@@ -86,12 +88,13 @@ tracdap/rt/api/experimental.py,sha256=ycD7xpMyXBI6W2UCirCbYtQ0rVVCNByAsA0p3euXmo
86
88
  tracdap/rt/api/hook.py,sha256=0TA_pu-22IoVNacf38dq3Aaz4sHoau1IdhabfxgKtOE,5243
87
89
  tracdap/rt/api/model_api.py,sha256=ONDU0ocNnejGi2r9nCKTlblqw847Yz4vtGo4M8inc9Q,22435
88
90
  tracdap/rt/api/static_api.py,sha256=vSt6JUhxuOKQ5wI3CdmHgf8BskHffjry1lId2buDEeA,31852
89
- tracdap/rt/config/__init__.py,sha256=ecwOIj18iFmBO71lkgci1tpD1D1o0XQDNKHpwblLo3U,796
90
- tracdap/rt/config/common.py,sha256=uKdwvfAKUzi8Wag4NpIYIZyL3D-Ed-KN1sqYuOpOROw,1187
91
- tracdap/rt/config/job.py,sha256=B-aVIq0vJUY41-vPuIOLIq4A2hdfL9EJN0X9--nGfcI,656
91
+ tracdap/rt/config/__init__.py,sha256=Aw8EQYJugkXJ0ivDY-D2phb6wrs7vXMdJBje1WVvgyQ,833
92
+ tracdap/rt/config/common.py,sha256=DkOqW5w-ReQkFGSCnKFodZ2rgxQOCafMJCtXKXTKqIc,1315
93
+ tracdap/rt/config/dynamic.py,sha256=3PaL3IVDxb1_PSxdp820U4uEmLlKBLBBIwCHyVQZ1l4,738
94
+ tracdap/rt/config/job.py,sha256=myFKnwRe2VoBesK8pJjKRwDMX2K6oMkixT5RYI7bo2w,1008
92
95
  tracdap/rt/config/platform.py,sha256=aU7sVInAcf7NxPk6KufaHqDbM_NZRQ9qOb3w4rDT4qI,3005
93
- tracdap/rt/config/result.py,sha256=cKFz9ql_6Ru6qj7UP_VJZ2HJORf52dmi1dnK7eBxD-g,612
94
- tracdap/rt/config/runtime.py,sha256=ENzEEiAOEmHOgaTVXO9j6WOX6Vv0cVSdYcFxJb_CTnQ,707
96
+ tracdap/rt/config/result.py,sha256=SwuyVaXMef1wy4EUzTxxbXDhtZvYv8fb72DX2nV_wuA,850
97
+ tracdap/rt/config/runtime.py,sha256=HejW-r02CC4musmRm6sCZNk1bgX08h2_iZ55qSPUwN8,779
95
98
  tracdap/rt/ext/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
96
99
  tracdap/rt/ext/config.py,sha256=5LM1IuRjoVe43oLSgn02LAv1uvDl_lBfZrLjjiduCBU,1223
97
100
  tracdap/rt/ext/embed.py,sha256=QmxDnoRK8jYN664jqEQFQlYBPX81Q7wpHKdKsRqNiDo,2297
@@ -102,24 +105,25 @@ tracdap/rt/launch/__init__.py,sha256=SPIwj5Bwa-IlhrfY1OJspYnL_mPLvz4F9XTAYKeu6IE
102
105
  tracdap/rt/launch/__main__.py,sha256=tfr5wL1gHm0oj4tcX6pv6bl-3Z1K7VMpmmNMQzfMFzU,841
103
106
  tracdap/rt/launch/cli.py,sha256=jGySYBawTDFJrhHgwYnplXb9VPcgfrBVB2UURqx5s-s,2638
104
107
  tracdap/rt/launch/launch.py,sha256=BogIdacUhIvr_Ay-LU2eik8Y1DvGr-GrOiOi40XqZ1A,7806
105
- tracdap/rt/metadata/__init__.py,sha256=qlU7pQPu-AEjPEAiXRNqTApWo8aqa8rvIH4J9nDvLbA,2154
108
+ tracdap/rt/metadata/__init__.py,sha256=eC-O9oA1Q_BxdFCizWDsWPiPmEEOR_XcMKcxj8H1Vco,2365
106
109
  tracdap/rt/metadata/common.py,sha256=J24poYPHSJfORPqqhyJGTAmepdhVaT0V0RblWiW9jCI,1404
110
+ tracdap/rt/metadata/config.py,sha256=jOG78zCw6RPW0Parawbygw_KKx0FjTdPiGZ9MdQrd28,2360
107
111
  tracdap/rt/metadata/custom.py,sha256=GhCO8xjjsjZzlfSefqmCFX80rXJnxDCDq_STWi0ZL_0,352
108
112
  tracdap/rt/metadata/data.py,sha256=uYUyV7VmtGZ4s8hv4JMN6sXix2USu6TmOqq0POlEX7U,4424
109
113
  tracdap/rt/metadata/file.py,sha256=d4VLinEXiXZamLtPbZSqZQamQbxR8dsU1m680vDaxoY,628
110
114
  tracdap/rt/metadata/flow.py,sha256=IgZTh62xndAAFG1Y44JORrVKOV7Bd4dEqtWjf1CGeHU,3491
111
- tracdap/rt/metadata/job.py,sha256=r8IBe-IumI_An1jrg-h8mM2bZPEew8evpXp5GkfEfNo,6390
115
+ tracdap/rt/metadata/job.py,sha256=K-tk1jix1iLGOduZAMfqZCyD0QVgGjilOe06K01ZxYI,6467
112
116
  tracdap/rt/metadata/model.py,sha256=bLeAhFtKa9zOAjf5hd1PnJoEZdHqyl0Drskn464dmqA,3761
113
- tracdap/rt/metadata/object.py,sha256=gt5lnPC3nba3UjejzZD7g6wv7oi39b8WTdxhn4nixcs,2849
114
- tracdap/rt/metadata/object_id.py,sha256=iZ3Xx5z6nwIagg8Mziuo5ea6Tz1UWk9U5ZTqCgIaYq0,4399
115
- tracdap/rt/metadata/resource.py,sha256=V6xMOadgzemGvxH7yyhBigRCpg24ZxQPV3WNBvwRcGI,526
117
+ tracdap/rt/metadata/object.py,sha256=6Nw09UewFQ-BzqmGywYTK_GZHf3bw2hNHPpud_4Pu-o,3021
118
+ tracdap/rt/metadata/object_id.py,sha256=BorEJWcNCayItRBLODdpJ0Xo2GfCWgQ4dWE28Rl4n1Q,4435
119
+ tracdap/rt/metadata/resource.py,sha256=GgYiD-6hsDw01fZEjwQ55SgCxGJxIeVW4Crm1jQpiWc,1920
116
120
  tracdap/rt/metadata/search.py,sha256=BaH0mL80QEQ6iDmef1bIqEBIlm70orkc18DQv3pya6Y,9931
117
- tracdap/rt/metadata/storage.py,sha256=-WYc3aJskSCF_ETFQDavG3fTck__WPGMOfzWEBv55p4,3153
121
+ tracdap/rt/metadata/storage.py,sha256=_yh7GkQNf38yVkFj0ZNEzaIdhwiuDmD62Pepl-McM6M,3302
118
122
  tracdap/rt/metadata/tag.py,sha256=cjKF5gdNECHDtA9sc09Dc2Q4WNZQA_7iJsUEHSKFXiQ,5097
119
123
  tracdap/rt/metadata/tag_update.py,sha256=I7iDJiHEcSQ2vhOlhIc0fzeOoqTg6N1LJZU1R6tG_8g,3779
120
124
  tracdap/rt/metadata/type.py,sha256=7XOGlLVvxd6DEmKRBYTANBsu9lmxDOsMKE0aNvzsB3M,9568
121
- tracdap_runtime-0.8.0rc1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
122
- tracdap_runtime-0.8.0rc1.dist-info/METADATA,sha256=Kd9XieTlLPNbKknfiLj3EKwg-kPyLkDD2DKjEcwJo-g,5182
123
- tracdap_runtime-0.8.0rc1.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
124
- tracdap_runtime-0.8.0rc1.dist-info/top_level.txt,sha256=Uv0JfaE1Lp4JnCzqW8lqXNJAEcsAFpAUGOghJolVNdM,8
125
- tracdap_runtime-0.8.0rc1.dist-info/RECORD,,
125
+ tracdap_runtime-0.9.0b1.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
126
+ tracdap_runtime-0.9.0b1.dist-info/METADATA,sha256=p6Cy4tsQIMhoW1cOktdk3gGQ3AWZKWpS0WxwwkkcQN8,5270
127
+ tracdap_runtime-0.9.0b1.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
128
+ tracdap_runtime-0.9.0b1.dist-info/top_level.txt,sha256=Uv0JfaE1Lp4JnCzqW8lqXNJAEcsAFpAUGOghJolVNdM,8
129
+ tracdap_runtime-0.9.0b1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (80.7.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5