tracdap-runtime 0.6.4__py3-none-any.whl → 0.6.6__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 (41) hide show
  1. tracdap/rt/_exec/context.py +556 -36
  2. tracdap/rt/_exec/dev_mode.py +320 -198
  3. tracdap/rt/_exec/engine.py +331 -62
  4. tracdap/rt/_exec/functions.py +151 -22
  5. tracdap/rt/_exec/graph.py +47 -13
  6. tracdap/rt/_exec/graph_builder.py +383 -175
  7. tracdap/rt/_exec/runtime.py +7 -5
  8. tracdap/rt/_impl/config_parser.py +11 -4
  9. tracdap/rt/_impl/data.py +329 -152
  10. tracdap/rt/_impl/ext/__init__.py +13 -0
  11. tracdap/rt/_impl/ext/sql.py +116 -0
  12. tracdap/rt/_impl/ext/storage.py +57 -0
  13. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +82 -30
  14. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +155 -2
  15. tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +12 -10
  16. tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi +14 -2
  17. tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py +29 -0
  18. tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi +16 -0
  19. tracdap/rt/_impl/models.py +8 -0
  20. tracdap/rt/_impl/static_api.py +29 -0
  21. tracdap/rt/_impl/storage.py +39 -27
  22. tracdap/rt/_impl/util.py +10 -0
  23. tracdap/rt/_impl/validation.py +140 -18
  24. tracdap/rt/_plugins/repo_git.py +1 -1
  25. tracdap/rt/_plugins/storage_sql.py +417 -0
  26. tracdap/rt/_plugins/storage_sql_dialects.py +117 -0
  27. tracdap/rt/_version.py +1 -1
  28. tracdap/rt/api/experimental.py +267 -0
  29. tracdap/rt/api/hook.py +14 -0
  30. tracdap/rt/api/model_api.py +48 -6
  31. tracdap/rt/config/__init__.py +2 -2
  32. tracdap/rt/config/common.py +6 -0
  33. tracdap/rt/metadata/__init__.py +29 -20
  34. tracdap/rt/metadata/job.py +99 -0
  35. tracdap/rt/metadata/model.py +18 -0
  36. tracdap/rt/metadata/resource.py +24 -0
  37. {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.6.dist-info}/METADATA +5 -1
  38. {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.6.dist-info}/RECORD +41 -32
  39. {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.6.dist-info}/WHEEL +1 -1
  40. {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.6.dist-info}/LICENSE +0 -0
  41. {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,13 @@
1
+ # Copyright 2024 Accenture Global Solutions Limited
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
@@ -0,0 +1,116 @@
1
+ # Copyright 2024 Accenture Global Solutions Limited
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ import abc as _abc
16
+ import enum
17
+ import typing as _tp
18
+ import contextlib as _cm
19
+
20
+ import pyarrow as _pa
21
+
22
+
23
+
24
+ class ISqlDialect:
25
+
26
+ @_abc.abstractmethod
27
+ def arrow_to_sql_type(self, arrow_type: _pa.DataType) -> str:
28
+ pass
29
+
30
+
31
+ class ISqlDriver:
32
+
33
+ @_abc.abstractmethod
34
+ def param_style(self) -> "DbApiWrapper.ParamStyle":
35
+ pass
36
+
37
+ @_abc.abstractmethod
38
+ def connect(self, **kwargs) -> "DbApiWrapper.Connection":
39
+ pass
40
+
41
+ @_abc.abstractmethod
42
+ def has_table(self, table_name: str) -> bool:
43
+ pass
44
+
45
+ @_abc.abstractmethod
46
+ def list_tables(self) -> _tp.List[str]:
47
+ pass
48
+
49
+ @_abc.abstractmethod
50
+ def error_handling(self) -> _cm.contextmanager:
51
+ pass
52
+
53
+ @_abc.abstractmethod
54
+ def encode_sql_value(self, py_value: _tp.Any) -> _tp.Any:
55
+ pass
56
+
57
+ @_abc.abstractmethod
58
+ def decode_sql_value(self, sql_value: _tp.Any, python_type: _tp.Type) -> _tp.Any:
59
+ pass
60
+
61
+
62
+ class DbApiWrapper:
63
+
64
+ class ThreadSafety(enum.Enum):
65
+ NOT_THREAD_SAFE = 0
66
+ MODULE_SAFE = 1
67
+ CONNECTION_SAFE = 2
68
+ CURSOR_SAFE = 3
69
+
70
+ class ParamStyle(enum.Enum):
71
+ QMARK = "qmark"
72
+ NUMERIC = "numeric"
73
+ NAMED = "named"
74
+ FORMAT = "format"
75
+ PYFORMAT = "pyformat"
76
+
77
+ class Connection(_tp.Protocol):
78
+
79
+ def close(self):
80
+ pass
81
+
82
+ def commit(self):
83
+ pass
84
+
85
+ def rollback(self):
86
+ pass
87
+
88
+ def cursor(self) -> "DbApiWrapper.Cursor":
89
+ pass
90
+
91
+ class Cursor(_tp.Protocol):
92
+
93
+ arraysize: int = 1
94
+
95
+ @property
96
+ def description(self) -> tuple:
97
+ pass
98
+
99
+ @property
100
+ def rowcount(self) -> int:
101
+ pass
102
+
103
+ def execute(self, operation: str, parameters: _tp.Union[_tp.Dict, _tp.Sequence]):
104
+ pass
105
+
106
+ def executemany(self, operation: str, parameters: _tp.Iterable[_tp.Union[_tp.Dict, _tp.Sequence]]):
107
+ pass
108
+
109
+ def fetchone(self) -> _tp.Tuple:
110
+ pass
111
+
112
+ def fetchmany(self, size: int = arraysize) -> _tp.Sequence[_tp.Tuple]:
113
+ pass
114
+
115
+ def close(self):
116
+ pass
@@ -0,0 +1,57 @@
1
+ # Copyright 2024 Accenture Global Solutions Limited
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ import abc as _abc
16
+ import typing as _tp
17
+
18
+ from tracdap.rt.ext.storage import * # noqa
19
+
20
+
21
+ T_DATA = _tp.TypeVar("T_DATA")
22
+ T_SCHEMA = _tp.TypeVar("T_SCHEMA")
23
+
24
+
25
+ class IDataStorageBase(_tp.Generic[T_DATA, T_SCHEMA], _abc.ABC):
26
+
27
+ @_abc.abstractmethod
28
+ def data_type(self) -> _tp.Type[T_DATA]:
29
+ pass
30
+
31
+ @_abc.abstractmethod
32
+ def schema_type(self) -> _tp.Type[T_SCHEMA]:
33
+ pass
34
+
35
+ @_abc.abstractmethod
36
+ def has_table(self, table_name: str) -> bool:
37
+ pass
38
+
39
+ @_abc.abstractmethod
40
+ def list_tables(self) -> _tp.List[str]:
41
+ pass
42
+
43
+ @_abc.abstractmethod
44
+ def create_table(self, table_name: str, schema: T_SCHEMA):
45
+ pass
46
+
47
+ @_abc.abstractmethod
48
+ def read_table(self, table_name: str) -> T_DATA:
49
+ pass
50
+
51
+ @_abc.abstractmethod
52
+ def write_table(self, table_name: str, records: T_DATA):
53
+ pass
54
+
55
+ @_abc.abstractmethod
56
+ def native_read_query(self, query: str, **parameters) -> T_DATA:
57
+ pass
@@ -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\"\xe6\x01\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\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*_\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*\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')
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\"\x84\x03\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\x12.\n\x08jobGroup\x18\x07 \x01(\x0b\x32\x1a.tracdap.metadata.JobGroupH\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\"\xc7\x01\n\x08JobGroup\x12\x34\n\x0cjobGroupType\x18\x01 \x01(\x0e\x32\x1e.tracdap.metadata.JobGroupType\x12:\n\nsequential\x18\x02 \x01(\x0b\x32$.tracdap.metadata.SequentialJobGroupH\x00\x12\x36\n\x08parallel\x18\x03 \x01(\x0b\x32\".tracdap.metadata.ParallelJobGroupH\x00\x42\x11\n\x0fjobGroupDetails\"C\n\x12SequentialJobGroup\x12-\n\x04jobs\x18\x01 \x03(\x0b\x32\x1f.tracdap.metadata.JobDefinition\"A\n\x10ParallelJobGroup\x12-\n\x04jobs\x18\x01 \x03(\x0b\x32\x1f.tracdap.metadata.JobDefinition*\x7f\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\x12\r\n\tJOB_GROUP\x10\x06*\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\n*\\\n\x0cJobGroupType\x12\x1a\n\x16JOB_GROUP_TYPE_NOT_SET\x10\x00\x12\x18\n\x14SEQUENTIAL_JOB_GROUP\x10\x01\x12\x16\n\x12PARALLEL_JOB_GROUP\x10\x02\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
21
21
 
22
22
  _globals = globals()
23
23
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -43,34 +43,86 @@ 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['_JOBTYPE']._serialized_start=2189
47
- _globals['_JOBTYPE']._serialized_end=2284
48
- _globals['_JOBSTATUSCODE']._serialized_start=2287
49
- _globals['_JOBSTATUSCODE']._serialized_end=2471
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=4459
67
+ _globals['_JOBTYPE']._serialized_end=4586
68
+ _globals['_JOBSTATUSCODE']._serialized_start=4589
69
+ _globals['_JOBSTATUSCODE']._serialized_end=4773
70
+ _globals['_JOBGROUPTYPE']._serialized_start=4775
71
+ _globals['_JOBGROUPTYPE']._serialized_end=4867
50
72
  _globals['_JOBDEFINITION']._serialized_start=235
51
- _globals['_JOBDEFINITION']._serialized_end=465
52
- _globals['_RUNMODELJOB']._serialized_start=468
53
- _globals['_RUNMODELJOB']._serialized_end=1152
54
- _globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_start=837
55
- _globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_end=911
56
- _globals['_RUNMODELJOB_INPUTSENTRY']._serialized_start=913
57
- _globals['_RUNMODELJOB_INPUTSENTRY']._serialized_end=989
58
- _globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_start=991
59
- _globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_end=1068
60
- _globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_start=1070
61
- _globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_end=1152
62
- _globals['_RUNFLOWJOB']._serialized_start=1155
63
- _globals['_RUNFLOWJOB']._serialized_end=1969
64
- _globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_start=837
65
- _globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_end=911
66
- _globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_start=913
67
- _globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_end=989
68
- _globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_start=991
69
- _globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_end=1068
70
- _globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_start=1070
71
- _globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_end=1152
72
- _globals['_RUNFLOWJOB_MODELSENTRY']._serialized_start=1893
73
- _globals['_RUNFLOWJOB_MODELSENTRY']._serialized_end=1969
74
- _globals['_IMPORTMODELJOB']._serialized_start=1972
75
- _globals['_IMPORTMODELJOB']._serialized_end=2187
73
+ _globals['_JOBDEFINITION']._serialized_end=623
74
+ _globals['_RUNMODELJOB']._serialized_start=626
75
+ _globals['_RUNMODELJOB']._serialized_end=1310
76
+ _globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_start=995
77
+ _globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_end=1069
78
+ _globals['_RUNMODELJOB_INPUTSENTRY']._serialized_start=1071
79
+ _globals['_RUNMODELJOB_INPUTSENTRY']._serialized_end=1147
80
+ _globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_start=1149
81
+ _globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_end=1226
82
+ _globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_start=1228
83
+ _globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_end=1310
84
+ _globals['_RUNFLOWJOB']._serialized_start=1313
85
+ _globals['_RUNFLOWJOB']._serialized_end=2127
86
+ _globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_start=995
87
+ _globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_end=1069
88
+ _globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_start=1071
89
+ _globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_end=1147
90
+ _globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_start=1149
91
+ _globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_end=1226
92
+ _globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_start=1228
93
+ _globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_end=1310
94
+ _globals['_RUNFLOWJOB_MODELSENTRY']._serialized_start=2051
95
+ _globals['_RUNFLOWJOB_MODELSENTRY']._serialized_end=2127
96
+ _globals['_IMPORTMODELJOB']._serialized_start=2130
97
+ _globals['_IMPORTMODELJOB']._serialized_end=2345
98
+ _globals['_IMPORTDATAJOB']._serialized_start=2348
99
+ _globals['_IMPORTDATAJOB']._serialized_end=3257
100
+ _globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_start=995
101
+ _globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_end=1069
102
+ _globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_start=1071
103
+ _globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_end=1147
104
+ _globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_start=1149
105
+ _globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_end=1226
106
+ _globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_start=1228
107
+ _globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_end=1310
108
+ _globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_start=3180
109
+ _globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_end=3257
110
+ _globals['_EXPORTDATAJOB']._serialized_start=3260
111
+ _globals['_EXPORTDATAJOB']._serialized_end=4119
112
+ _globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_start=995
113
+ _globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_end=1069
114
+ _globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_start=1071
115
+ _globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_end=1147
116
+ _globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_start=1149
117
+ _globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_end=1226
118
+ _globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_start=1228
119
+ _globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_end=1310
120
+ _globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_start=4042
121
+ _globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_end=4119
122
+ _globals['_JOBGROUP']._serialized_start=4122
123
+ _globals['_JOBGROUP']._serialized_end=4321
124
+ _globals['_SEQUENTIALJOBGROUP']._serialized_start=4323
125
+ _globals['_SEQUENTIALJOBGROUP']._serialized_end=4390
126
+ _globals['_PARALLELJOBGROUP']._serialized_start=4392
127
+ _globals['_PARALLELJOBGROUP']._serialized_end=4457
76
128
  # @@protoc_insertion_point(module_scope)
@@ -16,6 +16,8 @@ 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]
20
+ JOB_GROUP: _ClassVar[JobType]
19
21
 
