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.
- tracdap/rt/_exec/context.py +556 -36
- tracdap/rt/_exec/dev_mode.py +320 -198
- tracdap/rt/_exec/engine.py +331 -62
- tracdap/rt/_exec/functions.py +151 -22
- tracdap/rt/_exec/graph.py +47 -13
- tracdap/rt/_exec/graph_builder.py +383 -175
- tracdap/rt/_exec/runtime.py +7 -5
- tracdap/rt/_impl/config_parser.py +11 -4
- tracdap/rt/_impl/data.py +329 -152
- tracdap/rt/_impl/ext/__init__.py +13 -0
- tracdap/rt/_impl/ext/sql.py +116 -0
- tracdap/rt/_impl/ext/storage.py +57 -0
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +82 -30
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +155 -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 +29 -0
- tracdap/rt/_impl/storage.py +39 -27
- tracdap/rt/_impl/util.py +10 -0
- tracdap/rt/_impl/validation.py +140 -18
- tracdap/rt/_plugins/repo_git.py +1 -1
- tracdap/rt/_plugins/storage_sql.py +417 -0
- tracdap/rt/_plugins/storage_sql_dialects.py +117 -0
- tracdap/rt/_version.py +1 -1
- tracdap/rt/api/experimental.py +267 -0
- tracdap/rt/api/hook.py +14 -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 +29 -20
- tracdap/rt/metadata/job.py +99 -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.6.dist-info}/METADATA +5 -1
- {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.6.dist-info}/RECORD +41 -32
- {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.6.dist-info}/WHEEL +1 -1
- {tracdap_runtime-0.6.4.dist-info → tracdap_runtime-0.6.6.dist-info}/LICENSE +0 -0
- {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\"\
|
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['
|
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=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=
|
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=
|
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
|
-
|
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\"\
|
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)
|
@@ -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
|
-
|
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: ...
|