tracdap-runtime 0.7.0rc1__py3-none-any.whl → 0.8.0b2__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 (52) hide show
  1. tracdap/rt/_exec/actors.py +5 -4
  2. tracdap/rt/_exec/context.py +166 -74
  3. tracdap/rt/_exec/dev_mode.py +147 -71
  4. tracdap/rt/_exec/engine.py +224 -99
  5. tracdap/rt/_exec/functions.py +122 -80
  6. tracdap/rt/_exec/graph.py +23 -35
  7. tracdap/rt/_exec/graph_builder.py +250 -113
  8. tracdap/rt/_exec/runtime.py +24 -10
  9. tracdap/rt/_exec/server.py +4 -3
  10. tracdap/rt/_impl/config_parser.py +3 -2
  11. tracdap/rt/_impl/data.py +89 -16
  12. tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py +3 -1
  13. tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi +8 -0
  14. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +64 -62
  15. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +16 -2
  16. tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +27 -25
  17. tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi +14 -4
  18. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +3 -3
  19. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi +2 -0
  20. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +4 -4
  21. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi +4 -2
  22. tracdap/rt/_impl/logging.py +195 -0
  23. tracdap/rt/_impl/models.py +11 -8
  24. tracdap/rt/_impl/repos.py +5 -3
  25. tracdap/rt/_impl/schemas.py +2 -2
  26. tracdap/rt/_impl/shim.py +3 -2
  27. tracdap/rt/_impl/static_api.py +53 -33
  28. tracdap/rt/_impl/storage.py +4 -3
  29. tracdap/rt/_impl/util.py +1 -111
  30. tracdap/rt/_impl/validation.py +57 -30
  31. tracdap/rt/_version.py +1 -1
  32. tracdap/rt/api/__init__.py +6 -3
  33. tracdap/rt/api/file_types.py +29 -0
  34. tracdap/rt/api/hook.py +15 -7
  35. tracdap/rt/api/model_api.py +16 -0
  36. tracdap/rt/api/static_api.py +211 -125
  37. tracdap/rt/config/__init__.py +6 -6
  38. tracdap/rt/config/common.py +11 -1
  39. tracdap/rt/config/platform.py +4 -6
  40. tracdap/rt/ext/plugins.py +2 -2
  41. tracdap/rt/launch/launch.py +9 -11
  42. tracdap/rt/metadata/__init__.py +11 -9
  43. tracdap/rt/metadata/file.py +8 -0
  44. tracdap/rt/metadata/job.py +16 -0
  45. tracdap/rt/metadata/model.py +12 -2
  46. tracdap/rt/metadata/object.py +2 -0
  47. tracdap/rt/metadata/object_id.py +2 -0
  48. {tracdap_runtime-0.7.0rc1.dist-info → tracdap_runtime-0.8.0b2.dist-info}/METADATA +15 -15
  49. {tracdap_runtime-0.7.0rc1.dist-info → tracdap_runtime-0.8.0b2.dist-info}/RECORD +52 -50
  50. {tracdap_runtime-0.7.0rc1.dist-info → tracdap_runtime-0.8.0b2.dist-info}/WHEEL +1 -1
  51. {tracdap_runtime-0.7.0rc1.dist-info → tracdap_runtime-0.8.0b2.dist-info}/LICENSE +0 -0
  52. {tracdap_runtime-0.7.0rc1.dist-info → tracdap_runtime-0.8.0b2.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,7 @@
1
1
  # Code generated by TRAC
2
2
 
3
+ from .job import JobConfig
4
+
3
5
  from .common import _ConfigFile
4
6
  from .common import PluginConfig
5
7
  from .common import PlatformInfo
@@ -7,10 +9,8 @@ from .common import AuthenticationConfig
7
9
  from .common import StorageConfig
8
10
  from .common import ServiceConfig
9
11
 
10
- from .runtime import RuntimeConfig
11
- from .runtime import SparkSettings
12
-
13
- from .job import JobConfig
12
+ from .result import TagUpdateList
13
+ from .result import JobResult
14
14
 
15
15
  from .platform import RoutingProtocol
16
16
  from .platform import DeploymentLayout
@@ -26,5 +26,5 @@ from .platform import RoutingMatch
26
26
  from .platform import RoutingTarget
27
27
  from .platform import DeploymentConfig
28
28
 
29
- from .result import TagUpdateList
30
- from .result import JobResult
29
+ from .runtime import RuntimeConfig
30
+ from .runtime import SparkSettings
@@ -44,7 +44,13 @@ class AuthenticationConfig:
44
44
 
45
45
  jwtRefresh: "int" = 0
46
46
 
47
- provider: "_tp.Optional[PluginConfig]" = None
47
+ provider: "PluginConfig" = _dc.field(default_factory=lambda: PluginConfig())
48
+
49
+ loginPath: "_tp.Optional[str]" = None
50
+
51
+ refreshPath: "_tp.Optional[str]" = None
52
+
53
+ returnPath: "_tp.Optional[str]" = None
48
54
 
49
55
  disableAuth: "bool" = False
50
56
 
@@ -58,6 +64,8 @@ class AuthenticationConfig:
58
64
 
59
65
  systemTicketRefresh: "int" = 0
60
66
 
67
+ externalSystems: "_tp.Dict[str, PluginConfig]" = _dc.field(default_factory=dict)
68
+
61
69
 
62
70
  @_dc.dataclass
63
71
  class StorageConfig:
@@ -81,3 +89,5 @@ class ServiceConfig:
81
89
  alias: "str" = ""
82
90
 
83
91
  port: "int" = 0
92
+
93
+ properties: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
@@ -53,9 +53,9 @@ class PlatformConfig:
53
53
 
54
54
  tenants: "_tp.Dict[str, TenantConfig]" = _dc.field(default_factory=dict)
55
55
 
56
- webServer: "_tp.Optional[WebServerConfig]" = None
56
+ webServer: "WebServerConfig" = _dc.field(default_factory=lambda: WebServerConfig())
57
57
 
58
- gateway: "_tp.Optional[GatewayConfig]" = None
58
+ gateway: "GatewayConfig" = _dc.field(default_factory=lambda: GatewayConfig())
59
59
 
60
60
  services: "_tp.Dict[str, ServiceConfig]" = _dc.field(default_factory=dict)
61
61
 
@@ -81,8 +81,6 @@ class TenantConfig:
81
81
  @_dc.dataclass
82
82
  class WebServerConfig:
83
83
 
84
- enabled: "bool" = False
85
-
86
84
  contentRoot: "PluginConfig" = _dc.field(default_factory=lambda: PluginConfig())
87
85
 
88
86
  rewriteRules: "_tp.List[WebServerRewriteRule]" = _dc.field(default_factory=list)
@@ -111,8 +109,6 @@ class WebServerRedirect:
111
109
  @_dc.dataclass
112
110
  class GatewayConfig:
113
111
 
114
- idleTimeout: "int" = 0
115
-
116
112
  routes: "_tp.List[RouteConfig]" = _dc.field(default_factory=list)
117
113
 
118
114
  redirects: "_tp.List[WebServerRedirect]" = _dc.field(default_factory=list)
@@ -151,6 +147,8 @@ class RoutingTarget:
151
147
 
152
148
  path: "str" = ""
153
149
 
150
+ hostAlias: "_tp.Optional[str]" = None
151
+
154
152
 
155
153
  @_dc.dataclass
156
154
  class DeploymentConfig:
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
22
  import tracdap.rt._impl.guard_rails as _guard # noqa
23
+ import tracdap.rt._impl.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()
@@ -112,9 +112,10 @@ def launch_model(
112
112
  runtime_instance = _runtime.TracRuntime(_sys_config, dev_mode=True, plugin_packages=plugin_packages)
113
113
  runtime_instance.pre_start()
114
114
 
115
- job = runtime_instance.load_job_config(_job_config, model_class=model_class)
116
-
117
115
  with runtime_instance as rt:
116
+
117
+ job = rt.load_job_config(_job_config, model_class=model_class)
118
+
118
119
  rt.submit_job(job)
119
120
  rt.wait_for_job(job.jobId)
120
121
 
@@ -160,9 +161,10 @@ def launch_job(
160
161
  runtime_instance = _runtime.TracRuntime(_sys_config, dev_mode=dev_mode, plugin_packages=plugin_packages)
161
162
  runtime_instance.pre_start()
162
163
 
163
- job = runtime_instance.load_job_config(_job_config)
164
-
165
164
  with runtime_instance as rt:
165
+
166
+ job = rt.load_job_config(_job_config)
167
+
166
168
  rt.submit_job(job)
167
169
  rt.wait_for_job(job.jobId)
168
170
 
@@ -184,6 +186,7 @@ def launch_cli(programmatic_args: _tp.Optional[_tp.List[str]] = None):
184
186
  launch_args = _cli_args()
185
187
 
186
188
  _sys_config = _resolve_config_file(launch_args.sys_config, None)
189
+ _job_config = _resolve_config_file(launch_args.job_config, None) if launch_args.job_config else None
187
190
 
188
191
  runtime_instance = _runtime.TracRuntime(
189
192
  _sys_config,
@@ -196,15 +199,10 @@ def launch_cli(programmatic_args: _tp.Optional[_tp.List[str]] = None):
196
199
 
197
200
  runtime_instance.pre_start()
198
201
 
199
- if launch_args.job_config is not None:
200
- _job_config = _resolve_config_file(launch_args.job_config, None)
201
- job = runtime_instance.load_job_config(_job_config)
202
- else:
203
- job = None
204
-
205
202
  with runtime_instance as rt:
206
203
 
207
- if job is not None:
204
+ if _job_config is not None:
205
+ job = rt.load_job_config(_job_config)
208
206
  rt.submit_job(job)
209
207
 
210
208
  if rt.is_oneshot():
@@ -21,6 +21,9 @@ from .data import SchemaDefinition
21
21
  from .data import PartKey
22
22
  from .data import DataDefinition
23
23
 
24
+ from .file import FileDefinition
25
+ from .file import FileType
26
+
24
27
  from .model import ModelType
25
28
  from .model import ModelParameter
26
29
  from .model import ModelInputSchema
@@ -47,6 +50,7 @@ from .job import JobType
47
50
  from .job import JobStatusCode
48
51
  from .job import JobGroupType
49
52
  from .job import JobDefinition
53
+ from .job import ResultDefinition
50
54
  from .job import RunModelJob
51
55
  from .job import RunFlowJob
52
56
  from .job import ImportModelJob
@@ -56,9 +60,9 @@ from .job import JobGroup
56
60
  from .job import SequentialJobGroup
57
61
  from .job import ParallelJobGroup
58
62
 
59
- from .file import FileDefinition
60
-
61
- from .custom import CustomDefinition
63
+ from .common import MetadataFormat
64
+ from .common import MetadataVersion
65
+ from .common import TenantInfo
62
66
 
63
67
  from .stoarge import CopyStatus
64
68
  from .stoarge import IncarnationStatus
@@ -67,12 +71,10 @@ from .stoarge import StorageIncarnation
67
71
  from .stoarge import StorageItem
68
72
  from .stoarge import StorageDefinition
69
73
 
70
- from .object import ObjectDefinition
71
-
72
- from .resource import ResourceType
74
+ from .custom import CustomDefinition
73
75
 
74
- from .common import MetadataFormat
75
- from .common import MetadataVersion
76
- from .common import TenantInfo
76
+ from .object import ObjectDefinition
77
77
 
78
78
  from .tag import Tag
79
+
80
+ from .resource import ResourceType
@@ -24,3 +24,11 @@ class FileDefinition:
24
24
  storageId: "TagSelector" = _dc.field(default_factory=lambda: TagSelector())
25
25
 
26
26
  dataItem: "str" = ""
27
+
28
+
29
+ @_dc.dataclass
30
+ class FileType:
31
+
32
+ extension: "str" = ""
33
+
34
+ mimeType: "str" = ""
@@ -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:
@@ -5,7 +5,9 @@ import dataclasses as _dc # noqa
5
5
  import enum as _enum # noqa
6
6
 
7
7
  from .type import * # noqa
8
+ from .object_id import * # noqa
8
9
  from .data import * # noqa
10
+ from .file import * # noqa
9
11
 
10
12
 
11
13
  class ModelType(_enum.Enum):
@@ -54,7 +56,11 @@ class ModelInputSchema:
54
56
  other options may be required. These capabilities may be added in future releases.
55
57
  """
56
58
 
57
- schema: "SchemaDefinition" = _dc.field(default_factory=lambda: SchemaDefinition())
59
+ objectType: "ObjectType" = ObjectType.OBJECT_TYPE_NOT_SET
60
+
61
+ schema: "_tp.Optional[SchemaDefinition]" = None
62
+
63
+ fileType: "_tp.Optional[FileType]" = None
58
64
 
59
65
  label: "_tp.Optional[str]" = None
60
66
 
@@ -81,7 +87,11 @@ class ModelOutputSchema:
81
87
  added in future releases.
82
88
  """
83
89
 
84
- schema: "SchemaDefinition" = _dc.field(default_factory=lambda: SchemaDefinition())
90
+ objectType: "ObjectType" = ObjectType.OBJECT_TYPE_NOT_SET
91
+
92
+ schema: "_tp.Optional[SchemaDefinition]" = None
93
+
94
+ fileType: "_tp.Optional[FileType]" = None
85
95
 
86
96
  label: "_tp.Optional[str]" = None
87
97
 
@@ -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
1
  Metadata-Version: 2.1
2
2
  Name: tracdap-runtime
3
- Version: 0.7.0rc1
3
+ Version: 0.8.0b2
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
@@ -23,28 +23,28 @@ Requires-Dist: dulwich==0.22.1
23
23
  Requires-Dist: requests==2.32.3
24
24
  Requires-Dist: pandas<2.3.0,>=1.2.0
25
25
  Requires-Dist: numpy<2.0.0
26
+ Provides-Extra: grpc
27
+ Requires-Dist: grpcio==1.66.1; extra == "grpc"
28
+ Requires-Dist: grpcio-status==1.66.1; extra == "grpc"
29
+ Provides-Extra: polars
30
+ Requires-Dist: polars<2.0.0,>=1.0.0; extra == "polars"
31
+ Provides-Extra: pyspark
32
+ Requires-Dist: pyspark<3.6.0,>=3.0.0; extra == "pyspark"
33
+ Provides-Extra: sql
34
+ Requires-Dist: sqlalchemy<2.1.0,>=2.0.0; extra == "sql"
26
35
  Provides-Extra: aws
27
36
  Requires-Dist: botocore==1.34.93; extra == "aws"
28
37
  Requires-Dist: boto3==1.34.93; extra == "aws"
29
- Provides-Extra: azure
30
- Requires-Dist: azure-core==1.30.1; extra == "azure"
31
- Requires-Dist: azure-identity==1.16.1; extra == "azure"
32
- Requires-Dist: azure-storage-blob==12.19.1; extra == "azure"
33
- Requires-Dist: adlfs==2024.4.1; extra == "azure"
34
38
  Provides-Extra: gcp
35
39
  Requires-Dist: google-auth==2.34.0; extra == "gcp"
36
40
  Requires-Dist: google-api-core==2.19.2; extra == "gcp"
37
41
  Requires-Dist: google-cloud-storage==2.18.2; extra == "gcp"
38
42
  Requires-Dist: gcsfs==2024.3.1; extra == "gcp"
39
- Provides-Extra: grpc
40
- Requires-Dist: grpcio==1.66.1; extra == "grpc"
41
- Requires-Dist: grpcio-status==1.66.1; extra == "grpc"
42
- Provides-Extra: polars
43
- Requires-Dist: polars<2.0.0,>=1.0.0; extra == "polars"
44
- Provides-Extra: spark
45
- Requires-Dist: pyspark<3.6.0,>=3.0.0; extra == "spark"
46
- Provides-Extra: sql
47
- Requires-Dist: sqlalchemy<2.1.0,>=2.0.0; extra == "sql"
43
+ Provides-Extra: azure
44
+ Requires-Dist: azure-core==1.30.1; extra == "azure"
45
+ Requires-Dist: azure-identity==1.16.1; extra == "azure"
46
+ Requires-Dist: azure-storage-blob==12.19.1; extra == "azure"
47
+ Requires-Dist: adlfs==2024.4.1; extra == "azure"
48
48
 
49
49
  # TRAC Model Runtime for Python
50
50
 
@@ -1,29 +1,30 @@
1
1
  tracdap/rt/__init__.py,sha256=4aCSENdKNrf9nC1lUULwmHpI1D3K74_4CJzpG_OjA4Q,830
2
- tracdap/rt/_version.py,sha256=kDGuh5tawv43xxwH--_tF_WszEe7NurNXWb78S71MDM,821
2
+ tracdap/rt/_version.py,sha256=fHyDo-KVrSf3GqUpcx_hKLLApjsp73BdrsQFz-EuwjY,820
3
3
  tracdap/rt/exceptions.py,sha256=PsB4fExDI-bliqJZD-ESrr9MeLPDW7R5VN_JcWg7TqU,8175
4
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=FqQ09XLG4ClyVit01nSzeMHGnvOLQmsw1RGt_Pv7p6s,39233
7
- tracdap/rt/_exec/dev_mode.py,sha256=b-fzZ2KQ9gBt3NOxt02jV-wdGpydyZKvy_8Myp2zJZo,39206
8
- tracdap/rt/_exec/engine.py,sha256=pAVxoDyWmhd1h7hzRi9ahDXXO5Ya190ONybF8g3emYo,42205
9
- tracdap/rt/_exec/functions.py,sha256=lKRfC29AhsNhndcwjm6DTXNHXkGpB5K89kwldcrUMIc,29786
10
- tracdap/rt/_exec/graph.py,sha256=OoD7lj0o-lJj7uNnUL_FwI6tGACFIBAMma5_NMNjVHA,12071
11
- tracdap/rt/_exec/graph_builder.py,sha256=Juqn8n5J_TNxhPnebSMJqBPDdnhpvP01slL7HlCqlmw,41496
12
- tracdap/rt/_exec/runtime.py,sha256=-0cQBNkJtb41f6I3LBv5GmNp2lv5M18Gtdga3Kcbt58,16354
13
- tracdap/rt/_exec/server.py,sha256=Gx3-5k4fnDMOdYX5T_UwpDbBeOa7HbeKP8GaV5oG60k,12584
5
+ tracdap/rt/_exec/actors.py,sha256=xbPHp4kC3egHAHELWcbBAhTK2nnBx9EHtjjxprxhPRs,35209
6
+ tracdap/rt/_exec/context.py,sha256=6eAf41PUU5Bo4TCihbo-H6hlePMiPlovwXBFGLKZ9yU,44304
7
+ tracdap/rt/_exec/dev_mode.py,sha256=9LAUNE_hKaAKlHyoG7u8oOHqUWjocXOpijsyiaa2Nt0,42620
8
+ tracdap/rt/_exec/engine.py,sha256=GRLlNS7AmQYdLqy01S_7OPOXorT-FpoZHBqZubO8NdI,48104
9
+ tracdap/rt/_exec/functions.py,sha256=dSyTMBiGfGceywgryZudK5ebg4APug40n9fWSdJgf48,31806
10
+ tracdap/rt/_exec/graph.py,sha256=WKlF4ZK9k7EN6Zi-EmMOOWeILLdCHnhQ-pJPueMJ_Fw,11921
11
+ tracdap/rt/_exec/graph_builder.py,sha256=pHP48iDLhl3bflHlpfhJuZnOcUaxVG_OXLIfMF9EOos,47705
12
+ tracdap/rt/_exec/runtime.py,sha256=9sAeFAXpLgvRQrKL9yLCiOJPl61fiZrDCjpjfqN4Y1o,16949
13
+ tracdap/rt/_exec/server.py,sha256=wU62x7yIdRFS9MZy3pZsB4fjUb2Adt0gegQaQu242Bk,12644
14
14
  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=MWL7UL5Fgswwb3UpBc2Ec-vO3zYM5At9-0J4B-6IXVA,43007
15
+ tracdap/rt/_impl/config_parser.py,sha256=ZqbGF3qJ2seWvLNNzYkvxQaqI_LMwF6YrY4HQQaBBu0,23103
16
+ tracdap/rt/_impl/data.py,sha256=0HC-B2gvSwQqpG8mFPXJW_xciefScHlFmzy-c325ZWA,45611
17
17
  tracdap/rt/_impl/guard_rails.py,sha256=eixt5hqFuAMmPlzDQyWBXSKDYt12d954qfk-lwkdQmI,11611
18
- tracdap/rt/_impl/models.py,sha256=83Nr2ILJu-fFzJ8N5QSg2SF8zX9sKj_wjElRNxPgQNM,10754
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=CkOz7dJCrJSZmOkvvFLfhfRKk5LMNfk4mULsiews4no,10249
23
- tracdap/rt/_impl/storage.py,sha256=LqJLcFsr2cwDuStcjA15SqaqViJlhynCHflMJM8zde8,35915
18
+ tracdap/rt/_impl/logging.py,sha256=AdE_KtZ1HiiEuLwg6C_xcAgq0XULbaxHv3MWuv3GT_A,6505
19
+ tracdap/rt/_impl/models.py,sha256=uKrNVFQTgt7wOuR1SN1CsUOUBRu_E0t_V85vu8UiuPI,11073
20
+ tracdap/rt/_impl/repos.py,sha256=1bCAVuMAQiJhlMOum1dx_Ih0nF_y126GMRb-LdSBukA,2284
21
+ tracdap/rt/_impl/schemas.py,sha256=fdGVAfG2wxOStUX-wh4wgKYAUz40-vZXfNf7FdSI1S0,7605
22
+ tracdap/rt/_impl/shim.py,sha256=qkgyhOIhMwplAgva7SXI2FaIiM4HOShzNERn9brCDCk,23373
23
+ tracdap/rt/_impl/static_api.py,sha256=Luk2Rsn20cjxA4vL4qc5ODMxUnS2K5ZVIR6uaRpbWVI,10928
24
+ tracdap/rt/_impl/storage.py,sha256=IyzlsCZwUs4ArpVrQE0krc2f6Vw0sBNRbbOZ_-lB2Sk,35968
24
25
  tracdap/rt/_impl/type_system.py,sha256=tGp0-ordYKeKrSRe0_CzqSHtJnTdK73TtlrxcJsXwtI,12897
25
- tracdap/rt/_impl/util.py,sha256=EtjmC-cfSmNJ_vXx7COp_XYSr4f09SyBd4tg4jFj6Fc,11434
26
- tracdap/rt/_impl/validation.py,sha256=57fHXt_dkHLybXbNDOkAbv5U91FT-E2jU9KN9gpmrCA,22606
26
+ tracdap/rt/_impl/util.py,sha256=Ro23tt4cjvgvPtiya932poPe5xW9q-vbb_t5u9fGV3Y,7620
27
+ tracdap/rt/_impl/validation.py,sha256=5DUp77owSefYZiLGt8YdxCJr2VGU0fSf96eKjOcldHo,23674
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
@@ -38,18 +39,18 @@ tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py,sha256=DfHhxxvKU_htkLjUdvsV
38
39
  tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.pyi,sha256=_GubsAG9rpuV_QhhXKTDOPeWIpkAkg5jlHkSZxaILak,702
39
40
  tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py,sha256=lpEdZORVyg_y9h-Tg0wMwmASmrJRCt1LtYMb1BbZJIk,5211
40
41
  tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi,sha256=6F7O59tKIXWMFmmCm8zMJQKPQ3hM-fJ8px25Z_ae_Nc,5856
41
- tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py,sha256=FwZ9CZrS6-n96sYjV_EQXzviRRnjAs1bDahOSfbJ_v0,1748
42
- tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi,sha256=nRBVl47NUBTOLUJ7HOeztUMJoh9sVbPtqpxKLcCMEEw,1085
42
+ tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py,sha256=lKLP3cIzZX3mSdRMmwPBNdYjwunAs-BvzpqK29WJVak,1933
43
+ tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi,sha256=3JX6Vcc6cHlLXcihq0R_BDdvLQ2Ubob0XHzZnNCD7as,1385
43
44
  tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py,sha256=GyY4iaqp9wtZ29byMllPmk4o2nosUgdazdqf9KKUg-g,5799
44
45
  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/model_pb2.py,sha256=Z0K9bhYrBstGebIfkC-Ubj8EChqokavl0LOvqWR3N0g,7038
48
- tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi,sha256=4Ci14H5RpaUxsPKkjMnFavm9fdKyddPREnfE5yj5y9E,7028
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
46
+ tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py,sha256=OiVZ_EChreM8t6DPKgXAuNBH8gwrrwochxYGjWNHtOU,15816
47
+ tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi,sha256=PjRbckOQkJuY7y5XUCAPuO-oLFOghEuj659c3wGSaj4,19293
48
+ tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py,sha256=q1VdvKCEslwCxqK6cEb4ABUh32j_veYaVg9WLLdSh2s,7803
49
+ tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi,sha256=rBgvG_L521BbuzMpns3lKr5hOZmVwoHGW1bP2_EI4G0,7826
50
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py,sha256=4tRcud1WhYkYhEYGg0qZF7ED3QRDwP8Vg8kAh6FYZuw,2961
51
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi,sha256=8vSR8UbjxPpvtvLLshLGBnpaU1BKUw7D1i6ZilnpZCk,3291
52
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py,sha256=lKi2Xjz7V18d4Xzc6cTLcR7hbigkS-3CCkCAO_xHT-U,4459
53
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi,sha256=Q3yJ7cYeSUF_GH3jZzBItZJZ-y-jUfGKz2Cz0E15gAE,3168
53
54
  tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py,sha256=cXIkqZRCHG2teGgvExqztCl5xtvitz4JO7PWT8IleFE,1843
54
55
  tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi,sha256=JAlgacWw94Yq3nnrrSEvtBfWw4kXlctZrj_V8TU4Tck,704
55
56
  tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py,sha256=YsUl-xK3jOQ6mOMCPe8G3-BWOFFz-MpUOXDWMV90DrQ,3654
@@ -77,45 +78,46 @@ tracdap/rt/_plugins/storage_gcp.py,sha256=D0ReW2ZZ6IDqRdF-lowL43ceaupmf4tJGo7jvW
77
78
  tracdap/rt/_plugins/storage_local.py,sha256=KY1CsT0GzjYWo5YYetTnQDWu18RhVrmEGBrEUSQHPKU,15742
78
79
  tracdap/rt/_plugins/storage_sql.py,sha256=8YmASiu87XAXF7pQr4eBnt8X38DkZabKxI-YnzKpGg8,15897
79
80
  tracdap/rt/_plugins/storage_sql_dialects.py,sha256=4HWx5Gm50TRf5BTmc3hMREJIFsFgqo4g7wkVEVZzPz0,3550
80
- tracdap/rt/api/__init__.py,sha256=2uTiCcHq5UAon2gghq1AD85M9IiL-gXnNWbXcTKoemc,1951
81
+ tracdap/rt/api/__init__.py,sha256=QqbrCINnOe0fP8E1496pCjUHKS2ysTRzis3n6CWCLeI,2105
81
82
  tracdap/rt/api/experimental.py,sha256=f0ELh4Xb2fxawF2yH4xms9rh12cFLjg3I8tEs7IWOpU,7942
82
- tracdap/rt/api/hook.py,sha256=-cZhLZbCiS1G1pYKaxMt5ATL_g7mIr9fEHPSGyUcsGY,4898
83
- tracdap/rt/api/model_api.py,sha256=0P2UOP5h-FHMc-pziCjfXaFsH0bSxpjzXVA0rPWEU-I,22077
84
- tracdap/rt/api/static_api.py,sha256=jBSei7-XVAtWHXVHEVQ3mMVDDFUTCILA63YUnJhom2Y,26712
85
- tracdap/rt/config/__init__.py,sha256=eEojCBQrEhev7tCs3BEicprdalU2_i-tAbSTvf2JEsE,885
86
- tracdap/rt/config/common.py,sha256=943xttm9ie5WVbRdJI893ZNQoOvZxcnlaqYvLOFeXNk,1520
83
+ tracdap/rt/api/file_types.py,sha256=9d8zBI74ALADYKHevGkSnqJlng2Zd4Y7dto4iregnnE,1349
84
+ tracdap/rt/api/hook.py,sha256=oaVBR3K-A-QHRtBQSHxOVmM0lS2YbDiTHBavUOel0Y8,5054
85
+ tracdap/rt/api/model_api.py,sha256=ONDU0ocNnejGi2r9nCKTlblqw847Yz4vtGo4M8inc9Q,22435
86
+ tracdap/rt/api/static_api.py,sha256=XfmWy1dFP3xS7Z4kTtSl8dtAscMF25vfQbHHtpFpvpw,29938
87
+ tracdap/rt/config/__init__.py,sha256=eNv2xERY9ZYTOwbykvireuCE7zRbgZrchAhceanVnpM,885
88
+ tracdap/rt/config/common.py,sha256=deB7MBBB0UGkBXiAv-rARBjma2C-61yP8f4xG7aTPZw,1841
87
89
  tracdap/rt/config/job.py,sha256=B-aVIq0vJUY41-vPuIOLIq4A2hdfL9EJN0X9--nGfcI,656
88
- tracdap/rt/config/platform.py,sha256=ZOxsDZF-Gv1Id3_ZhCZ3I_vHB9OrmEDkUAJ1B2gMJMw,3261
90
+ tracdap/rt/config/platform.py,sha256=EQMInXQzHSwpd2paq26umroLi9W_dI9U_4Rzlawo9vg,3313
89
91
  tracdap/rt/config/result.py,sha256=cKFz9ql_6Ru6qj7UP_VJZ2HJORf52dmi1dnK7eBxD-g,612
90
92
  tracdap/rt/config/runtime.py,sha256=ENzEEiAOEmHOgaTVXO9j6WOX6Vv0cVSdYcFxJb_CTnQ,707
91
93
  tracdap/rt/ext/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
92
94
  tracdap/rt/ext/config.py,sha256=5LM1IuRjoVe43oLSgn02LAv1uvDl_lBfZrLjjiduCBU,1223
93
95
  tracdap/rt/ext/embed.py,sha256=giPa-huK8UaXliyEHdRoYwBxtvMOI6RZHnVIiIlrkV8,2292
94
- tracdap/rt/ext/plugins.py,sha256=kvvGJNeHzPeVQo6RRFmAC4YiGvUioZrEEcyzJ9gxChg,4567
96
+ tracdap/rt/ext/plugins.py,sha256=2dIZ0MOY0DvqGqvQMDK6hbI_dN4T5ItA2Qey-6GRXbI,4600
95
97
  tracdap/rt/ext/repos.py,sha256=gqMSRX8GhhS5kdUwOEPlzrWPw4alTB-tpIJl23wJlss,3297
96
98
  tracdap/rt/ext/storage.py,sha256=O0gvjB2taZpBJ_a3rZfKzh8B1PxUYwPxug6jHNSpm8Q,4980
97
99
  tracdap/rt/launch/__init__.py,sha256=SPIwj5Bwa-IlhrfY1OJspYnL_mPLvz4F9XTAYKeu6IE,907
98
100
  tracdap/rt/launch/__main__.py,sha256=tfr5wL1gHm0oj4tcX6pv6bl-3Z1K7VMpmmNMQzfMFzU,841
99
101
  tracdap/rt/launch/cli.py,sha256=jGySYBawTDFJrhHgwYnplXb9VPcgfrBVB2UURqx5s-s,2638
100
- tracdap/rt/launch/launch.py,sha256=_OLDASuL-2805ME1ubPgNKPkSIbJma72sD4p0q_E3IQ,7857
101
- tracdap/rt/metadata/__init__.py,sha256=HHia6PS4QWmg3chctf6ksukV9G5JLdYqf4qAFnHeo-U,2032
102
+ tracdap/rt/launch/launch.py,sha256=C2ywDuLHr_1xVrYAmO0j1wd22Hq2ge93iFGZkUhgmNc,7796
103
+ tracdap/rt/metadata/__init__.py,sha256=jtSK4vSdvdHKMvptmcdIXp7F4-4xYwyPnA6WEQtBF8g,2093
102
104
  tracdap/rt/metadata/common.py,sha256=J24poYPHSJfORPqqhyJGTAmepdhVaT0V0RblWiW9jCI,1404
103
105
  tracdap/rt/metadata/custom.py,sha256=GhCO8xjjsjZzlfSefqmCFX80rXJnxDCDq_STWi0ZL_0,352
104
106
  tracdap/rt/metadata/data.py,sha256=Hvf1hHks7XQi2zN8TrljGDWmqJ_i_evI-WVik0QLidA,3529
105
- tracdap/rt/metadata/file.py,sha256=QxzYvDi3se-JReF8ptUYf5iNNovxMO98wJNl1PPfdwA,458
107
+ tracdap/rt/metadata/file.py,sha256=yZenBUoeBATCq1CsIqpC-98HL6MiQdxKBJLR9ukRF7w,544
106
108
  tracdap/rt/metadata/flow.py,sha256=IgZTh62xndAAFG1Y44JORrVKOV7Bd4dEqtWjf1CGeHU,3491
107
- tracdap/rt/metadata/job.py,sha256=3nR_TR7_Uj_KDZ_sm5w_RDUvqPVBTg5OXB4M6XnGjh8,5946
108
- tracdap/rt/metadata/model.py,sha256=p_gADzQi_aXvIW1B8e3dGEib3mu4NimPbUv2LyvYT_Q,3550
109
- tracdap/rt/metadata/object.py,sha256=pGLLgKTVQZbxU7gZcBQio-M60Pt8LpqyF1Lac7LNKYw,2796
110
- tracdap/rt/metadata/object_id.py,sha256=cLzrwFD417GUhc3jw1QihfoSjOKEsXvq-dRY-lXQB0g,4383
109
+ tracdap/rt/metadata/job.py,sha256=r8IBe-IumI_An1jrg-h8mM2bZPEew8evpXp5GkfEfNo,6390
110
+ tracdap/rt/metadata/model.py,sha256=bLeAhFtKa9zOAjf5hd1PnJoEZdHqyl0Drskn464dmqA,3761
111
+ tracdap/rt/metadata/object.py,sha256=Uhc8VI2pAUTEC7AnRSK3uIk36vVgmo19oKLWb6kbOLI,2849
112
+ tracdap/rt/metadata/object_id.py,sha256=iZ3Xx5z6nwIagg8Mziuo5ea6Tz1UWk9U5ZTqCgIaYq0,4399
111
113
  tracdap/rt/metadata/resource.py,sha256=V6xMOadgzemGvxH7yyhBigRCpg24ZxQPV3WNBvwRcGI,526
112
114
  tracdap/rt/metadata/search.py,sha256=BaH0mL80QEQ6iDmef1bIqEBIlm70orkc18DQv3pya6Y,9931
113
115
  tracdap/rt/metadata/stoarge.py,sha256=-WYc3aJskSCF_ETFQDavG3fTck__WPGMOfzWEBv55p4,3153
114
116
  tracdap/rt/metadata/tag.py,sha256=cjKF5gdNECHDtA9sc09Dc2Q4WNZQA_7iJsUEHSKFXiQ,5097
115
117
  tracdap/rt/metadata/tag_update.py,sha256=I7iDJiHEcSQ2vhOlhIc0fzeOoqTg6N1LJZU1R6tG_8g,3779
116
118
  tracdap/rt/metadata/type.py,sha256=7XOGlLVvxd6DEmKRBYTANBsu9lmxDOsMKE0aNvzsB3M,9568
117
- tracdap_runtime-0.7.0rc1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
118
- tracdap_runtime-0.7.0rc1.dist-info/METADATA,sha256=zmi_nrhcf0e7qGSRlBYLEkAfeVj4fJJS7se3VBLLDho,5021
119
- tracdap_runtime-0.7.0rc1.dist-info/WHEEL,sha256=a7TGlA-5DaHMRrarXjVbQagU3Man_dCnGIWMJr5kRWo,91
120
- tracdap_runtime-0.7.0rc1.dist-info/top_level.txt,sha256=Uv0JfaE1Lp4JnCzqW8lqXNJAEcsAFpAUGOghJolVNdM,8
121
- tracdap_runtime-0.7.0rc1.dist-info/RECORD,,
119
+ tracdap_runtime-0.8.0b2.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
120
+ tracdap_runtime-0.8.0b2.dist-info/METADATA,sha256=KgJolpnRoZ8XknvFyUja2dJ-Dh-pZrq3IunB84JD4PQ,5024
121
+ tracdap_runtime-0.8.0b2.dist-info/WHEEL,sha256=A3WOREP4zgxI0fKrHUG8DC8013e3dK3n7a6HDbcEIwE,91
122
+ tracdap_runtime-0.8.0b2.dist-info/top_level.txt,sha256=Uv0JfaE1Lp4JnCzqW8lqXNJAEcsAFpAUGOghJolVNdM,8
123
+ tracdap_runtime-0.8.0b2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.4.0)
2
+ Generator: setuptools (75.7.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5