20
22
  class JobStatusCode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
21
23
  __slots__ = ()
@@ -30,11 +32,19 @@ class JobStatusCode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
30
32
  SUCCEEDED: _ClassVar[JobStatusCode]
31
33
  FAILED: _ClassVar[JobStatusCode]
32
34
  CANCELLED: _ClassVar[JobStatusCode]
35
+
36
+ class JobGroupType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
37
+ __slots__ = ()
38
+ JOB_GROUP_TYPE_NOT_SET: _ClassVar[JobGroupType]
39
+ SEQUENTIAL_JOB_GROUP: _ClassVar[JobGroupType]
40
+ PARALLEL_JOB_GROUP: _ClassVar[JobGroupType]
33
41
  JOB_TYPE_NOT_SET: JobType
34
42
  RUN_MODEL: JobType
35
43
  RUN_FLOW: JobType
36
44
  IMPORT_MODEL: JobType
37
45
  IMPORT_DATA: JobType
46
+ EXPORT_DATA: JobType
47
+ JOB_GROUP: JobType
38
48
  JOB_STATUS_CODE_NOT_SET: JobStatusCode
39
49
  PREPARING: JobStatusCode
40
50
  VALIDATED: JobStatusCode
@@ -46,18 +56,27 @@ FINISHING: JobStatusCode
46
56
  SUCCEEDED: JobStatusCode
