tracdap-runtime 0.8.0b1__py3-none-any.whl → 0.8.0b3__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 (48) hide show
  1. tracdap/rt/_impl/core/__init__.py +14 -0
  2. tracdap/rt/_impl/{config_parser.py → core/config_parser.py} +14 -7
  3. tracdap/rt/_impl/{data.py → core/data.py} +3 -3
  4. tracdap/rt/_impl/core/logging.py +195 -0
  5. tracdap/rt/_impl/{models.py → core/models.py} +7 -6
  6. tracdap/rt/_impl/{repos.py → core/repos.py} +5 -3
  7. tracdap/rt/_impl/{schemas.py → core/schemas.py} +5 -5
  8. tracdap/rt/_impl/{shim.py → core/shim.py} +5 -4
  9. tracdap/rt/_impl/{storage.py → core/storage.py} +7 -6
  10. tracdap/rt/_impl/{util.py → core/util.py} +0 -110
  11. tracdap/rt/_impl/{validation.py → core/validation.py} +4 -3
  12. tracdap/rt/_impl/exec/__init__.py +14 -0
  13. tracdap/rt/{_exec → _impl/exec}/actors.py +12 -14
  14. tracdap/rt/{_exec → _impl/exec}/context.py +30 -14
  15. tracdap/rt/{_exec → _impl/exec}/dev_mode.py +8 -7
  16. tracdap/rt/{_exec → _impl/exec}/engine.py +227 -104
  17. tracdap/rt/{_exec → _impl/exec}/functions.py +36 -57
  18. tracdap/rt/{_exec → _impl/exec}/graph.py +2 -21
  19. tracdap/rt/{_exec → _impl/exec}/graph_builder.py +33 -19
  20. tracdap/rt/{_exec → _impl/grpc}/server.py +7 -6
  21. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +64 -62
  22. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +16 -2
  23. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +3 -3
  24. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi +2 -0
  25. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +4 -4
  26. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi +4 -2
  27. tracdap/rt/{_exec → _impl}/runtime.py +13 -12
  28. tracdap/rt/_impl/static_api.py +4 -4
  29. tracdap/rt/_plugins/format_csv.py +1 -1
  30. tracdap/rt/_plugins/storage_sql.py +1 -1
  31. tracdap/rt/_version.py +1 -1
  32. tracdap/rt/config/__init__.py +1 -0
  33. tracdap/rt/config/platform.py +8 -0
  34. tracdap/rt/ext/embed.py +2 -2
  35. tracdap/rt/ext/plugins.py +3 -3
  36. tracdap/rt/launch/launch.py +3 -3
  37. tracdap/rt/metadata/__init__.py +1 -0
  38. tracdap/rt/metadata/job.py +16 -0
  39. tracdap/rt/metadata/object.py +2 -0
  40. tracdap/rt/metadata/object_id.py +2 -0
  41. {tracdap_runtime-0.8.0b1.dist-info → tracdap_runtime-0.8.0b3.dist-info}/METADATA +2 -2
  42. {tracdap_runtime-0.8.0b1.dist-info → tracdap_runtime-0.8.0b3.dist-info}/RECORD +47 -45
  43. {tracdap_runtime-0.8.0b1.dist-info → tracdap_runtime-0.8.0b3.dist-info}/WHEEL +1 -1
  44. tracdap/rt/_exec/__init__.py +0 -0
  45. /tracdap/rt/_impl/{guard_rails.py → core/guard_rails.py} +0 -0
  46. /tracdap/rt/_impl/{type_system.py → core/type_system.py} +0 -0
  47. {tracdap_runtime-0.8.0b1.dist-info → tracdap_runtime-0.8.0b3.dist-info}/LICENSE +0 -0
  48. {tracdap_runtime-0.8.0b1.dist-info → tracdap_runtime-0.8.0b3.dist-info}/top_level.txt +0 -0
@@ -17,6 +17,7 @@ class ObjectType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
17
17
  CUSTOM: _ClassVar[ObjectType]
18
18
  STORAGE: _ClassVar[ObjectType]
19
19
  SCHEMA: _ClassVar[ObjectType]
20
+ RESULT: _ClassVar[ObjectType]
20
21
  OBJECT_TYPE_NOT_SET: ObjectType
21
22
  DATA: ObjectType
22
23
  MODEL: ObjectType
@@ -26,6 +27,7 @@ FILE: ObjectType
26
27
  CUSTOM: ObjectType
27
28
  STORAGE: ObjectType
28
29
  SCHEMA: ObjectType
30
+ RESULT: ObjectType
29
31
 
30
32
  class TagHeader(_message.Message):
31
33
  __slots__ = ("objectType", "objectId", "objectVersion", "objectTimestamp", "tagVersion", "tagTimestamp", "isLatestObject", "isLatestTag")
@@ -23,7 +23,7 @@ from tracdap.rt._impl.grpc.tracdap.metadata import custom_pb2 as tracdap_dot_rt_
23
23
  from tracdap.rt._impl.grpc.tracdap.metadata import stoarge_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_stoarge__pb2
24
24
 
25
25
 
