tracdap-runtime 0.8.0rc2__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.
- tracdap/rt/_impl/core/data.py +578 -33
- tracdap/rt/_impl/core/repos.py +7 -0
- tracdap/rt/_impl/core/storage.py +10 -3
- tracdap/rt/_impl/core/util.py +54 -11
- tracdap/rt/_impl/exec/dev_mode.py +122 -100
- tracdap/rt/_impl/exec/engine.py +178 -109
- tracdap/rt/_impl/exec/functions.py +218 -257
- tracdap/rt/_impl/exec/graph.py +140 -125
- tracdap/rt/_impl/exec/graph_builder.py +411 -449
- tracdap/rt/_impl/grpc/codec.py +4 -2
- tracdap/rt/_impl/grpc/server.py +7 -7
- tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py +25 -18
- tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi +27 -9
- tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +67 -63
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +11 -2
- tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.py +11 -9
- tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.pyi +11 -2
- tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py +1 -1
- tracdap/rt/_impl/runtime.py +8 -0
- tracdap/rt/_plugins/repo_git.py +56 -11
- tracdap/rt/_version.py +1 -1
- tracdap/rt/config/__init__.py +6 -6
- tracdap/rt/config/common.py +5 -0
- tracdap/rt/config/job.py +13 -3
- tracdap/rt/config/result.py +8 -4
- tracdap/rt/config/runtime.py +2 -0
- tracdap/rt/metadata/__init__.py +37 -36
- tracdap/rt/metadata/job.py +2 -0
- tracdap/rt/metadata/storage.py +9 -0
- {tracdap_runtime-0.8.0rc2.dist-info → tracdap_runtime-0.9.0b1.dist-info}/METADATA +3 -1
- {tracdap_runtime-0.8.0rc2.dist-info → tracdap_runtime-0.9.0b1.dist-info}/RECORD +47 -47
- {tracdap_runtime-0.8.0rc2.dist-info → tracdap_runtime-0.9.0b1.dist-info}/WHEEL +1 -1
- {tracdap_runtime-0.8.0rc2.dist-info → tracdap_runtime-0.9.0b1.dist-info}/licenses/LICENSE +0 -0
- {tracdap_runtime-0.8.0rc2.dist-info → tracdap_runtime-0.9.0b1.dist-info}/top_level.txt +0 -0
@@ -18,12 +18,19 @@ class IncarnationStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
18
18
|
INCARNATION_STATUS_NOT_SET: _ClassVar[IncarnationStatus]
|
19
19
|
INCARNATION_AVAILABLE: _ClassVar[IncarnationStatus]
|
20
20
|
INCARNATION_EXPUNGED: _ClassVar[IncarnationStatus]
|
21
|
+
|
22
|
+
class StorageLayout(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
23
|
+
__slots__ = ()
|
24
|
+
OBJECT_ID_LAYOUT: _ClassVar[StorageLayout]
|
25
|
+
DEVELOPER_LAYOUT: _ClassVar[StorageLayout]
|
21
26
|
COPY_STATUS_NOT_SET: CopyStatus
|
22
27
|
COPY_AVAILABLE: CopyStatus
|
23
28
|
COPY_EXPUNGED: CopyStatus
|
24
29
|
INCARNATION_STATUS_NOT_SET: IncarnationStatus
|
25
30
|
INCARNATION_AVAILABLE: IncarnationStatus
|
26
31
|
INCARNATION_EXPUNGED: IncarnationStatus
|
32
|
+
OBJECT_ID_LAYOUT: StorageLayout
|
33
|
+
DEVELOPER_LAYOUT: StorageLayout
|
27
34
|
|
28
35
|
class StorageCopy(_message.Message):
|
29
36
|
__slots__ = ("storageKey", "storagePath", "storageFormat", "copyStatus", "copyTimestamp", "storageOptions")
|
@@ -67,7 +74,7 @@ class StorageItem(_message.Message):
|
|
67
74
|
def __init__(self, incarnations: _Optional[_Iterable[_Union[StorageIncarnation, _Mapping]]] = ...) -> None: ...
|
68
75
|
|
69
76
|
class StorageDefinition(_message.Message):
|
70
|
-
__slots__ = ("dataItems", "storageOptions")
|
77
|
+
__slots__ = ("dataItems", "storageOptions", "layout")
|
71
78
|
class DataItemsEntry(_message.Message):
|
72
79
|
__slots__ = ("key", "value")
|
73
80
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
@@ -84,6 +91,8 @@ class StorageDefinition(_message.Message):
|
|
84
91
|
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_type_pb2.Value, _Mapping]] = ...) -> None: ...
|
85
92
|
DATAITEMS_FIELD_NUMBER: _ClassVar[int]
|
86
93
|
STORAGEOPTIONS_FIELD_NUMBER: _ClassVar[int]
|
94
|
+
LAYOUT_FIELD_NUMBER: _ClassVar[int]
|
87
95
|
dataItems: _containers.MessageMap[str, StorageItem]
|
88
96
|
storageOptions: _containers.MessageMap[str, _type_pb2.Value]
|
89
|
-
|
97
|
+
layout: StorageLayout
|
98
|
+
def __init__(self, dataItems: _Optional[_Mapping[str, StorageItem]] = ..., storageOptions: _Optional[_Mapping[str, _type_pb2.Value]] = ..., layout: _Optional[_Union[StorageLayout, str]] = ...) -> None: ...
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
3
|
# source: tracdap/rt/_impl/grpc/tracdap/metadata/tag.proto
|
4
|
-
# Protobuf Python Version: 4.25.
|
4
|
+
# Protobuf Python Version: 4.25.5
|
5
5
|
"""Generated protocol buffer code."""
|
6
6
|
from google.protobuf import descriptor as _descriptor
|
7
7
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
3
|
# source: tracdap/rt/_impl/grpc/tracdap/metadata/tag_update.proto
|
4
|
-
# Protobuf Python Version: 4.25.
|
4
|
+
# Protobuf Python Version: 4.25.5
|
5
5
|
"""Generated protocol buffer code."""
|
6
6
|
from google.protobuf import descriptor as _descriptor
|
7
7
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
3
|
# source: tracdap/rt/_impl/grpc/tracdap/metadata/type.proto
|
4
|
-
# Protobuf Python Version: 4.25.
|
4
|
+
# Protobuf Python Version: 4.25.5
|
5
5
|
"""Generated protocol buffer code."""
|
6
6
|
from google.protobuf import descriptor as _descriptor
|
7
7
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
tracdap/rt/_impl/runtime.py
CHANGED
@@ -30,6 +30,7 @@ import tracdap.rt.config as _cfg
|
|
30
30
|
import tracdap.rt.exceptions as _ex
|
31
31
|
import tracdap.rt.ext.plugins as _plugins
|
32
32
|
import tracdap.rt._impl.core.config_parser as _cparse
|
33
|
+
import tracdap.rt._impl.core.data as _data
|
33
34
|
import tracdap.rt._impl.core.guard_rails as _guard
|
34
35
|
import tracdap.rt._impl.core.logging as _logging
|
35
36
|
import tracdap.rt._impl.core.models as _models
|
@@ -167,6 +168,13 @@ class TracRuntime:
|
|
167
168
|
else:
|
168
169
|
self._log.info("Using embedded system config")
|
169
170
|
|
171
|
+
# Check whether to enable categorical processing in the data layer
|
172
|
+
|
173
|
+
if _data.DataMapping.CATEGORICAL_CONFIG_KEY in self._sys_config.properties:
|
174
|
+
categorical_prop = self._sys_config.properties[_data.DataMapping.CATEGORICAL_CONFIG_KEY]
|
175
|
+
categorical_flag = categorical_prop and categorical_prop.lower() == "true"
|
176
|
+
_data.DataMapping.enable_categorical(categorical_flag)
|
177
|
+
|
170
178
|
# Dev mode translation is controlled by the dev mode flag
|
171
179
|
# I.e. it can be applied to embedded configs
|
172
180
|
|
tracdap/rt/_plugins/repo_git.py
CHANGED
@@ -23,6 +23,7 @@ import time
|
|
23
23
|
import dulwich.repo as git_repo
|
24
24
|
import dulwich.client as git_client
|
25
25
|
import dulwich.index as git_index
|
26
|
+
import urllib3.exceptions # noqa
|
26
27
|
|
27
28
|
import tracdap.rt.metadata as meta
|
28
29
|
import tracdap.rt.exceptions as ex
|
@@ -75,20 +76,45 @@ class GitRepository(IModelRepository):
|
|
75
76
|
|
76
77
|
def do_checkout(self, model_def: meta.ModelDefinition, checkout_dir: pathlib.Path) -> pathlib.Path:
|
77
78
|
|
78
|
-
|
79
|
-
f"Git checkout: repo = [{model_def.repository}], " +
|
80
|
-
f"group = [{model_def.packageGroup}], package = [{model_def.package}], version = [{model_def.version}]")
|
79
|
+
try:
|
81
80
|
|
82
|
-
|
81
|
+
self._log.info(
|
82
|
+
f"Git checkout: repo = [{model_def.repository}], " +
|
83
|
+
f"group = [{model_def.packageGroup}], package = [{model_def.package}], version = [{model_def.version}]")
|
83
84
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
85
|
+
self._log.info(f"Checkout location: [{checkout_dir}]")
|
86
|
+
|
87
|
+
if self._native_git:
|
88
|
+
package_path = self._do_native_checkout(model_def, checkout_dir)
|
89
|
+
else:
|
90
|
+
package_path = self._do_python_checkout(model_def, checkout_dir)
|
91
|
+
|
92
|
+
self._log.info(f"Git checkout succeeded for {model_def.package} {model_def.version}")
|
93
|
+
|
94
|
+
return package_path
|
95
|
+
|
96
|
+
except Exception as e:
|
97
|
+
|
98
|
+
error = e
|
99
|
+
|
100
|
+
# For retry failures, try to find the original cause
|
101
|
+
while e.__cause__ is not None:
|
102
|
+
if isinstance(e, urllib3.exceptions.MaxRetryError):
|
103
|
+
error = e.__cause__
|
104
|
+
break
|
105
|
+
else:
|
106
|
+
e = e.__cause__
|
107
|
+
|
108
|
+
# Try to sanitize error messages from urllib3
|
109
|
+
if isinstance(error, urllib3.exceptions.HTTPError):
|
110
|
+
detail = self._clean_urllib3_error(error)
|
111
|
+
else:
|
112
|
+
detail = str(error)
|
88
113
|
|
89
|
-
|
114
|
+
message = f"Failed to check out [{model_def.repository}]: {detail}"
|
90
115
|
|
91
|
-
|
116
|
+
self._log.error(message)
|
117
|
+
raise ex.EModelRepo(message) from error
|
92
118
|
|
93
119
|
def _do_native_checkout(self, model_def: meta.ModelDefinition, checkout_dir: pathlib.Path) -> pathlib.Path:
|
94
120
|
|
@@ -150,10 +176,15 @@ class GitRepository(IModelRepository):
|
|
150
176
|
for line in cmd_err:
|
151
177
|
self._log.info(line)
|
152
178
|
|
153
|
-
|
179
|
+
elif cmd_err:
|
180
|
+
|
154
181
|
for line in cmd_err:
|
155
182
|
self._log.error(line)
|
156
183
|
|
184
|
+
raise ex.EModelRepo(cmd_err[-1])
|
185
|
+
|
186
|
+
else:
|
187
|
+
|
157
188
|
error_msg = f"Git checkout failed for {model_def.package} {model_def.version}"
|
158
189
|
self._log.error(error_msg)
|
159
190
|
raise ex.EModelRepo(error_msg)
|
@@ -265,6 +296,20 @@ class GitRepository(IModelRepository):
|
|
265
296
|
def _ref_key(key):
|
266
297
|
return bytes(key, "ascii")
|
267
298
|
|
299
|
+
@classmethod
|
300
|
+
def _clean_urllib3_error(cls, error: urllib3.exceptions.HTTPError):
|
301
|
+
|
302
|
+
match = cls._URLLIB3_ERROR_PATTERN.match(str(error))
|
303
|
+
|
304
|
+
# Best efforts to clean up the message, fall back on str(error)
|
305
|
+
if match:
|
306
|
+
return match.group(1)
|
307
|
+
else:
|
308
|
+
return str(error)
|
309
|
+
|
310
|
+
# Error message format is like this:
|
311
|
+
# <pkg.ClassName object at 0xXXXXXXX>: Message
|
312
|
+
_URLLIB3_ERROR_PATTERN = re.compile(r"<[^>]*>: (.*)")
|
268
313
|
|
269
314
|
# Register plugin
|
270
315
|
plugins.PluginManager.register_plugin(IModelRepository, GitRepository, ["git"])
|
tracdap/rt/_version.py
CHANGED
tracdap/rt/config/__init__.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Code generated by TRAC
|
2
2
|
|
3
|
-
from .
|
3
|
+
from .result import JobResultAttrs
|
4
|
+
from .result import JobResult
|
4
5
|
|
5
6
|
from .common import _ConfigFile
|
6
7
|
from .common import PluginConfig
|
@@ -8,11 +9,6 @@ from .common import PlatformInfo
|
|
8
9
|
from .common import StorageConfig
|
9
10
|
from .common import ServiceConfig
|
10
11
|
|
11
|
-
from .dynamic import DynamicConfig
|
12
|
-
|
13
|
-
from .result import TagUpdateList
|
14
|
-
from .result import JobResult
|
15
|
-
|
16
12
|
from .platform import RoutingProtocol
|
17
13
|
from .platform import DeploymentLayout
|
18
14
|
from .platform import PlatformConfig
|
@@ -28,3 +24,7 @@ from .platform import ClientConfig
|
|
28
24
|
|
29
25
|
from .runtime import RuntimeConfig
|
30
26
|
from .runtime import SparkSettings
|
27
|
+
|
28
|
+
from .job import JobConfig
|
29
|
+
|
30
|
+
from .dynamic import DynamicConfig
|
tracdap/rt/config/common.py
CHANGED
@@ -4,6 +4,9 @@ import typing as _tp # noqa
|
|
4
4
|
import dataclasses as _dc # noqa
|
5
5
|
import enum as _enum # noqa
|
6
6
|
|
7
|
+
import tracdap.rt.metadata as metadata
|
8
|
+
|
9
|
+
|
7
10
|
|
8
11
|
@_dc.dataclass
|
9
12
|
class _ConfigFile:
|
@@ -46,6 +49,8 @@ class StorageConfig:
|
|
46
49
|
|
47
50
|
defaultFormat: "str" = ""
|
48
51
|
|
52
|
+
defaultLayout: "metadata.StorageLayout" = metadata.StorageLayout.OBJECT_ID_LAYOUT
|
53
|
+
|
49
54
|
|
50
55
|
@_dc.dataclass
|
51
56
|
class ServiceConfig:
|
tracdap/rt/config/job.py
CHANGED
@@ -13,10 +13,20 @@ class JobConfig:
|
|
13
13
|
|
14
14
|
jobId: "metadata.TagHeader" = _dc.field(default_factory=lambda: metadata.TagHeader())
|
15
15
|
|
16
|
+
"""ID and definition of the job being submitted"""
|
17
|
+
|
16
18
|
job: "metadata.JobDefinition" = _dc.field(default_factory=lambda: metadata.JobDefinition())
|
17
19
|
|
18
|
-
|
20
|
+
objectMapping: "_tp.Dict[str, metadata.TagHeader]" = _dc.field(default_factory=dict)
|
21
|
+
|
22
|
+
"""Metadata needed to execute the job (objects referred to in the job definition)"""
|
23
|
+
|
24
|
+
objects: "_tp.Dict[str, metadata.ObjectDefinition]" = _dc.field(default_factory=dict)
|
25
|
+
|
26
|
+
tags: "_tp.Dict[str, metadata.Tag]" = _dc.field(default_factory=dict)
|
27
|
+
|
28
|
+
resultId: "metadata.TagHeader" = _dc.field(default_factory=lambda: metadata.TagHeader())
|
19
29
|
|
20
|
-
|
30
|
+
"""Preallocated IDs for job outputs"""
|
21
31
|
|
22
|
-
|
32
|
+
preallocatedIds: "_tp.List[metadata.TagHeader]" = _dc.field(default_factory=list)
|
tracdap/rt/config/result.py
CHANGED
@@ -9,7 +9,7 @@ import tracdap.rt.metadata as metadata
|
|
9
9
|
|
10
10
|
|
11
11
|
@_dc.dataclass
|
12
|
-
class
|
12
|
+
class JobResultAttrs:
|
13
13
|
|
14
14
|
attrs: "_tp.List[metadata.TagUpdate]" = _dc.field(default_factory=list)
|
15
15
|
|
@@ -19,8 +19,12 @@ class JobResult:
|
|
19
19
|
|
20
20
|
jobId: "metadata.TagHeader" = _dc.field(default_factory=lambda: metadata.TagHeader())
|
21
21
|
|
22
|
-
|
22
|
+
resultId: "metadata.TagHeader" = _dc.field(default_factory=lambda: metadata.TagHeader())
|
23
23
|
|
24
|
-
|
24
|
+
result: "metadata.ResultDefinition" = _dc.field(default_factory=lambda: metadata.ResultDefinition())
|
25
25
|
|
26
|
-
|
26
|
+
objectIds: "_tp.List[metadata.TagHeader]" = _dc.field(default_factory=list)
|
27
|
+
|
28
|
+
objects: "_tp.Dict[str, metadata.ObjectDefinition]" = _dc.field(default_factory=dict)
|
29
|
+
|
30
|
+
attrs: "_tp.Dict[str, JobResultAttrs]" = _dc.field(default_factory=dict)
|
tracdap/rt/config/runtime.py
CHANGED
tracdap/rt/metadata/__init__.py
CHANGED
@@ -9,40 +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 .
|
20
|
-
from .
|
21
|
-
from .
|
22
|
-
from .
|
23
|
-
from .
|
24
|
-
from .
|
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 .resource import ResourceType
|
38
|
-
from .resource import ResourceDefinition
|
39
|
-
|
40
|
-
from .config import ConfigType
|
41
|
-
from .config import ConfigEntry
|
42
|
-
from .config import ConfigDetails
|
43
|
-
from .config import ConfigDefinition
|
44
|
-
|
45
|
-
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
|
46
22
|
|
47
23
|
from .data import SchemaType
|
48
24
|
from .data import PartType
|
@@ -63,12 +39,8 @@ from .model import ModelInputSchema
|
|
63
39
|
from .model import ModelOutputSchema
|
64
40
|
from .model import ModelDefinition
|
65
41
|
|
66
|
-
from .
|
67
|
-
from .
|
68
|
-
from .search import SearchTerm
|
69
|
-
from .search import LogicalExpression
|
70
|
-
from .search import SearchExpression
|
71
|
-
from .search import SearchParameters
|
42
|
+
from .tag_update import TagOperation
|
43
|
+
from .tag_update import TagUpdate
|
72
44
|
|
73
45
|
from .flow import FlowNodeType
|
74
46
|
from .flow import FlowNode
|
@@ -76,8 +48,37 @@ from .flow import FlowSocket
|
|
76
48
|
from .flow import FlowEdge
|
77
49
|
from .flow import FlowDefinition
|
78
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
|
+
|
79
79
|
from .storage import CopyStatus
|
80
80
|
from .storage import IncarnationStatus
|
81
|
+
from .storage import StorageLayout
|
81
82
|
from .storage import StorageCopy
|
82
83
|
from .storage import StorageIncarnation
|
83
84
|
from .storage import StorageItem
|
tracdap/rt/metadata/job.py
CHANGED
tracdap/rt/metadata/storage.py
CHANGED
@@ -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
1
|
Metadata-Version: 2.4
|
2
2
|
Name: tracdap-runtime
|
3
|
-
Version: 0.
|
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"
|
@@ -1,71 +1,71 @@
|
|
1
1
|
tracdap/rt/__init__.py,sha256=4aCSENdKNrf9nC1lUULwmHpI1D3K74_4CJzpG_OjA4Q,830
|
2
|
-
tracdap/rt/_version.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
25
|
-
tracdap/rt/_impl/exec/engine.py,sha256=
|
26
|
-
tracdap/rt/_impl/exec/functions.py,sha256=
|
27
|
-
tracdap/rt/_impl/exec/graph.py,sha256=
|
28
|
-
tracdap/rt/_impl/exec/graph_builder.py,sha256=
|
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=
|
34
|
-
tracdap/rt/_impl/grpc/server.py,sha256=
|
35
|
-
tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py,sha256=
|
36
|
-
tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi,sha256=
|
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=
|
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/config_pb2.py,sha256=
|
40
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.py,sha256=NW6RLoNIv6rUFZ11trSX7-tP-kNEuhSztnu1np8NLO8,3718
|
41
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=
|
42
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py,sha256=oaKYaOskZyNnf6nIJ1mKHU1kcoqGEC7BaFN5ihFIfIE,1421
|
43
43
|
tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.pyi,sha256=_GubsAG9rpuV_QhhXKTDOPeWIpkAkg5jlHkSZxaILak,702
|
44
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py,sha256=
|
44
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py,sha256=Bbv8s6Fuq7a4O-FbQmzQrzk9RGEq2ke4ysIdmlMOC74,7060
|
45
45
|
tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi,sha256=ZbHX2-NFqeYzJqpz62MPwL7Q6Ayu_4d5AimRI68Lo8A,8167
|
46
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py,sha256=
|
46
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py,sha256=TSoIHvw8JvwOG44JiZviwYjNaweLDe-CqF5S85fKLoY,1933
|
47
47
|
tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi,sha256=3JX6Vcc6cHlLXcihq0R_BDdvLQ2Ubob0XHzZnNCD7as,1385
|
48
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py,sha256=
|
48
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py,sha256=igq0rmOtLDbVTaNg8q36kVyjxyGtGaA6PhCWEzkBdc0,5799
|
49
49
|
tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.pyi,sha256=yCP4usBn7VWxFWdlB6NERiCd0R7BqqmH5k29WdKNk04,5880
|
50
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py,sha256=
|
51
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi,sha256
|
52
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py,sha256=
|
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
|
53
53
|
tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi,sha256=rBgvG_L521BbuzMpns3lKr5hOZmVwoHGW1bP2_EI4G0,7826
|
54
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py,sha256=
|
54
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py,sha256=Mzp-EEOuLXakM6C2pVfeGsVj-zoNIQrL1Sb_Hi-tn8o,3021
|
55
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=
|
56
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py,sha256=cU6qc3opKpsmb6ETWGnqimm5XsiEYEDFaOeBrnw1-NU,5037
|
57
57
|
tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi,sha256=ckprYPqWBl7HLYazSqfNkvkgusKOS45AbkGOZrECGjk,3670
|
58
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py,sha256=
|
58
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py,sha256=JNR2TK8CxcQO0hwkE2bNoEud7PuAHTzFUyxAFDjSiRQ,3493
|
59
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=
|
60
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py,sha256=J49QfM3WsZcjlVRBYhUl7dqJtBFt9biixs3n7SdT2es,3654
|
61
61
|
tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.pyi,sha256=PU-OYKRufI3v5Zx8RI4RvEZq3KPh91AOb8sDNwxyySY,3762
|
62
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.py,sha256=
|
63
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.pyi,sha256
|
64
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py,sha256=
|
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
|
65
65
|
tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.pyi,sha256=6gP3-Rdiq84ng5d6DtVNEWZj5syt1xyD33jRWg3YcgU,1454
|
66
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py,sha256=
|
66
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py,sha256=3Z7HLWVp3Enfv7R0epDVMx7FLLAQTNdbjp3fpqVFF-o,2090
|
67
67
|
tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.pyi,sha256=Q3687BMYoH8OzJF2tYu6nEOR8Yz3UkU8f2cjxQ3lFv8,1470
|
68
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py,sha256=
|
68
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py,sha256=2x5ZJGlwlaKtnH2A43kHV6tWuzfrerq1N7aaMTD5KuM,4206
|
69
69
|
tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.pyi,sha256=h-5HTqHMxFhTvfzZH7q-qWt7GeUhYnsQ8EqN9VoH_Ys,4356
|
70
70
|
tracdap/rt/_plugins/__init__.py,sha256=nFn00zysNlcEFHQJWs4l6vLm9RS5zsJ_IF9-eRwEXlo,796
|
71
71
|
tracdap/rt/_plugins/_helpers.py,sha256=--AkQUDvC0P_of_FRF5_xPd6er72yWI1G4GNYHUTX8w,6027
|
@@ -73,7 +73,7 @@ tracdap/rt/_plugins/config_local.py,sha256=SemksOXRPsUMNoTinjWe00F-Q4o-5X2ql3esw
|
|
73
73
|
tracdap/rt/_plugins/format_arrow.py,sha256=TQb6WR2MrjXem1gJg4EZQy3NGP-hEe1GneiSkvSAqeM,2397
|
74
74
|
tracdap/rt/_plugins/format_csv.py,sha256=NJ-8XeZH5ZplNUv7iLZBgVXzbXJ9jutU0cqXSdyM-Mo,17015
|
75
75
|
tracdap/rt/_plugins/format_parquet.py,sha256=VwmrcEvaGczzdaWFgmpT9kYDKDk5UwQ6BQF31vm7D-g,2346
|
76
|
-
tracdap/rt/_plugins/repo_git.py,sha256=
|
76
|
+
tracdap/rt/_plugins/repo_git.py,sha256=oTVGNTYUF5-r4YVtXMRZD5WY6mCO2natSuFHrNluEBo,11863
|
77
77
|
tracdap/rt/_plugins/repo_local.py,sha256=PZGDeRA2SLJTO-Z-YV9CHeXPUB0zt_fzIElCsw8zR-c,2913
|
78
78
|
tracdap/rt/_plugins/repo_pypi.py,sha256=fuxOLVkxZyV8ikPe0w-3qRdcfFaFc0jxQDY08g-8Hy0,13532
|
79
79
|
tracdap/rt/_plugins/storage_aws.py,sha256=yxDYw0jL-hXoUgqBlPhL1I_8i8LehOMjZKtG_n-hY0g,13160
|
@@ -88,13 +88,13 @@ tracdap/rt/api/experimental.py,sha256=ycD7xpMyXBI6W2UCirCbYtQ0rVVCNByAsA0p3euXmo
|
|
88
88
|
tracdap/rt/api/hook.py,sha256=0TA_pu-22IoVNacf38dq3Aaz4sHoau1IdhabfxgKtOE,5243
|
89
89
|
tracdap/rt/api/model_api.py,sha256=ONDU0ocNnejGi2r9nCKTlblqw847Yz4vtGo4M8inc9Q,22435
|
90
90
|
tracdap/rt/api/static_api.py,sha256=vSt6JUhxuOKQ5wI3CdmHgf8BskHffjry1lId2buDEeA,31852
|
91
|
-
tracdap/rt/config/__init__.py,sha256=
|
92
|
-
tracdap/rt/config/common.py,sha256=
|
91
|
+
tracdap/rt/config/__init__.py,sha256=Aw8EQYJugkXJ0ivDY-D2phb6wrs7vXMdJBje1WVvgyQ,833
|
92
|
+
tracdap/rt/config/common.py,sha256=DkOqW5w-ReQkFGSCnKFodZ2rgxQOCafMJCtXKXTKqIc,1315
|
93
93
|
tracdap/rt/config/dynamic.py,sha256=3PaL3IVDxb1_PSxdp820U4uEmLlKBLBBIwCHyVQZ1l4,738
|
94
|
-
tracdap/rt/config/job.py,sha256=
|
94
|
+
tracdap/rt/config/job.py,sha256=myFKnwRe2VoBesK8pJjKRwDMX2K6oMkixT5RYI7bo2w,1008
|
95
95
|
tracdap/rt/config/platform.py,sha256=aU7sVInAcf7NxPk6KufaHqDbM_NZRQ9qOb3w4rDT4qI,3005
|
96
|
-
tracdap/rt/config/result.py,sha256=
|
97
|
-
tracdap/rt/config/runtime.py,sha256=
|
96
|
+
tracdap/rt/config/result.py,sha256=SwuyVaXMef1wy4EUzTxxbXDhtZvYv8fb72DX2nV_wuA,850
|
97
|
+
tracdap/rt/config/runtime.py,sha256=HejW-r02CC4musmRm6sCZNk1bgX08h2_iZ55qSPUwN8,779
|
98
98
|
tracdap/rt/ext/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
|
99
99
|
tracdap/rt/ext/config.py,sha256=5LM1IuRjoVe43oLSgn02LAv1uvDl_lBfZrLjjiduCBU,1223
|
100
100
|
tracdap/rt/ext/embed.py,sha256=QmxDnoRK8jYN664jqEQFQlYBPX81Q7wpHKdKsRqNiDo,2297
|
@@ -105,25 +105,25 @@ tracdap/rt/launch/__init__.py,sha256=SPIwj5Bwa-IlhrfY1OJspYnL_mPLvz4F9XTAYKeu6IE
|
|
105
105
|
tracdap/rt/launch/__main__.py,sha256=tfr5wL1gHm0oj4tcX6pv6bl-3Z1K7VMpmmNMQzfMFzU,841
|
106
106
|
tracdap/rt/launch/cli.py,sha256=jGySYBawTDFJrhHgwYnplXb9VPcgfrBVB2UURqx5s-s,2638
|
107
107
|
tracdap/rt/launch/launch.py,sha256=BogIdacUhIvr_Ay-LU2eik8Y1DvGr-GrOiOi40XqZ1A,7806
|
108
|
-
tracdap/rt/metadata/__init__.py,sha256=
|
108
|
+
tracdap/rt/metadata/__init__.py,sha256=eC-O9oA1Q_BxdFCizWDsWPiPmEEOR_XcMKcxj8H1Vco,2365
|
109
109
|
tracdap/rt/metadata/common.py,sha256=J24poYPHSJfORPqqhyJGTAmepdhVaT0V0RblWiW9jCI,1404
|
110
110
|
tracdap/rt/metadata/config.py,sha256=jOG78zCw6RPW0Parawbygw_KKx0FjTdPiGZ9MdQrd28,2360
|
111
111
|
tracdap/rt/metadata/custom.py,sha256=GhCO8xjjsjZzlfSefqmCFX80rXJnxDCDq_STWi0ZL_0,352
|
112
112
|
tracdap/rt/metadata/data.py,sha256=uYUyV7VmtGZ4s8hv4JMN6sXix2USu6TmOqq0POlEX7U,4424
|
113
113
|
tracdap/rt/metadata/file.py,sha256=d4VLinEXiXZamLtPbZSqZQamQbxR8dsU1m680vDaxoY,628
|
114
114
|
tracdap/rt/metadata/flow.py,sha256=IgZTh62xndAAFG1Y44JORrVKOV7Bd4dEqtWjf1CGeHU,3491
|
115
|
-
tracdap/rt/metadata/job.py,sha256=
|
115
|
+
tracdap/rt/metadata/job.py,sha256=K-tk1jix1iLGOduZAMfqZCyD0QVgGjilOe06K01ZxYI,6467
|
116
116
|
tracdap/rt/metadata/model.py,sha256=bLeAhFtKa9zOAjf5hd1PnJoEZdHqyl0Drskn464dmqA,3761
|
117
117
|
tracdap/rt/metadata/object.py,sha256=6Nw09UewFQ-BzqmGywYTK_GZHf3bw2hNHPpud_4Pu-o,3021
|
118
118
|
tracdap/rt/metadata/object_id.py,sha256=BorEJWcNCayItRBLODdpJ0Xo2GfCWgQ4dWE28Rl4n1Q,4435
|
119
119
|
tracdap/rt/metadata/resource.py,sha256=GgYiD-6hsDw01fZEjwQ55SgCxGJxIeVW4Crm1jQpiWc,1920
|
120
120
|
tracdap/rt/metadata/search.py,sha256=BaH0mL80QEQ6iDmef1bIqEBIlm70orkc18DQv3pya6Y,9931
|
121
|
-
tracdap/rt/metadata/storage.py,sha256
|
121
|
+
tracdap/rt/metadata/storage.py,sha256=_yh7GkQNf38yVkFj0ZNEzaIdhwiuDmD62Pepl-McM6M,3302
|
122
122
|
tracdap/rt/metadata/tag.py,sha256=cjKF5gdNECHDtA9sc09Dc2Q4WNZQA_7iJsUEHSKFXiQ,5097
|
123
123
|
tracdap/rt/metadata/tag_update.py,sha256=I7iDJiHEcSQ2vhOlhIc0fzeOoqTg6N1LJZU1R6tG_8g,3779
|
124
124
|
tracdap/rt/metadata/type.py,sha256=7XOGlLVvxd6DEmKRBYTANBsu9lmxDOsMKE0aNvzsB3M,9568
|
125
|
-
tracdap_runtime-0.
|
126
|
-
tracdap_runtime-0.
|
127
|
-
tracdap_runtime-0.
|
128
|
-
tracdap_runtime-0.
|
129
|
-
tracdap_runtime-0.
|
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,,
|
File without changes
|