47
57
  FAILED: JobStatusCode
48
58
  CANCELLED: JobStatusCode
59
+ JOB_GROUP_TYPE_NOT_SET: JobGroupType
60
+ SEQUENTIAL_JOB_GROUP: JobGroupType
61
+ PARALLEL_JOB_GROUP: JobGroupType
49
62
 
50
63
  class JobDefinition(_message.Message):
51
- __slots__ = ("jobType", "runModel", "runFlow", "importModel")
64
+ __slots__ = ("jobType", "runModel", "runFlow", "importModel", "importData", "exportData", "jobGroup")
52
65
  JOBTYPE_FIELD_NUMBER: _ClassVar[int]
53
66
  RUNMODEL_FIELD_NUMBER: _ClassVar[int]
54
67
  RUNFLOW_FIELD_NUMBER: _ClassVar[int]
55
68
  IMPORTMODEL_FIELD_NUMBER: _ClassVar[int]
69
+ IMPORTDATA_FIELD_NUMBER: _ClassVar[int]
70
+ EXPORTDATA_FIELD_NUMBER: _ClassVar[int]
71
+ JOBGROUP_FIELD_NUMBER: _ClassVar[int]
56
72
  jobType: JobType
57
73
  runModel: RunModelJob
58
74
  runFlow: RunFlowJob