26
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3tracdap/rt/_impl/grpc/tracdap/metadata/object.proto\x12\x10tracdap.metadata\x1a\x36tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/data.proto\x1a\x32tracdap/rt/_impl/grpc/tracdap/metadata/model.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/flow.proto\x1a\x30tracdap/rt/_impl/grpc/tracdap/metadata/job.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/file.proto\x1a\x33tracdap/rt/_impl/grpc/tracdap/metadata/custom.proto\x1a\x34tracdap/rt/_impl/grpc/tracdap/metadata/stoarge.proto\"\x87\x05\n\x10ObjectDefinition\x12\x30\n\nobjectType\x18\x01 \x01(\x0e\x32\x1c.tracdap.metadata.ObjectType\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .tracdap.metadata.DataDefinitionH\x00\x12\x32\n\x05model\x18\x03 \x01(\x0b\x32!.tracdap.metadata.ModelDefinitionH\x00\x12\x30\n\x04\x66low\x18\x04 \x01(\x0b\x32 .tracdap.metadata.FlowDefinitionH\x00\x12.\n\x03job\x18\x05 \x01(\x0b\x32\x1f.tracdap.metadata.JobDefinitionH\x00\x12\x30\n\x04\x66ile\x18\x06 \x01(\x0b\x32 .tracdap.metadata.FileDefinitionH\x00\x12\x34\n\x06\x63ustom\x18\x07 \x01(\x0b\x32\".tracdap.metadata.CustomDefinitionH\x00\x12\x36\n\x07storage\x18\x08 \x01(\x0b\x32#.tracdap.metadata.StorageDefinitionH\x00\x12\x34\n\x06schema\x18\t \x01(\x0b\x32\".tracdap.metadata.SchemaDefinitionH\x00\x12H\n\x0bobjectProps\x18\x64 \x03(\x0b\x32\x33.tracdap.metadata.ObjectDefinition.ObjectPropsEntry\x1aK\n\x10ObjectPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x0c\n\ndefinitionB2\n\x1aorg.finos.tracdap.metadataB\x12ObjectProtoWrapperP\x01\x62\x06proto3')
26
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3tracdap/rt/_impl/grpc/tracdap/metadata/object.proto\x12\x10tracdap.metadata\x1a\x36tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/data.proto\x1a\x32tracdap/rt/_impl/grpc/tracdap/metadata/model.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/flow.proto\x1a\x30tracdap/rt/_impl/grpc/tracdap/metadata/job.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/file.proto\x1a\x33tracdap/rt/_impl/grpc/tracdap/metadata/custom.proto\x1a\x34tracdap/rt/_impl/grpc/tracdap/metadata/stoarge.proto\"\xbd\x05\n\x10ObjectDefinition\x12\x30\n\nobjectType\x18\x01 \x01(\x0e\x32\x1c.tracdap.metadata.ObjectType\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .tracdap.metadata.DataDefinitionH\x00\x12\x32\n\x05model\x18\x03 \x01(\x0b\x32!.tracdap.metadata.ModelDefinitionH\x00\x12\x30\n\x04\x66low\x18\x04 \x01(\x0b\x32 .tracdap.metadata.FlowDefinitionH\x00\x12.\n\x03job\x18\x05 \x01(\x0b\x32\x1f.tracdap.metadata.JobDefinitionH\x00\x12\x30\n\x04\x66ile\x18\x06 \x01(\x0b\x32 .tracdap.metadata.FileDefinitionH\x00\x12\x34\n\x06\x63ustom\x18\x07 \x01(\x0b\x32\".tracdap.metadata.CustomDefinitionH\x00\x12\x36\n\x07storage\x18\x08 \x01(\x0b\x32#.tracdap.metadata.StorageDefinitionH\x00\x12\x34\n\x06schema\x18\t \x01(\x0b\x32\".tracdap.metadata.SchemaDefinitionH\x00\x12\x34\n\x06result\x18\n \x01(\x0b\x32\".tracdap.metadata.ResultDefinitionH\x00\x12H\n\x0bobjectProps\x18\x64 \x03(\x0b\x32\x33.tracdap.metadata.ObjectDefinition.ObjectPropsEntry\x1aK\n\x10ObjectPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x0c\n\ndefinitionB2\n\x1aorg.finos.tracdap.metadataB\x12ObjectProtoWrapperP\x01\x62\x06proto3')
27
27
 
28
28
  _globals = globals()
29
29
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -34,7 +34,7 @@ if _descriptor._USE_C_DESCRIPTORS == False:
34
34
  _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._options = None
35
35
  _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._serialized_options = b'8\001'
36
36
  _globals['_OBJECTDEFINITION']._serialized_start=543
37
- _globals['_OBJECTDEFINITION']._serialized_end=1190
38
- _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._serialized_start=1101
39
- _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._serialized_end=1176
37
+ _globals['_OBJECTDEFINITION']._serialized_end=1244
38
+ _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._serialized_start=1155
39
+ _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._serialized_end=1230
40
40
  # @@protoc_insertion_point(module_scope)
@@ -15,7 +15,7 @@ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Opti
15
15
  DESCRIPTOR: _descriptor.FileDescriptor
16
16
 
17
17
  class ObjectDefinition(_message.Message):
18
- __slots__ = ("objectType", "data", "model", "flow", "job", "file", "custom", "storage", "schema", "objectProps")
18
+ __slots__ = ("objectType", "data", "model", "flow", "job", "file", "custom", "storage", "schema", "result", "objectProps")
19
19
  class ObjectPropsEntry(_message.Message):
20
20
  __slots__ = ("key", "value")
21
21
  KEY_FIELD_NUMBER: _ClassVar[int]
@@ -32,6 +32,7 @@ class ObjectDefinition(_message.Message):
32
32
  CUSTOM_FIELD_NUMBER: _ClassVar[int]
33
33
  STORAGE_FIELD_NUMBER: _ClassVar[int]
34
34
  SCHEMA_FIELD_NUMBER: _ClassVar[int]
35
+ RESULT_FIELD_NUMBER: _ClassVar[int]
35
36
  OBJECTPROPS_FIELD_NUMBER: _ClassVar[int]
36
37
  objectType: _object_id_pb2.ObjectType
37
38
  data: _data_pb2.DataDefinition
@@ -42,5 +43,6 @@ class ObjectDefinition(_message.Message):
42
43
  custom: _custom_pb2.CustomDefinition
43
44
  storage: _stoarge_pb2.StorageDefinition
44
45
  schema: _data_pb2.SchemaDefinition
46
+ result: _job_pb2.ResultDefinition
45
47
  objectProps: _containers.MessageMap[str, _type_pb2.Value]
