tracdap-runtime 0.6.4__py3-none-any.whl → 0.6.5__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/_exec/context.py +382 -29
- tracdap/rt/_exec/dev_mode.py +123 -94
- tracdap/rt/_exec/engine.py +120 -9
- tracdap/rt/_exec/functions.py +125 -20
- tracdap/rt/_exec/graph.py +38 -13
- tracdap/rt/_exec/graph_builder.py +120 -9
- tracdap/rt/_impl/data.py +115 -49
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +74 -30
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +120 -2
- tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +12 -10
- tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi +14 -2
- tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py +29 -0
- tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi +16 -0
- tracdap/rt/_impl/models.py +8 -0
- tracdap/rt/_impl/static_api.py +16 -0
- tracdap/rt/_impl/storage.py +37 -25
- tracdap/rt/_impl/validation.py +76 -7
- tracdap/rt/_plugins/repo_git.py +1 -1
- tracdap/rt/_version.py +1 -1
- tracdap/rt/api/experimental.py +220 -0
- tracdap/rt/api/hook.py +4 -0
- tracdap/rt/api/model_api.py +48 -6
- tracdap/rt/config/__init__.py +2 -2
- tracdap/rt/config/common.py +6 -0
- tracdap/rt/metadata/__init__.py +25 -20
- tracdap/rt/metadata/job.py +54 -0
- tracdap/rt/metadata/model.py +18 -0
- tracdap/rt/metadata/resource.py +24 -0
- {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.5.dist-info}/METADATA +3 -1
- {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.5.dist-info}/RECORD +33 -29
- {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.5.dist-info}/LICENSE +0 -0
- {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.5.dist-info}/WHEEL +0 -0
- {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.5.dist-info}/top_level.txt +0 -0
tracdap/rt/_impl/data.py
CHANGED
@@ -12,8 +12,6 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
|
-
from __future__ import annotations
|
16
|
-
|
17
15
|
import dataclasses as dc
|
18
16
|
import typing as tp
|
19
17
|
import datetime as dt
|
@@ -22,7 +20,16 @@ import platform
|
|
22
20
|
|
23
21
|
import pyarrow as pa
|
24
22
|
import pyarrow.compute as pc
|
25
|
-
|
23
|
+
|
24
|
+
try:
|
25
|
+
import pandas # noqa
|
26
|
+
except ModuleNotFoundError:
|
27
|
+
pandas = None
|
28
|
+
|
29
|
+
try:
|
30
|
+
import polars # noqa
|
31
|
+
except ModuleNotFoundError:
|
32
|
+
polars = None
|
26
33
|
|
27
34
|
import tracdap.rt.metadata as _meta
|
28
35
|
import tracdap.rt.exceptions as _ex
|
@@ -42,7 +49,7 @@ class DataSpec:
|
|
42
49
|
class DataPartKey:
|
43
50
|
|
44
51
|
@classmethod
|
45
|
-
def for_root(cls) -> DataPartKey:
|
52
|
+
def for_root(cls) -> "DataPartKey":
|
46
53
|
return DataPartKey(opaque_key='part_root')
|
47
54
|
|
48
55
|
opaque_key: str
|
@@ -55,14 +62,14 @@ class DataItem:
|
|
55
62
|
table: tp.Optional[pa.Table] = None
|
56
63
|
batches: tp.Optional[tp.List[pa.RecordBatch]] = None
|
57
64
|
|
58
|
-
pandas: tp.Optional[
|
65
|
+
pandas: "tp.Optional[pandas.DataFrame]" = None
|
59
66
|
pyspark: tp.Any = None
|
60
67
|
|
61
68
|
def is_empty(self) -> bool:
|
62
69
|
return self.table is None and (self.batches is None or len(self.batches) == 0)
|
63
70
|
|
64
71
|
@staticmethod
|
65
|
-
def create_empty() -> DataItem:
|
72
|
+
def create_empty() -> "DataItem":
|
66
73
|
return DataItem(pa.schema([]))
|
67
74
|
|
68
75
|
|
@@ -75,7 +82,7 @@ class DataView:
|
|
75
82
|
parts: tp.Dict[DataPartKey, tp.List[DataItem]]
|
76
83
|
|
77
84
|
@staticmethod
|
78
|
-
def create_empty() -> DataView:
|
85
|
+
def create_empty() -> "DataView":
|
79
86
|
return DataView(_meta.SchemaDefinition(), pa.schema([]), dict())
|
80
87
|
|
81
88
|
@staticmethod
|
@@ -125,14 +132,14 @@ class DataMapping:
|
|
125
132
|
}
|
126
133
|
|
127
134
|
# Check the Pandas dtypes for handling floats are available before setting up the type mapping
|
128
|
-
__PANDAS_VERSION_ELEMENTS =
|
135
|
+
__PANDAS_VERSION_ELEMENTS = pandas.__version__.split(".")
|
129
136
|
__PANDAS_MAJOR_VERSION = int(__PANDAS_VERSION_ELEMENTS[0])
|
130
137
|
__PANDAS_MINOR_VERSION = int(__PANDAS_VERSION_ELEMENTS[1])
|
131
138
|
|
132
139
|
if __PANDAS_MAJOR_VERSION == 2:
|
133
140
|
|
134
|
-
__PANDAS_DATE_TYPE =
|
135
|
-
__PANDAS_DATETIME_TYPE =
|
141
|
+
__PANDAS_DATE_TYPE = pandas.to_datetime([dt.date(2000, 1, 1)]).as_unit(__TRAC_TIMESTAMP_UNIT).dtype
|
142
|
+
__PANDAS_DATETIME_TYPE = pandas.to_datetime([dt.datetime(2000, 1, 1, 0, 0, 0)]).as_unit(__TRAC_TIMESTAMP_UNIT).dtype
|
136
143
|
|
137
144
|
@classmethod
|
138
145
|
def __pandas_datetime_type(cls, tz, unit):
|
@@ -140,42 +147,42 @@ class DataMapping:
|
|
140
147
|
return cls.__PANDAS_DATETIME_TYPE
|
141
148
|
_unit = unit if unit is not None else cls.__TRAC_TIMESTAMP_UNIT
|
142
149
|
if tz is None:
|
143
|
-
return
|
150
|
+
return pandas.to_datetime([dt.datetime(2000, 1, 1, 0, 0, 0)]).as_unit(_unit).dtype
|
144
151
|
else:
|
145
|
-
return
|
152
|
+
return pandas.DatetimeTZDtype(tz=tz, unit=_unit)
|
146
153
|
|
147
|
-
# Minimum supported version for Pandas is 1.2, when
|
154
|
+
# Minimum supported version for Pandas is 1.2, when pandas.Float64Dtype was introduced
|
148
155
|
elif __PANDAS_MAJOR_VERSION == 1 and __PANDAS_MINOR_VERSION >= 2:
|
149
156
|
|
150
|
-
__PANDAS_DATE_TYPE =
|
151
|
-
__PANDAS_DATETIME_TYPE =
|
157
|
+
__PANDAS_DATE_TYPE = pandas.to_datetime([dt.date(2000, 1, 1)]).dtype
|
158
|
+
__PANDAS_DATETIME_TYPE = pandas.to_datetime([dt.datetime(2000, 1, 1, 0, 0, 0)]).dtype
|
152
159
|
|
153
160
|
@classmethod
|
154
161
|
def __pandas_datetime_type(cls, tz, unit): # noqa
|
155
162
|
if tz is None:
|
156
163
|
return cls.__PANDAS_DATETIME_TYPE
|
157
164
|
else:
|
158
|
-
return
|
165
|
+
return pandas.DatetimeTZDtype(tz=tz)
|
159
166
|
|
160
167
|
else:
|
161
|
-
raise _ex.EStartup(f"Pandas version not supported: [{
|
168
|
+
raise _ex.EStartup(f"Pandas version not supported: [{pandas.__version__}]")
|
162
169
|
|
163
170
|
# Only partial mapping is possible, decimal and temporal dtypes cannot be mapped this way
|
164
171
|
__ARROW_TO_PANDAS_TYPE_MAPPING = {
|
165
|
-
pa.bool_():
|
166
|
-
pa.int8():
|
167
|
-
pa.int16():
|
168
|
-
pa.int32():
|
169
|
-
pa.int64():
|
170
|
-
pa.uint8():
|
171
|
-
pa.uint16():
|
172
|
-
pa.uint32():
|
173
|
-
pa.uint64():
|
174
|
-
pa.float16():
|
175
|
-
pa.float32():
|
176
|
-
pa.float64():
|
177
|
-
pa.string():
|
178
|
-
pa.utf8():
|
172
|
+
pa.bool_(): pandas.BooleanDtype(),
|
173
|
+
pa.int8(): pandas.Int8Dtype(),
|
174
|
+
pa.int16(): pandas.Int16Dtype(),
|
175
|
+
pa.int32(): pandas.Int32Dtype(),
|
176
|
+
pa.int64(): pandas.Int64Dtype(),
|
177
|
+
pa.uint8(): pandas.UInt8Dtype(),
|
178
|
+
pa.uint16(): pandas.UInt16Dtype(),
|
179
|
+
pa.uint32(): pandas.UInt32Dtype(),
|
180
|
+
pa.uint64(): pandas.UInt64Dtype(),
|
181
|
+
pa.float16(): pandas.Float32Dtype(),
|
182
|
+
pa.float32(): pandas.Float32Dtype(),
|
183
|
+
pa.float64(): pandas.Float64Dtype(),
|
184
|
+
pa.string(): pandas.StringDtype(),
|
185
|
+
pa.utf8(): pandas.StringDtype()
|
179
186
|
}
|
180
187
|
|
181
188
|
__ARROW_TO_TRAC_BASIC_TYPE_MAPPING = {
|
@@ -340,18 +347,31 @@ class DataMapping:
|
|
340
347
|
|
341
348
|
@classmethod
|
342
349
|
def view_to_pandas(
|
343
|
-
cls, view:
|
344
|
-
temporal_objects_flag: bool) ->
|
350
|
+
cls, view: DataView, part: DataPartKey, schema: tp.Optional[pa.Schema],
|
351
|
+
temporal_objects_flag: bool) -> "pandas.DataFrame":
|
345
352
|
|
346
353
|
table = cls.view_to_arrow(view, part)
|
347
354
|
return cls.arrow_to_pandas(table, schema, temporal_objects_flag)
|
348
355
|
|
349
356
|
@classmethod
|
350
|
-
def
|
357
|
+
def view_to_polars(
|
358
|
+
cls, view: DataView, part: DataPartKey, schema: tp.Optional[pa.Schema]):
|
359
|
+
|
360
|
+
table = cls.view_to_arrow(view, part)
|
361
|
+
return cls.arrow_to_polars(table, schema)
|
362
|
+
|
363
|
+
@classmethod
|
364
|
+
def pandas_to_item(cls, df: "pandas.DataFrame", schema: tp.Optional[pa.Schema]) -> DataItem:
|
351
365
|
|
352
366
|
table = cls.pandas_to_arrow(df, schema)
|
353
367
|
return DataItem(table.schema, table)
|
354
368
|
|
369
|
+
@classmethod
|
370
|
+
def polars_to_item(cls, df: "polars.DataFrame", schema: tp.Optional[pa.Schema]) -> DataItem:
|
371
|
+
|
372
|
+
table = cls.polars_to_arrow(df, schema)
|
373
|
+
return DataItem(table.schema, table)
|
374
|
+
|
355
375
|
@classmethod
|
356
376
|
def add_item_to_view(cls, view: DataView, part: DataPartKey, item: DataItem) -> DataView:
|
357
377
|
|
@@ -401,7 +421,7 @@ class DataMapping:
|
|
401
421
|
@classmethod
|
402
422
|
def arrow_to_pandas(
|
403
423
|
cls, table: pa.Table, schema: tp.Optional[pa.Schema] = None,
|
404
|
-
temporal_objects_flag: bool = False) ->
|
424
|
+
temporal_objects_flag: bool = False) -> "pandas.DataFrame":
|
405
425
|
|
406
426
|
if schema is not None:
|
407
427
|
table = DataConformance.conform_to_schema(table, schema, warn_extra_columns=False)
|
@@ -426,7 +446,18 @@ class DataMapping:
|
|
426
446
|
split_blocks=True) # noqa
|
427
447
|
|
428
448
|
@classmethod
|
429
|
-
def
|
449
|
+
def arrow_to_polars(
|
450
|
+
cls, table: pa.Table, schema: tp.Optional[pa.Schema] = None) -> "polars.DataFrame":
|
451
|
+
|
452
|
+
if schema is not None:
|
453
|
+
table = DataConformance.conform_to_schema(table, schema, warn_extra_columns=False)
|
454
|
+
else:
|
455
|
+
DataConformance.check_duplicate_fields(table.schema.names, False)
|
456
|
+
|
457
|
+
return polars.from_arrow(table)
|
458
|
+
|
459
|
+
@classmethod
|
460
|
+
def pandas_to_arrow(cls, df: "pandas.DataFrame", schema: tp.Optional[pa.Schema] = None) -> pa.Table:
|
430
461
|
|
431
462
|
# Converting pandas -> arrow needs care to ensure type coercion is applied correctly
|
432
463
|
# Calling Table.from_pandas with the supplied schema will very often reject data
|
@@ -468,6 +499,30 @@ class DataMapping:
|
|
468
499
|
df_types = df.dtypes.filter(column_filter) if column_filter else df.dtypes
|
469
500
|
return DataConformance.conform_to_schema(table, schema, df_types)
|
470
501
|
|
502
|
+
@classmethod
|
503
|
+
def pandas_to_arrow_schema(cls, df: "pandas.DataFrame") -> pa.Schema:
|
504
|
+
|
505
|
+
return pa.Schema.from_pandas(df, preserve_index=False) # noqa
|
506
|
+
|
507
|
+
@classmethod
|
508
|
+
def polars_to_arrow(cls, df: "polars.DataFrame", schema: tp.Optional[pa.Schema] = None) -> pa.Table:
|
509
|
+
|
510
|
+
column_filter = DataConformance.column_filter(df.columns, schema)
|
511
|
+
|
512
|
+
filtered_df = df.select(polars.col(*column_filter)) if column_filter else df
|
513
|
+
table = filtered_df.to_arrow()
|
514
|
+
|
515
|
+
if schema is None:
|
516
|
+
DataConformance.check_duplicate_fields(table.schema.names, False)
|
517
|
+
return table
|
518
|
+
else:
|
519
|
+
return DataConformance.conform_to_schema(table, schema, None)
|
520
|
+
|
521
|
+
@classmethod
|
522
|
+
def polars_to_arrow_schema(cls, df: "polars.DataFrame") -> pa.Schema:
|
523
|
+
|
524
|
+
return df.top_k(1).to_arrow().schema
|
525
|
+
|
471
526
|
|
472
527
|
class DataConformance:
|
473
528
|
|
@@ -784,21 +839,32 @@ class DataConformance:
|
|
784
839
|
@classmethod
|
785
840
|
def _coerce_string(cls, vector: pa.Array, field: pa.Field) -> pa.Array:
|
786
841
|
|
787
|
-
|
788
|
-
if pa.types.is_string(vector.type):
|
789
|
-
return vector
|
842
|
+
try:
|
790
843
|
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
844
|
+
if pa.types.is_string(field.type):
|
845
|
+
if pa.types.is_string(vector.type):
|
846
|
+
return vector
|
847
|
+
# Try to down-cast large string -> string, will raise ArrowInvalid if data does not fit
|
848
|
+
if pa.types.is_large_string(vector.type):
|
849
|
+
return pc.cast(vector, field.type, safe=True)
|
850
|
+
|
851
|
+
if pa.types.is_large_string(field.type):
|
852
|
+
if pa.types.is_large_string(vector.type):
|
853
|
+
return vector
|
854
|
+
# Allow up-casting string -> large_string
|
855
|
+
if pa.types.is_string(vector.type):
|
856
|
+
return pc.cast(vector, field.type)
|
797
857
|
|
798
|
-
|
799
|
-
|
858
|
+
error_message = cls._format_error(cls.__E_WRONG_DATA_TYPE, vector, field)
|
859
|
+
cls.__log.error(error_message)
|
860
|
+
raise _ex.EDataConformance(error_message)
|
861
|
+
|
862
|
+
except pa.ArrowInvalid as e:
|
863
|
+
|
864
|
+
error_message = cls._format_error(cls.__E_DATA_LOSS_DID_OCCUR, vector, field, e)
|
865
|
+
cls.__log.error(error_message)
|
866
|
+
raise _ex.EDataConformance(error_message) from e
|
800
867
|
|
801
|
-
raise _ex.EDataConformance(error_message)
|
802
868
|
|
803
869
|
@classmethod
|
804
870
|
def _coerce_date(cls, vector: pa.Array, field: pa.Field, pandas_type=None) -> pa.Array:
|
@@ -816,7 +882,7 @@ class DataConformance:
|
|
816
882
|
# For Pandas 2.x dates are still np.datetime64 but can be in s, ms, us or ns
|
817
883
|
# This conversion will not apply to dates held in Pandas using the Python date object types
|
818
884
|
if pandas_type is not None:
|
819
|
-
if pa.types.is_timestamp(vector.type) and
|
885
|
+
if pa.types.is_timestamp(vector.type) and pandas.api.types.is_datetime64_any_dtype(pandas_type):
|
820
886
|
return pc.cast(vector, field.type)
|
821
887
|
|
822
888
|
error_message = cls._format_error(cls.__E_WRONG_DATA_TYPE, vector, field)
|
@@ -17,7 +17,7 @@ from tracdap.rt._impl.grpc.tracdap.metadata import object_id_pb2 as tracdap_dot_
|
|
17
17
|
from tracdap.rt._impl.grpc.tracdap.metadata import tag_update_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_tag__update__pb2
|
18
18
|
|
19
19
|
|
20
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0tracdap/rt/_impl/grpc/tracdap/metadata/job.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x36tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x1a\x37tracdap/rt/_impl/grpc/tracdap/metadata/tag_update.proto\"\
|
20
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0tracdap/rt/_impl/grpc/tracdap/metadata/job.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x36tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x1a\x37tracdap/rt/_impl/grpc/tracdap/metadata/tag_update.proto\"\xd4\x02\n\rJobDefinition\x12*\n\x07jobType\x18\x01 \x01(\x0e\x32\x19.tracdap.metadata.JobType\x12\x31\n\x08runModel\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.RunModelJobH\x00\x12/\n\x07runFlow\x18\x03 \x01(\x0b\x32\x1c.tracdap.metadata.RunFlowJobH\x00\x12\x37\n\x0bimportModel\x18\x04 \x01(\x0b\x32 .tracdap.metadata.ImportModelJobH\x00\x12\x35\n\nimportData\x18\x05 \x01(\x0b\x32\x1f.tracdap.metadata.ImportDataJobH\x00\x12\x35\n\nexportData\x18\x06 \x01(\x0b\x32\x1f.tracdap.metadata.ExportDataJobH\x00\x42\x0c\n\njobDetails\"\xac\x05\n\x0bRunModelJob\x12,\n\x05model\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12\x41\n\nparameters\x18\x02 \x03(\x0b\x32-.tracdap.metadata.RunModelJob.ParametersEntry\x12\x39\n\x06inputs\x18\x03 \x03(\x0b\x32).tracdap.metadata.RunModelJob.InputsEntry\x12;\n\x07outputs\x18\x04 \x03(\x0b\x32*.tracdap.metadata.RunModelJob.OutputsEntry\x12\x45\n\x0cpriorOutputs\x18\x05 \x03(\x0b\x32/.tracdap.metadata.RunModelJob.PriorOutputsEntry\x12\x30\n\x0boutputAttrs\x18\x06 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x1aJ\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x1aL\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aR\n\x11PriorOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\"\xae\x06\n\nRunFlowJob\x12+\n\x04\x66low\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12@\n\nparameters\x18\x02 \x03(\x0b\x32,.tracdap.metadata.RunFlowJob.ParametersEntry\x12\x38\n\x06inputs\x18\x03 \x03(\x0b\x32(.tracdap.metadata.RunFlowJob.InputsEntry\x12:\n\x07outputs\x18\x04 \x03(\x0b\x32).tracdap.metadata.RunFlowJob.OutputsEntry\x12\x44\n\x0cpriorOutputs\x18\x05 \x03(\x0b\x32..tracdap.metadata.RunFlowJob.PriorOutputsEntry\x12\x38\n\x06models\x18\x06 \x03(\x0b\x32(.tracdap.metadata.RunFlowJob.ModelsEntry\x12\x30\n\x0boutputAttrs\x18\x07 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x1aJ\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x1aL\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aR\n\x11PriorOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aL\n\x0bModelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\"\xd7\x01\n\x0eImportModelJob\x12\x10\n\x08language\x18\x01 \x01(\t\x12\x12\n\nrepository\x18\x02 \x01(\t\x12\x19\n\x0cpackageGroup\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x07package\x18\x08 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\x12\x12\n\nentryPoint\x18\x04 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12/\n\nmodelAttrs\x18\x06 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdateB\x0f\n\r_packageGroup\"\x8d\x07\n\rImportDataJob\x12,\n\x05model\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12\x43\n\nparameters\x18\x02 \x03(\x0b\x32/.tracdap.metadata.ImportDataJob.ParametersEntry\x12;\n\x06inputs\x18\x03 \x03(\x0b\x32+.tracdap.metadata.ImportDataJob.InputsEntry\x12=\n\x07outputs\x18\x04 \x03(\x0b\x32,.tracdap.metadata.ImportDataJob.OutputsEntry\x12G\n\x0cpriorOutputs\x18\x05 \x03(\x0b\x32\x31.tracdap.metadata.ImportDataJob.PriorOutputsEntry\x12\x15\n\rstorageAccess\x18\x06 \x03(\t\x12=\n\x07imports\x18\x07 \x03(\x0b\x32,.tracdap.metadata.ImportDataJob.ImportsEntry\x12\x30\n\x0boutputAttrs\x18\x08 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x12\x30\n\x0bimportAttrs\x18\t \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x1aJ\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x1aL\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aR\n\x11PriorOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0cImportsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\"\xdb\x06\n\rExportDataJob\x12,\n\x05model\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12\x43\n\nparameters\x18\x02 \x03(\x0b\x32/.tracdap.metadata.ExportDataJob.ParametersEntry\x12;\n\x06inputs\x18\x03 \x03(\x0b\x32+.tracdap.metadata.ExportDataJob.InputsEntry\x12=\n\x07outputs\x18\x04 \x03(\x0b\x32,.tracdap.metadata.ExportDataJob.OutputsEntry\x12G\n\x0cpriorOutputs\x18\x05 \x03(\x0b\x32\x31.tracdap.metadata.ExportDataJob.PriorOutputsEntry\x12\x15\n\rstorageAccess\x18\x06 \x03(\t\x12=\n\x07\x65xports\x18\x07 \x03(\x0b\x32,.tracdap.metadata.ExportDataJob.ExportsEntry\x12\x30\n\x0boutputAttrs\x18\x08 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x1aJ\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x1aL\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aR\n\x11PriorOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0c\x45xportsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01*p\n\x07JobType\x12\x14\n\x10JOB_TYPE_NOT_SET\x10\x00\x12\r\n\tRUN_MODEL\x10\x01\x12\x0c\n\x08RUN_FLOW\x10\x02\x12\x10\n\x0cIMPORT_MODEL\x10\x03\x12\x0f\n\x0bIMPORT_DATA\x10\x04\x12\x0f\n\x0b\x45XPORT_DATA\x10\x05*\xb8\x01\n\rJobStatusCode\x12\x1b\n\x17JOB_STATUS_CODE_NOT_SET\x10\x00\x12\r\n\tPREPARING\x10\x01\x12\r\n\tVALIDATED\x10\x02\x12\x0b\n\x07PENDING\x10\x03\x12\n\n\x06QUEUED\x10\x04\x12\r\n\tSUBMITTED\x10\x05\x12\x0b\n\x07RUNNING\x10\x06\x12\r\n\tFINISHING\x10\x07\x12\r\n\tSUCCEEDED\x10\x08\x12\n\n\x06\x46\x41ILED\x10\t\x12\r\n\tCANCELLED\x10\nB\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
|
21
21
|
|
22
22
|
_globals = globals()
|
23
23
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -43,34 +43,78 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
43
43
|
_globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_options = b'8\001'
|
44
44
|
_globals['_RUNFLOWJOB_MODELSENTRY']._options = None
|
45
45
|
_globals['_RUNFLOWJOB_MODELSENTRY']._serialized_options = b'8\001'
|
46
|
-
_globals['
|
47
|
-
_globals['
|
48
|
-
_globals['
|
49
|
-
_globals['
|
46
|
+
_globals['_IMPORTDATAJOB_PARAMETERSENTRY']._options = None
|
47
|
+
_globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_options = b'8\001'
|
48
|
+
_globals['_IMPORTDATAJOB_INPUTSENTRY']._options = None
|
49
|
+
_globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_options = b'8\001'
|
50
|
+
_globals['_IMPORTDATAJOB_OUTPUTSENTRY']._options = None
|
51
|
+
_globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_options = b'8\001'
|
52
|
+
_globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._options = None
|
53
|
+
_globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_options = b'8\001'
|
54
|
+
_globals['_IMPORTDATAJOB_IMPORTSENTRY']._options = None
|
55
|
+
_globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_options = b'8\001'
|
56
|
+
_globals['_EXPORTDATAJOB_PARAMETERSENTRY']._options = None
|
57
|
+
_globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_options = b'8\001'
|
58
|
+
_globals['_EXPORTDATAJOB_INPUTSENTRY']._options = None
|
59
|
+
_globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_options = b'8\001'
|
60
|
+
_globals['_EXPORTDATAJOB_OUTPUTSENTRY']._options = None
|
61
|
+
_globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_options = b'8\001'
|
62
|
+
_globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._options = None
|
63
|
+
_globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_options = b'8\001'
|
64
|
+
_globals['_EXPORTDATAJOB_EXPORTSENTRY']._options = None
|
65
|
+
_globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_options = b'8\001'
|
66
|
+
_globals['_JOBTYPE']._serialized_start=4073
|
67
|
+
_globals['_JOBTYPE']._serialized_end=4185
|
68
|
+
_globals['_JOBSTATUSCODE']._serialized_start=4188
|
69
|
+
_globals['_JOBSTATUSCODE']._serialized_end=4372
|
50
70
|
_globals['_JOBDEFINITION']._serialized_start=235
|
51
|
-
_globals['_JOBDEFINITION']._serialized_end=
|
52
|
-
_globals['_RUNMODELJOB']._serialized_start=
|
53
|
-
_globals['_RUNMODELJOB']._serialized_end=
|
54
|
-
_globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_start=
|
55
|
-
_globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_end=
|
56
|
-
_globals['_RUNMODELJOB_INPUTSENTRY']._serialized_start=
|
57
|
-
_globals['_RUNMODELJOB_INPUTSENTRY']._serialized_end=
|
58
|
-
_globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_start=
|
59
|
-
_globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_end=
|
60
|
-
_globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_start=
|
61
|
-
_globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_end=
|
62
|
-
_globals['_RUNFLOWJOB']._serialized_start=
|
63
|
-
_globals['_RUNFLOWJOB']._serialized_end=
|
64
|
-
_globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_start=
|
65
|
-
_globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_end=
|
66
|
-
_globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_start=
|
67
|
-
_globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_end=
|
68
|
-
_globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_start=
|
69
|
-
_globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_end=
|
70
|
-
_globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_start=
|
71
|
-
_globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_end=
|
72
|
-
_globals['_RUNFLOWJOB_MODELSENTRY']._serialized_start=
|
73
|
-
_globals['_RUNFLOWJOB_MODELSENTRY']._serialized_end=
|
74
|
-
_globals['_IMPORTMODELJOB']._serialized_start=
|
75
|
-
_globals['_IMPORTMODELJOB']._serialized_end=
|
71
|
+
_globals['_JOBDEFINITION']._serialized_end=575
|
72
|
+
_globals['_RUNMODELJOB']._serialized_start=578
|
73
|
+
_globals['_RUNMODELJOB']._serialized_end=1262
|
74
|
+
_globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_start=947
|
75
|
+
_globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_end=1021
|
76
|
+
_globals['_RUNMODELJOB_INPUTSENTRY']._serialized_start=1023
|
77
|
+
_globals['_RUNMODELJOB_INPUTSENTRY']._serialized_end=1099
|
78
|
+
_globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_start=1101
|
79
|
+
_globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_end=1178
|
80
|
+
_globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_start=1180
|
81
|
+
_globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_end=1262
|
82
|
+
_globals['_RUNFLOWJOB']._serialized_start=1265
|
83
|
+
_globals['_RUNFLOWJOB']._serialized_end=2079
|
84
|
+
_globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_start=947
|
85
|
+
_globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_end=1021
|
86
|
+
_globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_start=1023
|
87
|
+
_globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_end=1099
|
88
|
+
_globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_start=1101
|
89
|
+
_globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_end=1178
|
90
|
+
_globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_start=1180
|
91
|
+
_globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_end=1262
|
92
|
+
_globals['_RUNFLOWJOB_MODELSENTRY']._serialized_start=2003
|
93
|
+
_globals['_RUNFLOWJOB_MODELSENTRY']._serialized_end=2079
|
94
|
+
_globals['_IMPORTMODELJOB']._serialized_start=2082
|
95
|
+
_globals['_IMPORTMODELJOB']._serialized_end=2297
|
96
|
+
_globals['_IMPORTDATAJOB']._serialized_start=2300
|
97
|
+
_globals['_IMPORTDATAJOB']._serialized_end=3209
|
98
|
+
_globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_start=947
|
99
|
+
_globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_end=1021
|
100
|
+
_globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_start=1023
|
101
|
+
_globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_end=1099
|
102
|
+
_globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_start=1101
|
103
|
+
_globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_end=1178
|
104
|
+
_globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_start=1180
|
105
|
+
_globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_end=1262
|
106
|
+
_globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_start=3132
|
107
|
+
_globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_end=3209
|
108
|
+
_globals['_EXPORTDATAJOB']._serialized_start=3212
|
109
|
+
_globals['_EXPORTDATAJOB']._serialized_end=4071
|
110
|
+
_globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_start=947
|
111
|
+
_globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_end=1021
|
112
|
+
_globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_start=1023
|
113
|
+
_globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_end=1099
|
114
|
+
_globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_start=1101
|
115
|
+
_globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_end=1178
|
116
|
+
_globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_start=1180
|
117
|
+
_globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_end=1262
|
118
|
+
_globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_start=3994
|
119
|
+
_globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_end=4071
|
76
120
|
# @@protoc_insertion_point(module_scope)
|
@@ -16,6 +16,7 @@ class JobType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
16
16
|
RUN_FLOW: _ClassVar[JobType]
|
17
17
|
IMPORT_MODEL: _ClassVar[JobType]
|
18
18
|
IMPORT_DATA: _ClassVar[JobType]
|
19
|
+
EXPORT_DATA: _ClassVar[JobType]
|
19
20
|
|
20
21
|
class JobStatusCode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
21
22
|
__slots__ = ()
|
@@ -35,6 +36,7 @@ RUN_MODEL: JobType
|
|
35
36
|
RUN_FLOW: JobType
|
36
37
|
IMPORT_MODEL: JobType
|
37
38
|
IMPORT_DATA: JobType
|
39
|
+
EXPORT_DATA: JobType
|
38
40
|
JOB_STATUS_CODE_NOT_SET: JobStatusCode
|
39
41
|
PREPARING: JobStatusCode
|
40
42
|
VALIDATED: JobStatusCode
|
@@ -48,16 +50,20 @@ FAILED: JobStatusCode
|
|
48
50
|
CANCELLED: JobStatusCode
|
49
51
|
|
50
52
|
class JobDefinition(_message.Message):
|
51
|
-
__slots__ = ("jobType", "runModel", "runFlow", "importModel")
|
53
|
+
__slots__ = ("jobType", "runModel", "runFlow", "importModel", "importData", "exportData")
|
52
54
|
JOBTYPE_FIELD_NUMBER: _ClassVar[int]
|
53
55
|
RUNMODEL_FIELD_NUMBER: _ClassVar[int]
|
54
56
|
RUNFLOW_FIELD_NUMBER: _ClassVar[int]
|
55
57
|
IMPORTMODEL_FIELD_NUMBER: _ClassVar[int]
|
58
|
+
IMPORTDATA_FIELD_NUMBER: _ClassVar[int]
|
59
|
+
EXPORTDATA_FIELD_NUMBER: _ClassVar[int]
|
56
60
|
jobType: JobType
|
57
61
|
runModel: RunModelJob
|
58
62
|
runFlow: RunFlowJob
|
59
63
|
importModel: ImportModelJob
|
60
|
-
|
64
|
+
importData: ImportDataJob
|
65
|
+
exportData: ExportDataJob
|
66
|
+
def __init__(self, jobType: _Optional[_Union[JobType, str]] = ..., runModel: _Optional[_Union[RunModelJob, _Mapping]] = ..., runFlow: _Optional[_Union[RunFlowJob, _Mapping]] = ..., importModel: _Optional[_Union[ImportModelJob, _Mapping]] = ..., importData: _Optional[_Union[ImportDataJob, _Mapping]] = ..., exportData: _Optional[_Union[ExportDataJob, _Mapping]] = ...) -> None: ...
|
61
67
|
|
62
68
|
class RunModelJob(_message.Message):
|
63
69
|
__slots__ = ("model", "parameters", "inputs", "outputs", "priorOutputs", "outputAttrs")
|
@@ -175,3 +181,115 @@ class ImportModelJob(_message.Message):
|
|
175
181
|
path: str
|
176
182
|
modelAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
|
177
183
|
def __init__(self, language: _Optional[str] = ..., repository: _Optional[str] = ..., packageGroup: _Optional[str] = ..., package: _Optional[str] = ..., version: _Optional[str] = ..., entryPoint: _Optional[str] = ..., path: _Optional[str] = ..., modelAttrs: _Optional[_Iterable[_Union[_tag_update_pb2.TagUpdate, _Mapping]]] = ...) -> None: ...
|
184
|
+
|
185
|
+
class ImportDataJob(_message.Message):
|
186
|
+
__slots__ = ("model", "parameters", "inputs", "outputs", "priorOutputs", "storageAccess", "imports", "outputAttrs", "importAttrs")
|
187
|
+
class ParametersEntry(_message.Message):
|
188
|
+
__slots__ = ("key", "value")
|
189
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
190
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
191
|
+
key: str
|
192
|
+
value: _type_pb2.Value
|
193
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_type_pb2.Value, _Mapping]] = ...) -> None: ...
|
194
|
+
class InputsEntry(_message.Message):
|
195
|
+
__slots__ = ("key", "value")
|
196
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
197
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
198
|
+
key: str
|
199
|
+
value: _object_id_pb2.TagSelector
|
200
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
201
|
+
class OutputsEntry(_message.Message):
|
202
|
+
__slots__ = ("key", "value")
|
203
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
204
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
205
|
+
key: str
|
206
|
+
value: _object_id_pb2.TagSelector
|
207
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
208
|
+
class PriorOutputsEntry(_message.Message):
|
209
|
+
__slots__ = ("key", "value")
|
210
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
211
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
212
|
+
key: str
|
213
|
+
value: _object_id_pb2.TagSelector
|
214
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
215
|
+
class ImportsEntry(_message.Message):
|
216
|
+
__slots__ = ("key", "value")
|
217
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
218
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
219
|
+
key: str
|
220
|
+
value: _object_id_pb2.TagSelector
|
221
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
222
|
+
MODEL_FIELD_NUMBER: _ClassVar[int]
|
223
|
+
PARAMETERS_FIELD_NUMBER: _ClassVar[int]
|
224
|
+
INPUTS_FIELD_NUMBER: _ClassVar[int]
|
225
|
+
OUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
226
|
+
PRIOROUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
227
|
+
STORAGEACCESS_FIELD_NUMBER: _ClassVar[int]
|
228
|
+
IMPORTS_FIELD_NUMBER: _ClassVar[int]
|
229
|
+
OUTPUTATTRS_FIELD_NUMBER: _ClassVar[int]
|
230
|
+
IMPORTATTRS_FIELD_NUMBER: _ClassVar[int]
|
231
|
+
model: _object_id_pb2.TagSelector
|
232
|
+
parameters: _containers.MessageMap[str, _type_pb2.Value]
|
233
|
+
inputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
234
|
+
outputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
235
|
+
priorOutputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
236
|
+
storageAccess: _containers.RepeatedScalarFieldContainer[str]
|
237
|
+
imports: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
238
|
+
outputAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
|
239
|
+
importAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
|
240
|
+
def __init__(self, model: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ..., parameters: _Optional[_Mapping[str, _type_pb2.Value]] = ..., inputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., outputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., priorOutputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., storageAccess: _Optional[_Iterable[str]] = ..., imports: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., outputAttrs: _Optional[_Iterable[_Union[_tag_update_pb2.TagUpdate, _Mapping]]] = ..., importAttrs: _Optional[_Iterable[_Union[_tag_update_pb2.TagUpdate, _Mapping]]] = ...) -> None: ...
|
241
|
+
|
242
|
+
class ExportDataJob(_message.Message):
|
243
|
+
__slots__ = ("model", "parameters", "inputs", "outputs", "priorOutputs", "storageAccess", "exports", "outputAttrs")
|
244
|
+
class ParametersEntry(_message.Message):
|
245
|
+
__slots__ = ("key", "value")
|
246
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
247
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
248
|
+
key: str
|
249
|
+
value: _type_pb2.Value
|
250
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_type_pb2.Value, _Mapping]] = ...) -> None: ...
|
251
|
+
class InputsEntry(_message.Message):
|
252
|
+
__slots__ = ("key", "value")
|
253
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
254
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
255
|
+
key: str
|
256
|
+
value: _object_id_pb2.TagSelector
|
257
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
258
|
+
class OutputsEntry(_message.Message):
|
259
|
+
__slots__ = ("key", "value")
|
260
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
261
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
262
|
+
key: str
|
263
|
+
value: _object_id_pb2.TagSelector
|
264
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
265
|
+
class PriorOutputsEntry(_message.Message):
|
266
|
+
__slots__ = ("key", "value")
|
267
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
268
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
269
|
+
key: str
|
270
|
+
value: _object_id_pb2.TagSelector
|
271
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
272
|
+
class ExportsEntry(_message.Message):
|
273
|
+
__slots__ = ("key", "value")
|
274
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
275
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
276
|
+
key: str
|
277
|
+
value: _object_id_pb2.TagSelector
|
278
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
279
|
+
MODEL_FIELD_NUMBER: _ClassVar[int]
|
280
|
+
PARAMETERS_FIELD_NUMBER: _ClassVar[int]
|
281
|
+
INPUTS_FIELD_NUMBER: _ClassVar[int]
|
282
|
+
OUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
283
|
+
PRIOROUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
284
|
+
STORAGEACCESS_FIELD_NUMBER: _ClassVar[int]
|
285
|
+
EXPORTS_FIELD_NUMBER: _ClassVar[int]
|
286
|
+
OUTPUTATTRS_FIELD_NUMBER: _ClassVar[int]
|
287
|
+
model: _object_id_pb2.TagSelector
|
288
|
+
parameters: _containers.MessageMap[str, _type_pb2.Value]
|
289
|
+
inputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
290
|
+
outputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
291
|
+
priorOutputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
292
|
+
storageAccess: _containers.RepeatedScalarFieldContainer[str]
|
293
|
+
exports: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
294
|
+
outputAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
|
295
|
+
def __init__(self, model: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ..., parameters: _Optional[_Mapping[str, _type_pb2.Value]] = ..., inputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., outputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., priorOutputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., storageAccess: _Optional[_Iterable[str]] = ..., exports: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., outputAttrs: _Optional[_Iterable[_Union[_tag_update_pb2.TagUpdate, _Mapping]]] = ...) -> None: ...
|
@@ -16,7 +16,7 @@ from tracdap.rt._impl.grpc.tracdap.metadata import type_pb2 as tracdap_dot_rt_do
|
|
16
16
|
from tracdap.rt._impl.grpc.tracdap.metadata import data_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_data__pb2
|
17
17
|
|
18
18
|
|
19
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2tracdap/rt/_impl/grpc/tracdap/metadata/model.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/data.proto\"\xab\x02\n\x0eModelParameter\x12\x33\n\tparamType\x18\x01 \x01(\x0b\x32 .tracdap.metadata.TypeDescriptor\x12\r\n\x05label\x18\x02 \x01(\t\x12\x32\n\x0c\x64\x65\x66\x61ultValue\x18\x03 \x01(\x0b\x32\x17.tracdap.metadata.ValueH\x00\x88\x01\x01\x12\x44\n\nparamProps\x18\x04 \x03(\x0b\x32\x30.tracdap.metadata.ModelParameter.ParamPropsEntry\x1aJ\n\x0fParamPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x0f\n\r_defaultValue\"\x9b\x02\n\x10ModelInputSchema\x12\x32\n\x06schema\x18\x01 \x01(\x0b\x32\".tracdap.metadata.SchemaDefinition\x12\x12\n\x05label\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x08optional\x18\x03 \x01(\x08\x12\x0f\n\x07\x64ynamic\x18\x05 \x01(\x08\x12\x46\n\ninputProps\x18\x04 \x03(\x0b\x32\x32.tracdap.metadata.ModelInputSchema.InputPropsEntry\x1aJ\n\x0fInputPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x08\n\x06_label\"\xa0\x02\n\x11ModelOutputSchema\x12\x32\n\x06schema\x18\x01 \x01(\x0b\x32\".tracdap.metadata.SchemaDefinition\x12\x12\n\x05label\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x08optional\x18\x03 \x01(\x08\x12\x0f\n\x07\x64ynamic\x18\x05 \x01(\x08\x12I\n\x0boutputProps\x18\x04 \x03(\x0b\x32\x34.tracdap.metadata.ModelOutputSchema.OutputPropsEntry\x1aK\n\x10OutputPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x08\n\x06_label\"\
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2tracdap/rt/_impl/grpc/tracdap/metadata/model.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/data.proto\"\xab\x02\n\x0eModelParameter\x12\x33\n\tparamType\x18\x01 \x01(\x0b\x32 .tracdap.metadata.TypeDescriptor\x12\r\n\x05label\x18\x02 \x01(\t\x12\x32\n\x0c\x64\x65\x66\x61ultValue\x18\x03 \x01(\x0b\x32\x17.tracdap.metadata.ValueH\x00\x88\x01\x01\x12\x44\n\nparamProps\x18\x04 \x03(\x0b\x32\x30.tracdap.metadata.ModelParameter.ParamPropsEntry\x1aJ\n\x0fParamPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x0f\n\r_defaultValue\"\x9b\x02\n\x10ModelInputSchema\x12\x32\n\x06schema\x18\x01 \x01(\x0b\x32\".tracdap.metadata.SchemaDefinition\x12\x12\n\x05label\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x08optional\x18\x03 \x01(\x08\x12\x0f\n\x07\x64ynamic\x18\x05 \x01(\x08\x12\x46\n\ninputProps\x18\x04 \x03(\x0b\x32\x32.tracdap.metadata.ModelInputSchema.InputPropsEntry\x1aJ\n\x0fInputPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x08\n\x06_label\"\xa0\x02\n\x11ModelOutputSchema\x12\x32\n\x06schema\x18\x01 \x01(\x0b\x32\".tracdap.metadata.SchemaDefinition\x12\x12\n\x05label\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x08optional\x18\x03 \x01(\x08\x12\x0f\n\x07\x64ynamic\x18\x05 \x01(\x08\x12I\n\x0boutputProps\x18\x04 \x03(\x0b\x32\x34.tracdap.metadata.ModelOutputSchema.OutputPropsEntry\x1aK\n\x10OutputPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x08\n\x06_label\"\xce\x06\n\x0fModelDefinition\x12\x10\n\x08language\x18\x01 \x01(\t\x12\x12\n\nrepository\x18\x02 \x01(\t\x12\x19\n\x0cpackageGroup\x18\n \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x07package\x18\x0b \x01(\t\x12\x0f\n\x07version\x18\x06 \x01(\t\x12\x12\n\nentryPoint\x18\x05 \x01(\t\x12\x11\n\x04path\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x45\n\nparameters\x18\x07 \x03(\x0b\x32\x31.tracdap.metadata.ModelDefinition.ParametersEntry\x12=\n\x06inputs\x18\x08 \x03(\x0b\x32-.tracdap.metadata.ModelDefinition.InputsEntry\x12?\n\x07outputs\x18\t \x03(\x0b\x32..tracdap.metadata.ModelDefinition.OutputsEntry\x12Q\n\x10staticAttributes\x18\x0c \x03(\x0b\x32\x37.tracdap.metadata.ModelDefinition.StaticAttributesEntry\x12.\n\tmodelType\x18\r \x01(\x0e\x32\x1b.tracdap.metadata.ModelType\x1aS\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .tracdap.metadata.ModelParameter:\x02\x38\x01\x1aQ\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x31\n\x05value\x18\x02 \x01(\x0b\x32\".tracdap.metadata.ModelInputSchema:\x02\x38\x01\x1aS\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.tracdap.metadata.ModelOutputSchema:\x02\x38\x01\x1aP\n\x15StaticAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x0f\n\r_packageGroupB\x07\n\x05_path*M\n\tModelType\x12\x12\n\x0eSTANDARD_MODEL\x10\x00\x12\x15\n\x11\x44\x41TA_IMPORT_MODEL\x10\x01\x12\x15\n\x11\x44\x41TA_EXPORT_MODEL\x10\x02\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
|
20
20
|
|
21
21
|
_globals = globals()
|
22
22
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -38,6 +38,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
38
38
|
_globals['_MODELDEFINITION_OUTPUTSENTRY']._serialized_options = b'8\001'
|
39
39
|
_globals['_MODELDEFINITION_STATICATTRIBUTESENTRY']._options = None
|
40
40
|
_globals['_MODELDEFINITION_STATICATTRIBUTESENTRY']._serialized_options = b'8\001'
|
41
|
+
_globals['_MODELTYPE']._serialized_start=1902
|
42
|
+
_globals['_MODELTYPE']._serialized_end=1979
|
41
43
|
_globals['_MODELPARAMETER']._serialized_start=175
|
42
44
|
_globals['_MODELPARAMETER']._serialized_end=474
|
43
45
|
_globals['_MODELPARAMETER_PARAMPROPSENTRY']._serialized_start=383
|
@@ -51,13 +53,13 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
51
53
|
_globals['_MODELOUTPUTSCHEMA_OUTPUTPROPSENTRY']._serialized_start=966
|
52
54
|
_globals['_MODELOUTPUTSCHEMA_OUTPUTPROPSENTRY']._serialized_end=1041
|
53
55
|
_globals['_MODELDEFINITION']._serialized_start=1054
|
54
|
-
_globals['_MODELDEFINITION']._serialized_end=
|
55
|
-
_globals['_MODELDEFINITION_PARAMETERSENTRY']._serialized_start=
|
56
|
-
_globals['_MODELDEFINITION_PARAMETERSENTRY']._serialized_end=
|
57
|
-
_globals['_MODELDEFINITION_INPUTSENTRY']._serialized_start=
|
58
|
-
_globals['_MODELDEFINITION_INPUTSENTRY']._serialized_end=
|
59
|
-
_globals['_MODELDEFINITION_OUTPUTSENTRY']._serialized_start=
|
60
|
-
_globals['_MODELDEFINITION_OUTPUTSENTRY']._serialized_end=
|
61
|
-
_globals['_MODELDEFINITION_STATICATTRIBUTESENTRY']._serialized_start=
|
62
|
-
_globals['_MODELDEFINITION_STATICATTRIBUTESENTRY']._serialized_end=
|
56
|
+
_globals['_MODELDEFINITION']._serialized_end=1900
|
57
|
+
_globals['_MODELDEFINITION_PARAMETERSENTRY']._serialized_start=1541
|
58
|
+
_globals['_MODELDEFINITION_PARAMETERSENTRY']._serialized_end=1624
|
59
|
+
_globals['_MODELDEFINITION_INPUTSENTRY']._serialized_start=1626
|
60
|
+
_globals['_MODELDEFINITION_INPUTSENTRY']._serialized_end=1707
|
61
|
+
_globals['_MODELDEFINITION_OUTPUTSENTRY']._serialized_start=1709
|
62
|
+
_globals['_MODELDEFINITION_OUTPUTSENTRY']._serialized_end=1792
|
63
|
+
_globals['_MODELDEFINITION_STATICATTRIBUTESENTRY']._serialized_start=1794
|
64
|
+
_globals['_MODELDEFINITION_STATICATTRIBUTESENTRY']._serialized_end=1874
|
63
65
|
# @@protoc_insertion_point(module_scope)
|