59
75
  importModel: ImportModelJob
60
- def __init__(self, jobType: _Optional[_Union[JobType, str]] = ..., runModel: _Optional[_Union[RunModelJob, _Mapping]] = ..., runFlow: _Optional[_Union[RunFlowJob, _Mapping]] = ..., importModel: _Optional[_Union[ImportModelJob, _Mapping]] = ...) -> None: ...
76
+ importData: ImportDataJob
77
+ exportData: ExportDataJob
78
+ jobGroup: JobGroup
79
+ 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]] = ..., jobGroup: _Optional[_Union[JobGroup, _Mapping]] = ...) -> None: ...
61
80
 
62
81
  class RunModelJob(_message.Message):
63
82
  __slots__ = ("model", "parameters", "inputs", "outputs", "priorOutputs", "outputAttrs")
@@ -175,3 +194,137 @@ class ImportModelJob(_message.Message):
175
194
  path: str
176
195
  modelAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
177
196
  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: ...
197
+
198
+ class ImportDataJob(_message.Message):
199
+ __slots__ = ("model", "parameters", "inputs", "outputs", "priorOutputs", "storageAccess", "imports", "outputAttrs", "importAttrs")
200
+ class ParametersEntry(_message.Message):
201
+ __slots__ = ("key", "value")
202
+ KEY_FIELD_NUMBER: _ClassVar[int]
203
+ VALUE_FIELD_NUMBER: _ClassVar[int]
204
+ key: str
205
+ value: _type_pb2.Value
206
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_type_pb2.Value, _Mapping]] = ...) -> None: ...
207
+ class InputsEntry(_message.Message):
208
+ __slots__ = ("key", "value")
209
+ KEY_FIELD_NUMBER: _ClassVar[int]
210
+ VALUE_FIELD_NUMBER: _ClassVar[int]
211
+ key: str
212
+ value: _object_id_pb2.TagSelector
213
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
214
+ class OutputsEntry(_message.Message):
215
+ __slots__ = ("key", "value")
216
+ KEY_FIELD_NUMBER: _ClassVar[int]
217
+ VALUE_FIELD_NUMBER: _ClassVar[int]
218
+ key: str
219
+ value: _object_id_pb2.TagSelector
220
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
221
+ class PriorOutputsEntry(_message.Message):
222
+ __slots__ = ("key", "value")
223
+ KEY_FIELD_NUMBER: _ClassVar[int]
224
+ VALUE_FIELD_NUMBER: _ClassVar[int]
225
+ key: str
226
+ value: _object_id_pb2.TagSelector
227
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
228
+ class ImportsEntry(_message.Message):
229
+ __slots__ = ("key", "value")
230
+ KEY_FIELD_NUMBER: _ClassVar[int]
231
+ VALUE_FIELD_NUMBER: _ClassVar[int]
232
+ key: str
233
+ value: _object_id_pb2.TagSelector
234
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
235
+ MODEL_FIELD_NUMBER: _ClassVar[int]
236
+ PARAMETERS_FIELD_NUMBER: _ClassVar[int]
237
+ INPUTS_FIELD_NUMBER: _ClassVar[int]
238
+ OUTPUTS_FIELD_NUMBER: _ClassVar[int]
239
+ PRIOROUTPUTS_FIELD_NUMBER: _ClassVar[int]
240
+ STORAGEACCESS_FIELD_NUMBER: _ClassVar[int]
241
+ IMPORTS_FIELD_NUMBER: _ClassVar[int]
242
+ OUTPUTATTRS_FIELD_NUMBER: _ClassVar[int]
243
+ IMPORTATTRS_FIELD_NUMBER: _ClassVar[int]
244
+ model: _object_id_pb2.TagSelector
245
+ parameters: _containers.MessageMap[str, _type_pb2.Value]
246
+ inputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
247
+ outputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
248
+ priorOutputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
249
+ storageAccess: _containers.RepeatedScalarFieldContainer[str]
250
+ imports: _containers.MessageMap[str, _object_id_pb2.TagSelector]
251
+ outputAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
252
+ importAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
253
+ 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: ...
254
+
255
+ class ExportDataJob(_message.Message):
256
+ __slots__ = ("model", "parameters", "inputs", "outputs", "priorOutputs", "storageAccess", "exports", "outputAttrs")
257
+ class ParametersEntry(_message.Message):
258
+ __slots__ = ("key", "value")
259
+ KEY_FIELD_NUMBER: _ClassVar[int]
260
+ VALUE_FIELD_NUMBER: _ClassVar[int]
261
+ key: str
262
+ value: _type_pb2.Value
263
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_type_pb2.Value, _Mapping]] = ...) -> None: ...
264
+ class InputsEntry(_message.Message):
265
+ __slots__ = ("key", "value")
266
+ KEY_FIELD_NUMBER: _ClassVar[int]
267
+ VALUE_FIELD_NUMBER: _ClassVar[int]
268
+ key: str
269
+ value: _object_id_pb2.TagSelector
270
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
271
+ class OutputsEntry(_message.Message):
272
+ __slots__ = ("key", "value")
273
+ KEY_FIELD_NUMBER: _ClassVar[int]
274
+ VALUE_FIELD_NUMBER: _ClassVar[int]
275
+ key: str
276
+ value: _object_id_pb2.TagSelector
277
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
278
+ class PriorOutputsEntry(_message.Message):
279
+ __slots__ = ("key", "value")
280
+ KEY_FIELD_NUMBER: _ClassVar[int]
281
+ VALUE_FIELD_NUMBER: _ClassVar[int]
282
+ key: str
283
+ value: _object_id_pb2.TagSelector
284
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
285
+ class ExportsEntry(_message.Message):
286
+ __slots__ = ("key", "value")
287
+ KEY_FIELD_NUMBER: _ClassVar[int]
288
+ VALUE_FIELD_NUMBER: _ClassVar[int]
289
+ key: str
290
+ value: _object_id_pb2.TagSelector
291
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
292
+ MODEL_FIELD_NUMBER: _ClassVar[int]
293
+ PARAMETERS_FIELD_NUMBER: _ClassVar[int]
294
+ INPUTS_FIELD_NUMBER: _ClassVar[int]
295
+ OUTPUTS_FIELD_NUMBER: _ClassVar[int]
296
+ PRIOROUTPUTS_FIELD_NUMBER: _ClassVar[int]
297
+ STORAGEACCESS_FIELD_NUMBER: _ClassVar[int]
298
+ EXPORTS_FIELD_NUMBER: _ClassVar[int]
299
+ OUTPUTATTRS_FIELD_NUMBER: _ClassVar[int]
300
+ model: _object_id_pb2.TagSelector
301
+ parameters: _containers.MessageMap[str, _type_pb2.Value]
302
+ inputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
303
+ outputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
304
+ priorOutputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
305
+ storageAccess: _containers.RepeatedScalarFieldContainer[str]
306
+ exports: _containers.MessageMap[str, _object_id_pb2.TagSelector]
307
+ outputAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
308
+ 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: ...
309
+
310
+ class JobGroup(_message.Message):
311
+ __slots__ = ("jobGroupType", "sequential", "parallel")
312
+ JOBGROUPTYPE_FIELD_NUMBER: _ClassVar[int]
313
+ SEQUENTIAL_FIELD_NUMBER: _ClassVar[int]
314
+ PARALLEL_FIELD_NUMBER: _ClassVar[int]
315
+ jobGroupType: JobGroupType
316
+ sequential: SequentialJobGroup
317
+ parallel: ParallelJobGroup
318
+ def __init__(self, jobGroupType: _Optional[_Union[JobGroupType, str]] = ..., sequential: _Optional[_Union[SequentialJobGroup, _Mapping]] = ..., parallel: _Optional[_Union[ParallelJobGroup, _Mapping]] = ...) -> None: ...
319
+
320
+ class SequentialJobGroup(_message.Message):
321
+ __slots__ = ("jobs",)
322
+ JOBS_FIELD_NUMBER: _ClassVar[int]
323
+ jobs: _containers.RepeatedCompositeFieldContainer[JobDefinition]
324
+ def __init__(self, jobs: _Optional[_Iterable[_Union[JobDefinition, _Mapping]]] = ...) -> None: ...
325
+
326
+ class ParallelJobGroup(_message.Message):
327
+ __slots__ = ("jobs",)
328
+ JOBS_FIELD_NUMBER: _ClassVar[int]
329
+ jobs: _containers.RepeatedCompositeFieldContainer[JobDefinition]
330
+ def __init__(self, jobs: _Optional[_Iterable[_Union[JobDefinition, _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\"\x9e\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\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_pathB\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
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=1852
55
- _globals['_MODELDEFINITION_PARAMETERSENTRY']._serialized_start=1493
56
- _globals['_MODELDEFINITION_PARAMETERSENTRY']._serialized_end=1576
57
- _globals['_MODELDEFINITION_INPUTSENTRY']._serialized_start=1578
58
- _globals['_MODELDEFINITION_INPUTSENTRY']._serialized_end=1659
59
- _globals['_MODELDEFINITION_OUTPUTSENTRY']._serialized_start=1661
60
- _globals['_MODELDEFINITION_OUTPUTSENTRY']._serialized_end=1744
61
- _globals['_MODELDEFINITION_STATICATTRIBUTESENTRY']._serialized_start=1746
62
- _globals['_MODELDEFINITION_STATICATTRIBUTESENTRY']._serialized_end=1826
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)
@@ -1,12 +1,22 @@
1
1
  from tracdap.rt._impl.grpc.tracdap.metadata import type_pb2 as _type_pb2
2
2
  from tracdap.rt._impl.grpc.tracdap.metadata import data_pb2 as _data_pb2
3
3
  from google.protobuf.internal import containers as _containers
4
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
4
5
  from google.protobuf import descriptor as _descriptor
5
6
  from google.protobuf import message as _message
6
7
  from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
7
8
 
8
9
  DESCRIPTOR: _descriptor.FileDescriptor
9
10
 
11
+ class ModelType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
12
+ __slots__ = ()
13
+ STANDARD_MODEL: _ClassVar[ModelType]
14
+ DATA_IMPORT_MODEL: _ClassVar[ModelType]
15
+ DATA_EXPORT_MODEL: _ClassVar[ModelType]
16
+ STANDARD_MODEL: ModelType
17
+ DATA_IMPORT_MODEL: ModelType
18
+ DATA_EXPORT_MODEL: ModelType
19
+
10
20
  class ModelParameter(_message.Message):
11
21
  __slots__ = ("paramType", "label", "defaultValue", "paramProps")
12
22
  class ParamPropsEntry(_message.Message):
@@ -69,7 +79,7 @@ class ModelOutputSchema(_message.Message):
69
79
  def __init__(self, schema: _Optional[_Union[_data_pb2.SchemaDefinition, _Mapping]] = ..., label: _Optional[str] = ..., optional: bool = ..., dynamic: bool = ..., outputProps: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
70
80
 
71
81
  class ModelDefinition(_message.Message):
72
- __slots__ = ("language", "repository", "packageGroup", "package", "version", "entryPoint", "path", "parameters", "inputs", "outputs", "staticAttributes")
82
+ __slots__ = ("language", "repository", "packageGroup", "package", "version", "entryPoint", "path", "parameters", "inputs", "outputs", "staticAttributes", "modelType")
73
83
  class ParametersEntry(_message.Message):
74
84
  __slots__ = ("key", "value")
75
85
  KEY_FIELD_NUMBER: _ClassVar[int]
@@ -109,6 +119,7 @@ class ModelDefinition(_message.Message):
109
119
  INPUTS_FIELD_NUMBER: _ClassVar[int]
110
120
  OUTPUTS_FIELD_NUMBER: _ClassVar[int]
111
121
  STATICATTRIBUTES_FIELD_NUMBER: _ClassVar[int]
122
+ MODELTYPE_FIELD_NUMBER: _ClassVar[int]
112
123
  language: str
113
124
  repository: str
114
125
  packageGroup: str
@@ -120,4 +131,5 @@ class ModelDefinition(_message.Message):
120
131
  inputs: _containers.MessageMap[str, ModelInputSchema]
121
132
  outputs: _containers.MessageMap[str, ModelOutputSchema]
122
133
  staticAttributes: _containers.MessageMap[str, _type_pb2.Value]
123
- def __init__(self, language: _Optional[str] = ..., repository: _Optional[str] = ..., packageGroup: _Optional[str] = ..., package: _Optional[str] = ..., version: _Optional[str] = ..., entryPoint: _Optional[str] = ..., path: _Optional[str] = ..., parameters: _Optional[_Mapping[str, ModelParameter]] = ..., inputs: _Optional[_Mapping[str, ModelInputSchema]] = ..., outputs: _Optional[_Mapping[str, ModelOutputSchema]] = ..., staticAttributes: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
134
+ modelType: ModelType
135
+ def __init__(self, language: _Optional[str] = ..., repository: _Optional[str] = ..., packageGroup: _Optional[str] = ..., package: _Optional[str] = ..., version: _Optional[str] = ..., entryPoint: _Optional[str] = ..., path: _Optional[str] = ..., parameters: _Optional[_Mapping[str, ModelParameter]] = ..., inputs: _Optional[_Mapping[str, ModelInputSchema]] = ..., outputs: _Optional[_Mapping[str, ModelOutputSchema]] = ..., staticAttributes: _Optional[_Mapping[str, _type_pb2.Value]] = ..., modelType: _Optional[_Union[ModelType, str]] = ...) -> None: ...