46
- def __init__(self, objectType: _Optional[_Union[_object_id_pb2.ObjectType, str]] = ..., data: _Optional[_Union[_data_pb2.DataDefinition, _Mapping]] = ..., model: _Optional[_Union[_model_pb2.ModelDefinition, _Mapping]] = ..., flow: _Optional[_Union[_flow_pb2.FlowDefinition, _Mapping]] = ..., job: _Optional[_Union[_job_pb2.JobDefinition, _Mapping]] = ..., file: _Optional[_Union[_file_pb2.FileDefinition, _Mapping]] = ..., custom: _Optional[_Union[_custom_pb2.CustomDefinition, _Mapping]] = ..., storage: _Optional[_Union[_stoarge_pb2.StorageDefinition, _Mapping]] = ..., schema: _Optional[_Union[_data_pb2.SchemaDefinition, _Mapping]] = ..., objectProps: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
48
+ def __init__(self, objectType: _Optional[_Union[_object_id_pb2.ObjectType, str]] = ..., data: _Optional[_Union[_data_pb2.DataDefinition, _Mapping]] = ..., model: _Optional[_Union[_model_pb2.ModelDefinition, _Mapping]] = ..., flow: _Optional[_Union[_flow_pb2.FlowDefinition, _Mapping]] = ..., job: _Optional[_Union[_job_pb2.JobDefinition, _Mapping]] = ..., file: _Optional[_Union[_file_pb2.FileDefinition, _Mapping]] = ..., custom: _Optional[_Union[_custom_pb2.CustomDefinition, _Mapping]] = ..., storage: _Optional[_Union[_stoarge_pb2.StorageDefinition, _Mapping]] = ..., schema: _Optional[_Union[_data_pb2.SchemaDefinition, _Mapping]] = ..., result: _Optional[_Union[_job_pb2.ResultDefinition, _Mapping]] = ..., objectProps: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
@@ -29,15 +29,16 @@ import tracdap.rt.api as _api
29
29
  import tracdap.rt.config as _cfg
30
30
  import tracdap.rt.exceptions as _ex
31
31
  import tracdap.rt.ext.plugins as _plugins
32
- import tracdap.rt._exec.actors as _actors
33
- import tracdap.rt._exec.engine as _engine
34
- import tracdap.rt._exec.dev_mode as _dev_mode
35
- import tracdap.rt._impl.config_parser as _cparse # noqa
36
- import tracdap.rt._impl.util as _util # noqa
37
- import tracdap.rt._impl.models as _models # noqa
38
- import tracdap.rt._impl.storage as _storage # noqa
39
- import tracdap.rt._impl.static_api as _static_api # noqa
40
- import tracdap.rt._impl.guard_rails as _guard # noqa
32
+ import tracdap.rt._impl.core.config_parser as _cparse
33
+ import tracdap.rt._impl.core.guard_rails as _guard
34
+ import tracdap.rt._impl.core.logging as _logging
35
+ import tracdap.rt._impl.core.models as _models
36
+ import tracdap.rt._impl.core.storage as _storage
37
+ import tracdap.rt._impl.core.util as _util
38
+ import tracdap.rt._impl.exec.actors as _actors
39
+ import tracdap.rt._impl.exec.engine as _engine
40
+ import tracdap.rt._impl.exec.dev_mode as _dev_mode
41
+ import tracdap.rt._impl.static_api as _static_api
41
42
  import tracdap.rt._version as _version
42
43
 
43
44
 
@@ -83,8 +84,8 @@ class TracRuntime:
83
84
  if isinstance(scratch_dir, str):
84
85
  scratch_dir = pathlib.Path(scratch_dir)
85
86
 
86
- _util.configure_logging()
87
- self._log = _util.logger_for_object(self)
87
+ _logging.configure_logging()
88
+ self._log = _logging.logger_for_object(self)
88
89
  self._log.info(f"TRAC D.A.P. Python Runtime {trac_version}")
89
90
 
90
91
  self._sys_config = sys_config if isinstance(sys_config, _cfg.RuntimeConfig) else None
@@ -228,7 +229,7 @@ class TracRuntime:
228
229
  self._log.info("Starting the runtime API server...")
229
230
 
230
231
  # The server module pulls in all the gRPC dependencies, don't import it unless we have to
231
- import tracdap.rt._exec.server as _server
232
+ import tracdap.rt._impl.grpc.server as _server
232
233
 
233
234
  self._server = _server.RuntimeApiServer(self._system, self._server_port)
234
235
  self._server.start()
@@ -19,10 +19,10 @@ import types as _ts
19
19
  import tracdap.rt.api.experimental as _api
20
20
  import tracdap.rt.metadata as _meta
21
21
  import tracdap.rt.exceptions as _ex
22
- import tracdap.rt._impl.data as _data
23
- import tracdap.rt._impl.schemas as _schemas
24
- import tracdap.rt._impl.type_system as _type_system
25
- import tracdap.rt._impl.validation as _val
22
+ import tracdap.rt._impl.core.data as _data
23
+ import tracdap.rt._impl.core.schemas as _schemas
24
+ import tracdap.rt._impl.core.type_system as _type_system
25
+ import tracdap.rt._impl.core.validation as _val
26
26
 
27
27
  # Import hook interfaces into this module namespace
28
28
  from tracdap.rt.api.hook import _StaticApiHook # noqa
@@ -34,7 +34,7 @@ from tracdap.rt.ext.storage import IDataFormat
34
34
  from . import _helpers
35
35
 
36
36
  # TODO: Remove dependency on internal code
37
- import tracdap.rt._impl.data as _data
37
+ import tracdap.rt._impl.core.data as _data
38
38
 
39
39
 
40
40
  class CsvStorageFormat(IDataFormat):
@@ -30,7 +30,7 @@ from tracdap.rt._impl.ext.sql import * # noqa
30
30
  import tracdap.rt._plugins._helpers as _helpers
31
31
 
32
32
  # TODO: Remove internal references
33
- import tracdap.rt._impl.data as _data
33
+ import tracdap.rt._impl.core.data as _data
34
34
 
35
35
 
36
36
  class SqlDataStorage(IDataStorageBase[pa.Table, pa.Schema]):
tracdap/rt/_version.py CHANGED
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- __version__ = "0.8.0b1"
16
+ __version__ = "0.8.0b3"
@@ -25,6 +25,7 @@ from .platform import RouteConfig
25
25
  from .platform import RoutingMatch
26
26
  from .platform import RoutingTarget
27
27
  from .platform import DeploymentConfig
28
+ from .platform import ClientConfig
28
29
 
29
30
  from .runtime import RuntimeConfig
30
31
  from .runtime import SparkSettings
@@ -61,6 +61,8 @@ class PlatformConfig:
61
61
 
62
62
  deployment: "DeploymentConfig" = _dc.field(default_factory=lambda: DeploymentConfig())
63
63
 
64
+ clientConfig: "_tp.Dict[str, ClientConfig]" = _dc.field(default_factory=dict)
65
+
64
66
 
65
67
  @_dc.dataclass
66
68
  class MetadataConfig:
@@ -154,3 +156,9 @@ class RoutingTarget:
154
156
  class DeploymentConfig:
155
157
 
156
158
  layout: "DeploymentLayout" = DeploymentLayout.LAYOUT_NOT_SET
159
+
160
+
161
+ @_dc.dataclass
162
+ class ClientConfig:
163
+
164
+ properties: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
tracdap/rt/ext/embed.py CHANGED
@@ -14,8 +14,8 @@
14
14
  # limitations under the License.
15
15
 
16
16
  import tracdap.rt.config as _cfg
17
- import tracdap.rt._impl.guard_rails as _guard # noqa
18
- import tracdap.rt._exec.runtime as _rt # noqa
17
+ import tracdap.rt._impl.core.guard_rails as _guard # noqa
18
+ import tracdap.rt._impl.runtime as _rt # noqa
19
19
 
20
20
 
21
21
  class __EmbeddedRuntime:
tracdap/rt/ext/plugins.py CHANGED
@@ -14,13 +14,13 @@
14
14
  # limitations under the License.
15
15
 
16
16
  import typing as _tp
17
- import logging as _log
18
17
  import pkgutil as _pkg
19
18
  import importlib as _il
20
19
 
21
20
  import tracdap.rt.config as _cfg
22
21
  import tracdap.rt.exceptions as _ex
23
- import tracdap.rt._impl.guard_rails as _guard # noqa
22
+ import tracdap.rt._impl.core.guard_rails as _guard # noqa
23
+ import tracdap.rt._impl.core.logging as _logging # noqa
24
24
  from tracdap.rt.exceptions import EStartup
25
25
 
26
26
 
@@ -28,7 +28,7 @@ class PluginManager:
28
28
 
29
29
  T_SERVICE = _tp.TypeVar("T_SERVICE")
30
30
 
31
- __log = _log.getLogger(f"{__name__}.PluginManager")
31
+ __log = _logging.getLogger(f"{__name__}.PluginManager")
32
32
 
33
33
  __core_registered = False
34
34
  __3rd_party_registered = list()
@@ -20,9 +20,9 @@ import pathlib as _pathlib
20
20
  import typing as _tp
21
21
 
22
22
  import tracdap.rt.api as _api
23
- import tracdap.rt._impl.config_parser as _cparse # noqa
24
- import tracdap.rt._impl.util as _util # noqa
25
- import tracdap.rt._exec.runtime as _runtime # noqa
23
+ import tracdap.rt._impl.core.config_parser as _cparse # noqa
24
+ import tracdap.rt._impl.core.util as _util # noqa
25
+ import tracdap.rt._impl.runtime as _runtime # noqa
26
26
 
27
27
  from .cli import _cli_args
28
28
 
@@ -50,6 +50,7 @@ from .job import JobType
50
50
  from .job import JobStatusCode
51
51
  from .job import JobGroupType
52
52
  from .job import JobDefinition
53
+ from .job import ResultDefinition
53
54
  from .job import RunModelJob
54
55
  from .job import RunFlowJob
55
56
  from .job import ImportModelJob
@@ -117,6 +117,22 @@ class JobDefinition:
117
117
 
118
118
  jobGroup: "_tp.Optional[JobGroup]" = None
119
119
 
120
+ resultId: "TagSelector" = _dc.field(default_factory=lambda: TagSelector())
121
+
122
+
123
+ @_dc.dataclass
124
+ class ResultDefinition:
125
+
126
+ """Define the result of a job after it has completed"""
127
+
128
+ jobId: "TagSelector" = _dc.field(default_factory=lambda: TagSelector())
129
+
130
+ statusCode: "JobStatusCode" = JobStatusCode.JOB_STATUS_CODE_NOT_SET
131
+
132
+ statusMessage: "str" = ""
133
+
134
+ logFileId: "TagSelector" = _dc.field(default_factory=lambda: TagSelector())
135
+
120
136
 
121
137
  @_dc.dataclass
122
138
  class RunModelJob:
@@ -70,4 +70,6 @@ class ObjectDefinition:
70
70
 
71
71
  schema: "_tp.Optional[SchemaDefinition]" = None
72
72
 
73
+ result: "_tp.Optional[ResultDefinition]" = None
74
+
73
75
  objectProps: "_tp.Dict[str, Value]" = _dc.field(default_factory=dict)
@@ -34,6 +34,8 @@ class ObjectType(_enum.Enum):
34
34
 
35
35
  SCHEMA = 8
36
36
 
37
+ RESULT = 9
38
+
37
39
 
38
40
  @_dc.dataclass
39
41
  class TagHeader:
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: tracdap-runtime
3
- Version: 0.8.0b1
3
+ Version: 0.8.0b3
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
@@ -1,34 +1,36 @@
1
1
  tracdap/rt/__init__.py,sha256=4aCSENdKNrf9nC1lUULwmHpI1D3K74_4CJzpG_OjA4Q,830
2
- tracdap/rt/_version.py,sha256=SXkrIUKwRb1wAjRVure-6BZG0rtZMYKogLMGnpib80I,820
2
+ tracdap/rt/_version.py,sha256=L6pz0CgAVax9rNLkFvlxjJ2NuUy0lAljr1cmYTNAPCk,820
3
3
  tracdap/rt/exceptions.py,sha256=PsB4fExDI-bliqJZD-ESrr9MeLPDW7R5VN_JcWg7TqU,8175
4
- tracdap/rt/_exec/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- tracdap/rt/_exec/actors.py,sha256=6jU_yUye7j5TFl1Fz6yxluVbbuN-jO0ShYGtvlzczJM,35144
6
- tracdap/rt/_exec/context.py,sha256=FAtAVhQk_YXXo4DNUFP9eqnYuT8Vsj_x9GGtBOTNa4Y,43527
7
- tracdap/rt/_exec/dev_mode.py,sha256=GvYmeKw2P5bfcYh4_rZPib2E9DjyMctks6GrwGotN3M,42570
8
- tracdap/rt/_exec/engine.py,sha256=SZBTdga91l_TZm339XhdQDtV6UyDqJdt7TP-SrRUOuo,42356
9
- tracdap/rt/_exec/functions.py,sha256=IMHfnnhZb1mnUFfXngJhcAZ5-9Ify4KNrmKoTGtUWfI,32190
10
- tracdap/rt/_exec/graph.py,sha256=t2krBe4fbCLKWkAPGE5zp25N8LewpcFF1ZgxOdMxHxg,12347
11
- tracdap/rt/_exec/graph_builder.py,sha256=DEQamSeH4bjFT1N4p9otj8ysdWaM84lbf9SutRwlYt0,47045
12
- tracdap/rt/_exec/runtime.py,sha256=_yMKrugsyJmg832fwwQkq5AdogqnKLIzUxReS-DiNIc,16903
13
- tracdap/rt/_exec/server.py,sha256=Gx3-5k4fnDMOdYX5T_UwpDbBeOa7HbeKP8GaV5oG60k,12584
14
4
  tracdap/rt/_impl/__init__.py,sha256=nFn00zysNlcEFHQJWs4l6vLm9RS5zsJ_IF9-eRwEXlo,796
15
- tracdap/rt/_impl/config_parser.py,sha256=AW10mB1x-MBGH5nMAEo6fyWZ3fDEIOyQiTJZYF0kq4E,23053
16
- tracdap/rt/_impl/data.py,sha256=3LF9jM1XbQ2WVwcrGjZt4p6WHhbBubJhReSIEFebVIA,45611
17
- tracdap/rt/_impl/guard_rails.py,sha256=eixt5hqFuAMmPlzDQyWBXSKDYt12d954qfk-lwkdQmI,11611
18
- tracdap/rt/_impl/models.py,sha256=hD6zyHUzLEk3WQt1KAQQ8RIlVJk04Xi7sUfG5Iyyd8I,11026
19
- tracdap/rt/_impl/repos.py,sha256=66uUN4Jdh9QYd9nPoN3TAAJCcCxDi076abk7_R2mAuY,2250
20
- tracdap/rt/_impl/schemas.py,sha256=1oh_GFxZpmdAHu3diC8B5HD3-W5hahwja6LYF2N9m8g,7604
21
- tracdap/rt/_impl/shim.py,sha256=NptlbIx9Obxe8_vmiEv1kTxWeUiK4Xktuy6bTx7tlGM,23335
22
- tracdap/rt/_impl/static_api.py,sha256=Luk2Rsn20cjxA4vL4qc5ODMxUnS2K5ZVIR6uaRpbWVI,10928
23
- tracdap/rt/_impl/storage.py,sha256=LqJLcFsr2cwDuStcjA15SqaqViJlhynCHflMJM8zde8,35915
24
- tracdap/rt/_impl/type_system.py,sha256=tGp0-ordYKeKrSRe0_CzqSHtJnTdK73TtlrxcJsXwtI,12897
25
- tracdap/rt/_impl/util.py,sha256=iZeZhvuXsuaVeZcmT5AfiwbQedvnxcse1-jq_18XDDw,11439
26
- tracdap/rt/_impl/validation.py,sha256=T4jT0ljA5oR1-plVtY7CPD22mGBLrnG4lqYg6PEScC4,23637
5
+ tracdap/rt/_impl/runtime.py,sha256=FX5dqV-KfyvLfQvksv0RTle8N6kd_6-oaIJqSu32S6w,16955
6
+ tracdap/rt/_impl/static_api.py,sha256=mtCHRsnviWESyUQR7Bzuugzd7G-cWTWptT2FuluI6nU,10948
7
+ tracdap/rt/_impl/core/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
8
+ tracdap/rt/_impl/core/config_parser.py,sha256=FhFLAJaVvaifj5XSo26tDJqAnq8_-ou4cuvJv7nA46w,23456
9
+ tracdap/rt/_impl/core/data.py,sha256=7Ln-VZ9zmg__vbnGYVBPCg1Snjq9SI3ZsBNwfWadiNM,45616
10
+ tracdap/rt/_impl/core/guard_rails.py,sha256=eixt5hqFuAMmPlzDQyWBXSKDYt12d954qfk-lwkdQmI,11611
11
+ tracdap/rt/_impl/core/logging.py,sha256=AdE_KtZ1HiiEuLwg6C_xcAgq0XULbaxHv3MWuv3GT_A,6505
12
+ tracdap/rt/_impl/core/models.py,sha256=u2ZIql8Xm1kcG_Bu4lGaAsaLhxYEKxrZAkzYP3lBl88,11103
13
+ tracdap/rt/_impl/core/repos.py,sha256=BoW4C7Urejr8YPiW8DFe9e5GynLhvhT2iYeUsDDUuTs,2289
14
+ tracdap/rt/_impl/core/schemas.py,sha256=w9Vk1yNg1-LaAqQkrL1mxY5TCwtKHcJJzpoz23AclwE,7625
15
+ tracdap/rt/_impl/core/shim.py,sha256=Ek9dlbCSyTyt_B-gCJLR21SRRTZig7XluCCRHFv9pbE,23388
16
+ tracdap/rt/_impl/core/storage.py,sha256=PBzrPKvz3rNT8rQKvfokx3XKC4EMy6wd7O9z6Jc1XnY,35988
17
+ tracdap/rt/_impl/core/type_system.py,sha256=tGp0-ordYKeKrSRe0_CzqSHtJnTdK73TtlrxcJsXwtI,12897
18
+ tracdap/rt/_impl/core/util.py,sha256=Ro23tt4cjvgvPtiya932poPe5xW9q-vbb_t5u9fGV3Y,7620
19
+ tracdap/rt/_impl/core/validation.py,sha256=Mu8qgdlfqyv5pUV-Ai-kJ58M2O896xyQGrWU_JyeqZQ,23684
20
+ tracdap/rt/_impl/exec/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
21
+ tracdap/rt/_impl/exec/actors.py,sha256=ebPBsIsgok02YM-Ql277Tbz8s-_xDhsteMa3sLV0xFw,35135
22
+ tracdap/rt/_impl/exec/context.py,sha256=qVdE57bccZ33jTpmAzjrd2sbmlBjNYVFYREpyHqpdbA,44286
23
+ tracdap/rt/_impl/exec/dev_mode.py,sha256=f6syrvAOIUfiw209ILzIMBLNWWJ0fJp4t-q8m9lvjw8,42602
24
+ tracdap/rt/_impl/exec/engine.py,sha256=WwSuuAy0PXtI53aIEF85rbHkD4yxX2wvNxwZZSOFBUo,48101
25
+ tracdap/rt/_impl/exec/functions.py,sha256=hbaDFyxMBe1MJE6F2bNpR6FDxEzCAdhNdm_kUE0XYxA,31752
26
+ tracdap/rt/_impl/exec/graph.py,sha256=2r2ojPjxBDphyCqfWksaCBEW77o6ZmxZWAKzpAQiopA,11918
27
+ tracdap/rt/_impl/exec/graph_builder.py,sha256=KLbQuY7TAHUwOTgorTnYvV-h07a1wip5WiRcOR9ZTiM,47699
27
28
  tracdap/rt/_impl/ext/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
28
29
  tracdap/rt/_impl/ext/sql.py,sha256=wDlSixuDWErDlDSXo55Ti5gpHXJ5oe75Lsb4ttlrUL0,2938
29
30
  tracdap/rt/_impl/ext/storage.py,sha256=HvMHAT5pE6XhUaUfyeZ7ej8JNz2jYsu0UQAEh0Iqnsw,1763
30
31
  tracdap/rt/_impl/grpc/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
31
32
  tracdap/rt/_impl/grpc/codec.py,sha256=2Uo-j-tbAyD47eCCSpkq6cPN2P80xu-q5v5l_lwMxIU,3970
33
+ tracdap/rt/_impl/grpc/server.py,sha256=Q18O5yRAT-Jqr9wDXuUraOYhpEH-rfnFk9tvvb-o3Os,12635
32
34
  tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py,sha256=eH1JFEG4KwIhFAxMJfzw8JmpnTSNiY4seT_Mls2J2sM,5127
33
35
  tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi,sha256=78VhnLgm_m6HSgQT0bg7j86O9g8GNMADkm3SotQ39lg,3227
34
36
  tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2_grpc.py,sha256=6DA9EkXMa8KBOG2IUY4TnCmX1wyRJuV40tA9fLgQKyA,8461
@@ -42,14 +44,14 @@ tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py,sha256=lKLP3cIzZX3mSdRMmwPBNd
42
44
  tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi,sha256=3JX6Vcc6cHlLXcihq0R_BDdvLQ2Ubob0XHzZnNCD7as,1385
43
45
  tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py,sha256=GyY4iaqp9wtZ29byMllPmk4o2nosUgdazdqf9KKUg-g,5799
44
46
  tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.pyi,sha256=yCP4usBn7VWxFWdlB6NERiCd0R7BqqmH5k29WdKNk04,5880
45
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py,sha256=QgvJRIEHChOKEVi1xKnCKi1TBrL6KIXoJ0c8whMYaE4,15336
46
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi,sha256=G3wuO76UoPCefzwP-Wmst7Yze6oycs-fPlrO0F7KbF8,18432
47
+ tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py,sha256=OiVZ_EChreM8t6DPKgXAuNBH8gwrrwochxYGjWNHtOU,15816
48
+ tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi,sha256=PjRbckOQkJuY7y5XUCAPuO-oLFOghEuj659c3wGSaj4,19293
47
49
  tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py,sha256=q1VdvKCEslwCxqK6cEb4ABUh32j_veYaVg9WLLdSh2s,7803
48
50
  tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi,sha256=rBgvG_L521BbuzMpns3lKr5hOZmVwoHGW1bP2_EI4G0,7826
49
- tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py,sha256=cdNa1Byx6jvZPeakr28VrsEkGIj6av1xvdOM1N8NtuE,2933
50
- tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi,sha256=vWMjD_CG4ozUBSVsl44kjux-Qr-L_7cLgvQRpuUM7x0,3238
51
- tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py,sha256=G5MkYnJ7Nx_US_bjJw4KFtijbHcOHbgb_Bq1VN7hSd0,4378
52
- tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi,sha256=BSTvD36Vvk1WrbplWwv5ZLGWIX-zHug5moAWYGO5HZc,3010
51
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py,sha256=4tRcud1WhYkYhEYGg0qZF7ED3QRDwP8Vg8kAh6FYZuw,2961
52
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi,sha256=8vSR8UbjxPpvtvLLshLGBnpaU1BKUw7D1i6ZilnpZCk,3291
53
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py,sha256=lKi2Xjz7V18d4Xzc6cTLcR7hbigkS-3CCkCAO_xHT-U,4459
54
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi,sha256=Q3yJ7cYeSUF_GH3jZzBItZJZ-y-jUfGKz2Cz0E15gAE,3168
53
55
  tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py,sha256=cXIkqZRCHG2teGgvExqztCl5xtvitz4JO7PWT8IleFE,1843
54
56
  tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi,sha256=JAlgacWw94Yq3nnrrSEvtBfWw4kXlctZrj_V8TU4Tck,704
55
57
  tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py,sha256=YsUl-xK3jOQ6mOMCPe8G3-BWOFFz-MpUOXDWMV90DrQ,3654
@@ -66,7 +68,7 @@ tracdap/rt/_plugins/__init__.py,sha256=nFn00zysNlcEFHQJWs4l6vLm9RS5zsJ_IF9-eRwEX
66
68
  tracdap/rt/_plugins/_helpers.py,sha256=--AkQUDvC0P_of_FRF5_xPd6er72yWI1G4GNYHUTX8w,6027
67
69
  tracdap/rt/_plugins/config_local.py,sha256=SemksOXRPsUMNoTinjWe00F-Q4o-5X2ql3eswjjVUgM,1944
68
70
  tracdap/rt/_plugins/format_arrow.py,sha256=TQb6WR2MrjXem1gJg4EZQy3NGP-hEe1GneiSkvSAqeM,2397
69
- tracdap/rt/_plugins/format_csv.py,sha256=4EvyeQZwKMdla5Fn9sO7llcbapwrv4CItWoETCm8ykU,17010
71
+ tracdap/rt/_plugins/format_csv.py,sha256=NJ-8XeZH5ZplNUv7iLZBgVXzbXJ9jutU0cqXSdyM-Mo,17015
70
72
  tracdap/rt/_plugins/format_parquet.py,sha256=VwmrcEvaGczzdaWFgmpT9kYDKDk5UwQ6BQF31vm7D-g,2346
71
73
  tracdap/rt/_plugins/repo_git.py,sha256=5snP5IkzEQP_XdhAM5U3IkV8wv-yZGLHzN-d6BL1h2k,10464
72
74
  tracdap/rt/_plugins/repo_local.py,sha256=PZGDeRA2SLJTO-Z-YV9CHeXPUB0zt_fzIElCsw8zR-c,2913
@@ -75,7 +77,7 @@ tracdap/rt/_plugins/storage_aws.py,sha256=yxDYw0jL-hXoUgqBlPhL1I_8i8LehOMjZKtG_n
75
77
  tracdap/rt/_plugins/storage_azure.py,sha256=G8gwrK_irwqodQmfzzOGiWigp9nQK1RvweDAbWFxwBs,6000
76
78
  tracdap/rt/_plugins/storage_gcp.py,sha256=D0ReW2ZZ6IDqRdF-lowL43ceaupmf4tJGo7jvWHk8DQ,6651
77
79
  tracdap/rt/_plugins/storage_local.py,sha256=KY1CsT0GzjYWo5YYetTnQDWu18RhVrmEGBrEUSQHPKU,15742
78
- tracdap/rt/_plugins/storage_sql.py,sha256=8YmASiu87XAXF7pQr4eBnt8X38DkZabKxI-YnzKpGg8,15897
80
+ tracdap/rt/_plugins/storage_sql.py,sha256=bkOb6QSoHPLRSl7LbZVwXdWpHJnsuLkCU0XMCLlFwtA,15902
79
81
  tracdap/rt/_plugins/storage_sql_dialects.py,sha256=4HWx5Gm50TRf5BTmc3hMREJIFsFgqo4g7wkVEVZzPz0,3550
80
82
  tracdap/rt/api/__init__.py,sha256=QqbrCINnOe0fP8E1496pCjUHKS2ysTRzis3n6CWCLeI,2105
81
83
  tracdap/rt/api/experimental.py,sha256=f0ELh4Xb2fxawF2yH4xms9rh12cFLjg3I8tEs7IWOpU,7942
@@ -83,40 +85,40 @@ tracdap/rt/api/file_types.py,sha256=9d8zBI74ALADYKHevGkSnqJlng2Zd4Y7dto4iregnnE,
83
85
  tracdap/rt/api/hook.py,sha256=oaVBR3K-A-QHRtBQSHxOVmM0lS2YbDiTHBavUOel0Y8,5054
84
86
  tracdap/rt/api/model_api.py,sha256=ONDU0ocNnejGi2r9nCKTlblqw847Yz4vtGo4M8inc9Q,22435
85
87
  tracdap/rt/api/static_api.py,sha256=XfmWy1dFP3xS7Z4kTtSl8dtAscMF25vfQbHHtpFpvpw,29938
86
- tracdap/rt/config/__init__.py,sha256=eNv2xERY9ZYTOwbykvireuCE7zRbgZrchAhceanVnpM,885
88
+ tracdap/rt/config/__init__.py,sha256=YTHsgUGNbmJnu6sXB9klWPl52wNkpDAWs0Nk40ny3Fk,920
87
89
  tracdap/rt/config/common.py,sha256=deB7MBBB0UGkBXiAv-rARBjma2C-61yP8f4xG7aTPZw,1841
88
90
  tracdap/rt/config/job.py,sha256=B-aVIq0vJUY41-vPuIOLIq4A2hdfL9EJN0X9--nGfcI,656
89
- tracdap/rt/config/platform.py,sha256=EQMInXQzHSwpd2paq26umroLi9W_dI9U_4Rzlawo9vg,3313
91
+ tracdap/rt/config/platform.py,sha256=jRBobhqD7Qsyg2nz6NsayaHuAfZqyPWgpJJdNRHKdns,3505
90
92
  tracdap/rt/config/result.py,sha256=cKFz9ql_6Ru6qj7UP_VJZ2HJORf52dmi1dnK7eBxD-g,612
91
93
  tracdap/rt/config/runtime.py,sha256=ENzEEiAOEmHOgaTVXO9j6WOX6Vv0cVSdYcFxJb_CTnQ,707
92
94
  tracdap/rt/ext/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
93
95
  tracdap/rt/ext/config.py,sha256=5LM1IuRjoVe43oLSgn02LAv1uvDl_lBfZrLjjiduCBU,1223
94
- tracdap/rt/ext/embed.py,sha256=giPa-huK8UaXliyEHdRoYwBxtvMOI6RZHnVIiIlrkV8,2292
95
- tracdap/rt/ext/plugins.py,sha256=kvvGJNeHzPeVQo6RRFmAC4YiGvUioZrEEcyzJ9gxChg,4567
96
+ tracdap/rt/ext/embed.py,sha256=QmxDnoRK8jYN664jqEQFQlYBPX81Q7wpHKdKsRqNiDo,2297
97
+ tracdap/rt/ext/plugins.py,sha256=AqscyHdgV1AAxaenDR9HJH8fnG-Db72LEk01dZ0OXVM,4610
96
98
  tracdap/rt/ext/repos.py,sha256=gqMSRX8GhhS5kdUwOEPlzrWPw4alTB-tpIJl23wJlss,3297
97
99
  tracdap/rt/ext/storage.py,sha256=O0gvjB2taZpBJ_a3rZfKzh8B1PxUYwPxug6jHNSpm8Q,4980
98
100
  tracdap/rt/launch/__init__.py,sha256=SPIwj5Bwa-IlhrfY1OJspYnL_mPLvz4F9XTAYKeu6IE,907
99
101
  tracdap/rt/launch/__main__.py,sha256=tfr5wL1gHm0oj4tcX6pv6bl-3Z1K7VMpmmNMQzfMFzU,841
100
102
  tracdap/rt/launch/cli.py,sha256=jGySYBawTDFJrhHgwYnplXb9VPcgfrBVB2UURqx5s-s,2638
101
- tracdap/rt/launch/launch.py,sha256=C2ywDuLHr_1xVrYAmO0j1wd22Hq2ge93iFGZkUhgmNc,7796
102
- tracdap/rt/metadata/__init__.py,sha256=0FfhA0oiPYIWBpneNn0V6vcLQPCUVSAC159t5lNem28,2059
103
+ tracdap/rt/launch/launch.py,sha256=BogIdacUhIvr_Ay-LU2eik8Y1DvGr-GrOiOi40XqZ1A,7806
104
+ tracdap/rt/metadata/__init__.py,sha256=jtSK4vSdvdHKMvptmcdIXp7F4-4xYwyPnA6WEQtBF8g,2093
103
105
  tracdap/rt/metadata/common.py,sha256=J24poYPHSJfORPqqhyJGTAmepdhVaT0V0RblWiW9jCI,1404
104
106
  tracdap/rt/metadata/custom.py,sha256=GhCO8xjjsjZzlfSefqmCFX80rXJnxDCDq_STWi0ZL_0,352
105
107
  tracdap/rt/metadata/data.py,sha256=Hvf1hHks7XQi2zN8TrljGDWmqJ_i_evI-WVik0QLidA,3529
106
108
  tracdap/rt/metadata/file.py,sha256=yZenBUoeBATCq1CsIqpC-98HL6MiQdxKBJLR9ukRF7w,544
107
109
  tracdap/rt/metadata/flow.py,sha256=IgZTh62xndAAFG1Y44JORrVKOV7Bd4dEqtWjf1CGeHU,3491
108
- tracdap/rt/metadata/job.py,sha256=3nR_TR7_Uj_KDZ_sm5w_RDUvqPVBTg5OXB4M6XnGjh8,5946
110
+ tracdap/rt/metadata/job.py,sha256=r8IBe-IumI_An1jrg-h8mM2bZPEew8evpXp5GkfEfNo,6390
109
111
  tracdap/rt/metadata/model.py,sha256=bLeAhFtKa9zOAjf5hd1PnJoEZdHqyl0Drskn464dmqA,3761
110
- tracdap/rt/metadata/object.py,sha256=pGLLgKTVQZbxU7gZcBQio-M60Pt8LpqyF1Lac7LNKYw,2796
111
- tracdap/rt/metadata/object_id.py,sha256=cLzrwFD417GUhc3jw1QihfoSjOKEsXvq-dRY-lXQB0g,4383
112
+ tracdap/rt/metadata/object.py,sha256=Uhc8VI2pAUTEC7AnRSK3uIk36vVgmo19oKLWb6kbOLI,2849
113
+ tracdap/rt/metadata/object_id.py,sha256=iZ3Xx5z6nwIagg8Mziuo5ea6Tz1UWk9U5ZTqCgIaYq0,4399
112
114
  tracdap/rt/metadata/resource.py,sha256=V6xMOadgzemGvxH7yyhBigRCpg24ZxQPV3WNBvwRcGI,526
113
115
  tracdap/rt/metadata/search.py,sha256=BaH0mL80QEQ6iDmef1bIqEBIlm70orkc18DQv3pya6Y,9931
114
116
  tracdap/rt/metadata/stoarge.py,sha256=-WYc3aJskSCF_ETFQDavG3fTck__WPGMOfzWEBv55p4,3153
115
117
  tracdap/rt/metadata/tag.py,sha256=cjKF5gdNECHDtA9sc09Dc2Q4WNZQA_7iJsUEHSKFXiQ,5097
116
118
  tracdap/rt/metadata/tag_update.py,sha256=I7iDJiHEcSQ2vhOlhIc0fzeOoqTg6N1LJZU1R6tG_8g,3779
117
119
  tracdap/rt/metadata/type.py,sha256=7XOGlLVvxd6DEmKRBYTANBsu9lmxDOsMKE0aNvzsB3M,9568
118
- tracdap_runtime-0.8.0b1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
119
- tracdap_runtime-0.8.0b1.dist-info/METADATA,sha256=B5O90I_96If41gjR6zIc8X12uiR95y3tMhD5OseWaLQ,5024
120
- tracdap_runtime-0.8.0b1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
121
- tracdap_runtime-0.8.0b1.dist-info/top_level.txt,sha256=Uv0JfaE1Lp4JnCzqW8lqXNJAEcsAFpAUGOghJolVNdM,8
122
- tracdap_runtime-0.8.0b1.dist-info/RECORD,,
120
+ tracdap_runtime-0.8.0b3.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
121
+ tracdap_runtime-0.8.0b3.dist-info/METADATA,sha256=wrM2_G8KJAJHHAQWd3eEwb6JOtrjDmCutubYG_6Ry_o,5024
122
+ tracdap_runtime-0.8.0b3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
123
+ tracdap_runtime-0.8.0b3.dist-info/top_level.txt,sha256=Uv0JfaE1Lp4JnCzqW8lqXNJAEcsAFpAUGOghJolVNdM,8
124
+ tracdap_runtime-0.8.0b3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
File without changes