tracdap-runtime 0.6.3__py3-none-any.whl → 0.6.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tracdap/rt/_exec/context.py +572 -112
- tracdap/rt/_exec/dev_mode.py +166 -97
- tracdap/rt/_exec/engine.py +120 -9
- tracdap/rt/_exec/functions.py +137 -35
- tracdap/rt/_exec/graph.py +38 -13
- tracdap/rt/_exec/graph_builder.py +120 -9
- tracdap/rt/_impl/data.py +183 -52
- tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py +18 -18
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +74 -30
- tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +120 -2
- tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +20 -18
- tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi +22 -6
- 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 +42 -10
- tracdap/rt/_impl/storage.py +37 -25
- tracdap/rt/_impl/validation.py +113 -11
- tracdap/rt/_plugins/repo_git.py +1 -1
- tracdap/rt/_version.py +1 -1
- tracdap/rt/api/experimental.py +220 -0
- tracdap/rt/api/hook.py +6 -4
- tracdap/rt/api/model_api.py +98 -13
- tracdap/rt/api/static_api.py +14 -6
- tracdap/rt/config/__init__.py +2 -2
- tracdap/rt/config/common.py +23 -17
- tracdap/rt/config/job.py +2 -2
- tracdap/rt/config/platform.py +25 -25
- tracdap/rt/config/result.py +2 -2
- tracdap/rt/config/runtime.py +3 -3
- tracdap/rt/launch/cli.py +7 -4
- tracdap/rt/launch/launch.py +19 -3
- tracdap/rt/metadata/__init__.py +25 -20
- tracdap/rt/metadata/common.py +2 -2
- tracdap/rt/metadata/custom.py +3 -3
- tracdap/rt/metadata/data.py +12 -12
- tracdap/rt/metadata/file.py +6 -6
- tracdap/rt/metadata/flow.py +6 -6
- tracdap/rt/metadata/job.py +62 -8
- tracdap/rt/metadata/model.py +33 -11
- tracdap/rt/metadata/object_id.py +8 -8
- tracdap/rt/metadata/resource.py +24 -0
- tracdap/rt/metadata/search.py +5 -5
- tracdap/rt/metadata/stoarge.py +6 -6
- tracdap/rt/metadata/tag.py +1 -1
- tracdap/rt/metadata/tag_update.py +1 -1
- tracdap/rt/metadata/type.py +4 -4
- {tracdap_runtime-0.6.3.dist-info → tracdap_runtime-0.6.5.dist-info}/METADATA +3 -1
- {tracdap_runtime-0.6.3.dist-info → tracdap_runtime-0.6.5.dist-info}/RECORD +52 -48
- {tracdap_runtime-0.6.3.dist-info → tracdap_runtime-0.6.5.dist-info}/LICENSE +0 -0
- {tracdap_runtime-0.6.3.dist-info → tracdap_runtime-0.6.5.dist-info}/WHEEL +0 -0
- {tracdap_runtime-0.6.3.dist-info → tracdap_runtime-0.6.5.dist-info}/top_level.txt +0 -0
@@ -17,7 +17,7 @@ from tracdap.rt._impl.grpc.tracdap.metadata import object_id_pb2 as tracdap_dot_
|
|
17
17
|
from tracdap.rt._impl.grpc.tracdap.metadata import tag_update_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_tag__update__pb2
|
18
18
|
|
19
19
|
|
20
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0tracdap/rt/_impl/grpc/tracdap/metadata/job.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x36tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x1a\x37tracdap/rt/_impl/grpc/tracdap/metadata/tag_update.proto\"\
|
20
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0tracdap/rt/_impl/grpc/tracdap/metadata/job.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x36tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x1a\x37tracdap/rt/_impl/grpc/tracdap/metadata/tag_update.proto\"\xd4\x02\n\rJobDefinition\x12*\n\x07jobType\x18\x01 \x01(\x0e\x32\x19.tracdap.metadata.JobType\x12\x31\n\x08runModel\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.RunModelJobH\x00\x12/\n\x07runFlow\x18\x03 \x01(\x0b\x32\x1c.tracdap.metadata.RunFlowJobH\x00\x12\x37\n\x0bimportModel\x18\x04 \x01(\x0b\x32 .tracdap.metadata.ImportModelJobH\x00\x12\x35\n\nimportData\x18\x05 \x01(\x0b\x32\x1f.tracdap.metadata.ImportDataJobH\x00\x12\x35\n\nexportData\x18\x06 \x01(\x0b\x32\x1f.tracdap.metadata.ExportDataJobH\x00\x42\x0c\n\njobDetails\"\xac\x05\n\x0bRunModelJob\x12,\n\x05model\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12\x41\n\nparameters\x18\x02 \x03(\x0b\x32-.tracdap.metadata.RunModelJob.ParametersEntry\x12\x39\n\x06inputs\x18\x03 \x03(\x0b\x32).tracdap.metadata.RunModelJob.InputsEntry\x12;\n\x07outputs\x18\x04 \x03(\x0b\x32*.tracdap.metadata.RunModelJob.OutputsEntry\x12\x45\n\x0cpriorOutputs\x18\x05 \x03(\x0b\x32/.tracdap.metadata.RunModelJob.PriorOutputsEntry\x12\x30\n\x0boutputAttrs\x18\x06 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x1aJ\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x1aL\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aR\n\x11PriorOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\"\xae\x06\n\nRunFlowJob\x12+\n\x04\x66low\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12@\n\nparameters\x18\x02 \x03(\x0b\x32,.tracdap.metadata.RunFlowJob.ParametersEntry\x12\x38\n\x06inputs\x18\x03 \x03(\x0b\x32(.tracdap.metadata.RunFlowJob.InputsEntry\x12:\n\x07outputs\x18\x04 \x03(\x0b\x32).tracdap.metadata.RunFlowJob.OutputsEntry\x12\x44\n\x0cpriorOutputs\x18\x05 \x03(\x0b\x32..tracdap.metadata.RunFlowJob.PriorOutputsEntry\x12\x38\n\x06models\x18\x06 \x03(\x0b\x32(.tracdap.metadata.RunFlowJob.ModelsEntry\x12\x30\n\x0boutputAttrs\x18\x07 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x1aJ\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x1aL\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aR\n\x11PriorOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aL\n\x0bModelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\"\xd7\x01\n\x0eImportModelJob\x12\x10\n\x08language\x18\x01 \x01(\t\x12\x12\n\nrepository\x18\x02 \x01(\t\x12\x19\n\x0cpackageGroup\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x07package\x18\x08 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\x12\x12\n\nentryPoint\x18\x04 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12/\n\nmodelAttrs\x18\x06 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdateB\x0f\n\r_packageGroup\"\x8d\x07\n\rImportDataJob\x12,\n\x05model\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12\x43\n\nparameters\x18\x02 \x03(\x0b\x32/.tracdap.metadata.ImportDataJob.ParametersEntry\x12;\n\x06inputs\x18\x03 \x03(\x0b\x32+.tracdap.metadata.ImportDataJob.InputsEntry\x12=\n\x07outputs\x18\x04 \x03(\x0b\x32,.tracdap.metadata.ImportDataJob.OutputsEntry\x12G\n\x0cpriorOutputs\x18\x05 \x03(\x0b\x32\x31.tracdap.metadata.ImportDataJob.PriorOutputsEntry\x12\x15\n\rstorageAccess\x18\x06 \x03(\t\x12=\n\x07imports\x18\x07 \x03(\x0b\x32,.tracdap.metadata.ImportDataJob.ImportsEntry\x12\x30\n\x0boutputAttrs\x18\x08 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x12\x30\n\x0bimportAttrs\x18\t \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x1aJ\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x1aL\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aR\n\x11PriorOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0cImportsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\"\xdb\x06\n\rExportDataJob\x12,\n\x05model\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12\x43\n\nparameters\x18\x02 \x03(\x0b\x32/.tracdap.metadata.ExportDataJob.ParametersEntry\x12;\n\x06inputs\x18\x03 \x03(\x0b\x32+.tracdap.metadata.ExportDataJob.InputsEntry\x12=\n\x07outputs\x18\x04 \x03(\x0b\x32,.tracdap.metadata.ExportDataJob.OutputsEntry\x12G\n\x0cpriorOutputs\x18\x05 \x03(\x0b\x32\x31.tracdap.metadata.ExportDataJob.PriorOutputsEntry\x12\x15\n\rstorageAccess\x18\x06 \x03(\t\x12=\n\x07\x65xports\x18\x07 \x03(\x0b\x32,.tracdap.metadata.ExportDataJob.ExportsEntry\x12\x30\n\x0boutputAttrs\x18\x08 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x1aJ\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x1aL\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aR\n\x11PriorOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01\x1aM\n\x0c\x45xportsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector:\x02\x38\x01*p\n\x07JobType\x12\x14\n\x10JOB_TYPE_NOT_SET\x10\x00\x12\r\n\tRUN_MODEL\x10\x01\x12\x0c\n\x08RUN_FLOW\x10\x02\x12\x10\n\x0cIMPORT_MODEL\x10\x03\x12\x0f\n\x0bIMPORT_DATA\x10\x04\x12\x0f\n\x0b\x45XPORT_DATA\x10\x05*\xb8\x01\n\rJobStatusCode\x12\x1b\n\x17JOB_STATUS_CODE_NOT_SET\x10\x00\x12\r\n\tPREPARING\x10\x01\x12\r\n\tVALIDATED\x10\x02\x12\x0b\n\x07PENDING\x10\x03\x12\n\n\x06QUEUED\x10\x04\x12\r\n\tSUBMITTED\x10\x05\x12\x0b\n\x07RUNNING\x10\x06\x12\r\n\tFINISHING\x10\x07\x12\r\n\tSUCCEEDED\x10\x08\x12\n\n\x06\x46\x41ILED\x10\t\x12\r\n\tCANCELLED\x10\nB\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
|
21
21
|
|
22
22
|
_globals = globals()
|
23
23
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -43,34 +43,78 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
43
43
|
_globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_options = b'8\001'
|
44
44
|
_globals['_RUNFLOWJOB_MODELSENTRY']._options = None
|
45
45
|
_globals['_RUNFLOWJOB_MODELSENTRY']._serialized_options = b'8\001'
|
46
|
-
_globals['
|
47
|
-
_globals['
|
48
|
-
_globals['
|
49
|
-
_globals['
|
46
|
+
_globals['_IMPORTDATAJOB_PARAMETERSENTRY']._options = None
|
47
|
+
_globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_options = b'8\001'
|
48
|
+
_globals['_IMPORTDATAJOB_INPUTSENTRY']._options = None
|
49
|
+
_globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_options = b'8\001'
|
50
|
+
_globals['_IMPORTDATAJOB_OUTPUTSENTRY']._options = None
|
51
|
+
_globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_options = b'8\001'
|
52
|
+
_globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._options = None
|
53
|
+
_globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_options = b'8\001'
|
54
|
+
_globals['_IMPORTDATAJOB_IMPORTSENTRY']._options = None
|
55
|
+
_globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_options = b'8\001'
|
56
|
+
_globals['_EXPORTDATAJOB_PARAMETERSENTRY']._options = None
|
57
|
+
_globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_options = b'8\001'
|
58
|
+
_globals['_EXPORTDATAJOB_INPUTSENTRY']._options = None
|
59
|
+
_globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_options = b'8\001'
|
60
|
+
_globals['_EXPORTDATAJOB_OUTPUTSENTRY']._options = None
|
61
|
+
_globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_options = b'8\001'
|
62
|
+
_globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._options = None
|
63
|
+
_globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_options = b'8\001'
|
64
|
+
_globals['_EXPORTDATAJOB_EXPORTSENTRY']._options = None
|
65
|
+
_globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_options = b'8\001'
|
66
|
+
_globals['_JOBTYPE']._serialized_start=4073
|
67
|
+
_globals['_JOBTYPE']._serialized_end=4185
|
68
|
+
_globals['_JOBSTATUSCODE']._serialized_start=4188
|
69
|
+
_globals['_JOBSTATUSCODE']._serialized_end=4372
|
50
70
|
_globals['_JOBDEFINITION']._serialized_start=235
|
51
|
-
_globals['_JOBDEFINITION']._serialized_end=
|
52
|
-
_globals['_RUNMODELJOB']._serialized_start=
|
53
|
-
_globals['_RUNMODELJOB']._serialized_end=
|
54
|
-
_globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_start=
|
55
|
-
_globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_end=
|
56
|
-
_globals['_RUNMODELJOB_INPUTSENTRY']._serialized_start=
|
57
|
-
_globals['_RUNMODELJOB_INPUTSENTRY']._serialized_end=
|
58
|
-
_globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_start=
|
59
|
-
_globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_end=
|
60
|
-
_globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_start=
|
61
|
-
_globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_end=
|
62
|
-
_globals['_RUNFLOWJOB']._serialized_start=
|
63
|
-
_globals['_RUNFLOWJOB']._serialized_end=
|
64
|
-
_globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_start=
|
65
|
-
_globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_end=
|
66
|
-
_globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_start=
|
67
|
-
_globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_end=
|
68
|
-
_globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_start=
|
69
|
-
_globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_end=
|
70
|
-
_globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_start=
|
71
|
-
_globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_end=
|
72
|
-
_globals['_RUNFLOWJOB_MODELSENTRY']._serialized_start=
|
73
|
-
_globals['_RUNFLOWJOB_MODELSENTRY']._serialized_end=
|
74
|
-
_globals['_IMPORTMODELJOB']._serialized_start=
|
75
|
-
_globals['_IMPORTMODELJOB']._serialized_end=
|
71
|
+
_globals['_JOBDEFINITION']._serialized_end=575
|
72
|
+
_globals['_RUNMODELJOB']._serialized_start=578
|
73
|
+
_globals['_RUNMODELJOB']._serialized_end=1262
|
74
|
+
_globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_start=947
|
75
|
+
_globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_end=1021
|
76
|
+
_globals['_RUNMODELJOB_INPUTSENTRY']._serialized_start=1023
|
77
|
+
_globals['_RUNMODELJOB_INPUTSENTRY']._serialized_end=1099
|
78
|
+
_globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_start=1101
|
79
|
+
_globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_end=1178
|
80
|
+
_globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_start=1180
|
81
|
+
_globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_end=1262
|
82
|
+
_globals['_RUNFLOWJOB']._serialized_start=1265
|
83
|
+
_globals['_RUNFLOWJOB']._serialized_end=2079
|
84
|
+
_globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_start=947
|
85
|
+
_globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_end=1021
|
86
|
+
_globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_start=1023
|
87
|
+
_globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_end=1099
|
88
|
+
_globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_start=1101
|
89
|
+
_globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_end=1178
|
90
|
+
_globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_start=1180
|
91
|
+
_globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_end=1262
|
92
|
+
_globals['_RUNFLOWJOB_MODELSENTRY']._serialized_start=2003
|
93
|
+
_globals['_RUNFLOWJOB_MODELSENTRY']._serialized_end=2079
|
94
|
+
_globals['_IMPORTMODELJOB']._serialized_start=2082
|
95
|
+
_globals['_IMPORTMODELJOB']._serialized_end=2297
|
96
|
+
_globals['_IMPORTDATAJOB']._serialized_start=2300
|
97
|
+
_globals['_IMPORTDATAJOB']._serialized_end=3209
|
98
|
+
_globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_start=947
|
99
|
+
_globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_end=1021
|
100
|
+
_globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_start=1023
|
101
|
+
_globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_end=1099
|
102
|
+
_globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_start=1101
|
103
|
+
_globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_end=1178
|
104
|
+
_globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_start=1180
|
105
|
+
_globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_end=1262
|
106
|
+
_globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_start=3132
|
107
|
+
_globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_end=3209
|
108
|
+
_globals['_EXPORTDATAJOB']._serialized_start=3212
|
109
|
+
_globals['_EXPORTDATAJOB']._serialized_end=4071
|
110
|
+
_globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_start=947
|
111
|
+
_globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_end=1021
|
112
|
+
_globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_start=1023
|
113
|
+
_globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_end=1099
|
114
|
+
_globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_start=1101
|
115
|
+
_globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_end=1178
|
116
|
+
_globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_start=1180
|
117
|
+
_globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_end=1262
|
118
|
+
_globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_start=3994
|
119
|
+
_globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_end=4071
|
76
120
|
# @@protoc_insertion_point(module_scope)
|
@@ -16,6 +16,7 @@ class JobType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
16
16
|
RUN_FLOW: _ClassVar[JobType]
|
17
17
|
IMPORT_MODEL: _ClassVar[JobType]
|
18
18
|
IMPORT_DATA: _ClassVar[JobType]
|
19
|
+
EXPORT_DATA: _ClassVar[JobType]
|
19
20
|
|
20
21
|
class JobStatusCode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
21
22
|
__slots__ = ()
|
@@ -35,6 +36,7 @@ RUN_MODEL: JobType
|
|
35
36
|
RUN_FLOW: JobType
|
36
37
|
IMPORT_MODEL: JobType
|
37
38
|
IMPORT_DATA: JobType
|
39
|
+
EXPORT_DATA: JobType
|
38
40
|
JOB_STATUS_CODE_NOT_SET: JobStatusCode
|
39
41
|
PREPARING: JobStatusCode
|
40
42
|
VALIDATED: JobStatusCode
|
@@ -48,16 +50,20 @@ FAILED: JobStatusCode
|
|
48
50
|
CANCELLED: JobStatusCode
|
49
51
|
|
50
52
|
class JobDefinition(_message.Message):
|
51
|
-
__slots__ = ("jobType", "runModel", "runFlow", "importModel")
|
53
|
+
__slots__ = ("jobType", "runModel", "runFlow", "importModel", "importData", "exportData")
|
52
54
|
JOBTYPE_FIELD_NUMBER: _ClassVar[int]
|
53
55
|
RUNMODEL_FIELD_NUMBER: _ClassVar[int]
|
54
56
|
RUNFLOW_FIELD_NUMBER: _ClassVar[int]
|
55
57
|
IMPORTMODEL_FIELD_NUMBER: _ClassVar[int]
|
58
|
+
IMPORTDATA_FIELD_NUMBER: _ClassVar[int]
|
59
|
+
EXPORTDATA_FIELD_NUMBER: _ClassVar[int]
|
56
60
|
jobType: JobType
|
57
61
|
runModel: RunModelJob
|
58
62
|
runFlow: RunFlowJob
|
59
63
|
importModel: ImportModelJob
|
60
|
-
|
64
|
+
importData: ImportDataJob
|
65
|
+
exportData: ExportDataJob
|
66
|
+
def __init__(self, jobType: _Optional[_Union[JobType, str]] = ..., runModel: _Optional[_Union[RunModelJob, _Mapping]] = ..., runFlow: _Optional[_Union[RunFlowJob, _Mapping]] = ..., importModel: _Optional[_Union[ImportModelJob, _Mapping]] = ..., importData: _Optional[_Union[ImportDataJob, _Mapping]] = ..., exportData: _Optional[_Union[ExportDataJob, _Mapping]] = ...) -> None: ...
|
61
67
|
|
62
68
|
class RunModelJob(_message.Message):
|
63
69
|
__slots__ = ("model", "parameters", "inputs", "outputs", "priorOutputs", "outputAttrs")
|
@@ -175,3 +181,115 @@ class ImportModelJob(_message.Message):
|
|
175
181
|
path: str
|
176
182
|
modelAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
|
177
183
|
def __init__(self, language: _Optional[str] = ..., repository: _Optional[str] = ..., packageGroup: _Optional[str] = ..., package: _Optional[str] = ..., version: _Optional[str] = ..., entryPoint: _Optional[str] = ..., path: _Optional[str] = ..., modelAttrs: _Optional[_Iterable[_Union[_tag_update_pb2.TagUpdate, _Mapping]]] = ...) -> None: ...
|
184
|
+
|
185
|
+
class ImportDataJob(_message.Message):
|
186
|
+
__slots__ = ("model", "parameters", "inputs", "outputs", "priorOutputs", "storageAccess", "imports", "outputAttrs", "importAttrs")
|
187
|
+
class ParametersEntry(_message.Message):
|
188
|
+
__slots__ = ("key", "value")
|
189
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
190
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
191
|
+
key: str
|
192
|
+
value: _type_pb2.Value
|
193
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_type_pb2.Value, _Mapping]] = ...) -> None: ...
|
194
|
+
class InputsEntry(_message.Message):
|
195
|
+
__slots__ = ("key", "value")
|
196
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
197
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
198
|
+
key: str
|
199
|
+
value: _object_id_pb2.TagSelector
|
200
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
201
|
+
class OutputsEntry(_message.Message):
|
202
|
+
__slots__ = ("key", "value")
|
203
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
204
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
205
|
+
key: str
|
206
|
+
value: _object_id_pb2.TagSelector
|
207
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
208
|
+
class PriorOutputsEntry(_message.Message):
|
209
|
+
__slots__ = ("key", "value")
|
210
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
211
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
212
|
+
key: str
|
213
|
+
value: _object_id_pb2.TagSelector
|
214
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
215
|
+
class ImportsEntry(_message.Message):
|
216
|
+
__slots__ = ("key", "value")
|
217
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
218
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
219
|
+
key: str
|
220
|
+
value: _object_id_pb2.TagSelector
|
221
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
222
|
+
MODEL_FIELD_NUMBER: _ClassVar[int]
|
223
|
+
PARAMETERS_FIELD_NUMBER: _ClassVar[int]
|
224
|
+
INPUTS_FIELD_NUMBER: _ClassVar[int]
|
225
|
+
OUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
226
|
+
PRIOROUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
227
|
+
STORAGEACCESS_FIELD_NUMBER: _ClassVar[int]
|
228
|
+
IMPORTS_FIELD_NUMBER: _ClassVar[int]
|
229
|
+
OUTPUTATTRS_FIELD_NUMBER: _ClassVar[int]
|
230
|
+
IMPORTATTRS_FIELD_NUMBER: _ClassVar[int]
|
231
|
+
model: _object_id_pb2.TagSelector
|
232
|
+
parameters: _containers.MessageMap[str, _type_pb2.Value]
|
233
|
+
inputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
234
|
+
outputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
235
|
+
priorOutputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
236
|
+
storageAccess: _containers.RepeatedScalarFieldContainer[str]
|
237
|
+
imports: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
238
|
+
outputAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
|
239
|
+
importAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
|
240
|
+
def __init__(self, model: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ..., parameters: _Optional[_Mapping[str, _type_pb2.Value]] = ..., inputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., outputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., priorOutputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., storageAccess: _Optional[_Iterable[str]] = ..., imports: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., outputAttrs: _Optional[_Iterable[_Union[_tag_update_pb2.TagUpdate, _Mapping]]] = ..., importAttrs: _Optional[_Iterable[_Union[_tag_update_pb2.TagUpdate, _Mapping]]] = ...) -> None: ...
|
241
|
+
|
242
|
+
class ExportDataJob(_message.Message):
|
243
|
+
__slots__ = ("model", "parameters", "inputs", "outputs", "priorOutputs", "storageAccess", "exports", "outputAttrs")
|
244
|
+
class ParametersEntry(_message.Message):
|
245
|
+
__slots__ = ("key", "value")
|
246
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
247
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
248
|
+
key: str
|
249
|
+
value: _type_pb2.Value
|
250
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_type_pb2.Value, _Mapping]] = ...) -> None: ...
|
251
|
+
class InputsEntry(_message.Message):
|
252
|
+
__slots__ = ("key", "value")
|
253
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
254
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
255
|
+
key: str
|
256
|
+
value: _object_id_pb2.TagSelector
|
257
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
258
|
+
class OutputsEntry(_message.Message):
|
259
|
+
__slots__ = ("key", "value")
|
260
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
261
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
262
|
+
key: str
|
263
|
+
value: _object_id_pb2.TagSelector
|
264
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
265
|
+
class PriorOutputsEntry(_message.Message):
|
266
|
+
__slots__ = ("key", "value")
|
267
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
268
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
269
|
+
key: str
|
270
|
+
value: _object_id_pb2.TagSelector
|
271
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
272
|
+
class ExportsEntry(_message.Message):
|
273
|
+
__slots__ = ("key", "value")
|
274
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
275
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
276
|
+
key: str
|
277
|
+
value: _object_id_pb2.TagSelector
|
278
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
|
279
|
+
MODEL_FIELD_NUMBER: _ClassVar[int]
|
280
|
+
PARAMETERS_FIELD_NUMBER: _ClassVar[int]
|
281
|
+
INPUTS_FIELD_NUMBER: _ClassVar[int]
|
282
|
+
OUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
283
|
+
PRIOROUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
284
|
+
STORAGEACCESS_FIELD_NUMBER: _ClassVar[int]
|
285
|
+
EXPORTS_FIELD_NUMBER: _ClassVar[int]
|
286
|
+
OUTPUTATTRS_FIELD_NUMBER: _ClassVar[int]
|
287
|
+
model: _object_id_pb2.TagSelector
|
288
|
+
parameters: _containers.MessageMap[str, _type_pb2.Value]
|
289
|
+
inputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
290
|
+
outputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
291
|
+
priorOutputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
292
|
+
storageAccess: _containers.RepeatedScalarFieldContainer[str]
|
293
|
+
exports: _containers.MessageMap[str, _object_id_pb2.TagSelector]
|
294
|
+
outputAttrs: _containers.RepeatedCompositeFieldContainer[_tag_update_pb2.TagUpdate]
|
295
|
+
def __init__(self, model: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ..., parameters: _Optional[_Mapping[str, _type_pb2.Value]] = ..., inputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., outputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., priorOutputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., storageAccess: _Optional[_Iterable[str]] = ..., exports: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ..., outputAttrs: _Optional[_Iterable[_Union[_tag_update_pb2.TagUpdate, _Mapping]]] = ...) -> None: ...
|
@@ -16,7 +16,7 @@ from tracdap.rt._impl.grpc.tracdap.metadata import type_pb2 as tracdap_dot_rt_do
|
|
16
16
|
from tracdap.rt._impl.grpc.tracdap.metadata import data_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_data__pb2
|
17
17
|
|
18
18
|
|
19
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2tracdap/rt/_impl/grpc/tracdap/metadata/model.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/data.proto\"\xab\x02\n\x0eModelParameter\x12\x33\n\tparamType\x18\x01 \x01(\x0b\x32 .tracdap.metadata.TypeDescriptor\x12\r\n\x05label\x18\x02 \x01(\t\x12\x32\n\x0c\x64\x65\x66\x61ultValue\x18\x03 \x01(\x0b\x32\x17.tracdap.metadata.ValueH\x00\x88\x01\x01\x12\x44\n\nparamProps\x18\x04 \x03(\x0b\x32\x30.tracdap.metadata.ModelParameter.ParamPropsEntry\x1aJ\n\x0fParamPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x0f\n\r_defaultValue\"\
|
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,26 +38,28 @@ 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
|
44
46
|
_globals['_MODELPARAMETER_PARAMPROPSENTRY']._serialized_end=457
|
45
47
|
_globals['_MODELINPUTSCHEMA']._serialized_start=477
|
46
|
-
_globals['_MODELINPUTSCHEMA']._serialized_end=
|
47
|
-
_globals['_MODELINPUTSCHEMA_INPUTPROPSENTRY']._serialized_start=
|
48
|
-
_globals['_MODELINPUTSCHEMA_INPUTPROPSENTRY']._serialized_end=
|
49
|
-
_globals['_MODELOUTPUTSCHEMA']._serialized_start=
|
50
|
-
_globals['_MODELOUTPUTSCHEMA']._serialized_end=
|
51
|
-
_globals['_MODELOUTPUTSCHEMA_OUTPUTPROPSENTRY']._serialized_start=
|
52
|
-
_globals['_MODELOUTPUTSCHEMA_OUTPUTPROPSENTRY']._serialized_end=
|
53
|
-
_globals['_MODELDEFINITION']._serialized_start=
|
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=
|
48
|
+
_globals['_MODELINPUTSCHEMA']._serialized_end=760
|
49
|
+
_globals['_MODELINPUTSCHEMA_INPUTPROPSENTRY']._serialized_start=676
|
50
|
+
_globals['_MODELINPUTSCHEMA_INPUTPROPSENTRY']._serialized_end=750
|
51
|
+
_globals['_MODELOUTPUTSCHEMA']._serialized_start=763
|
52
|
+
_globals['_MODELOUTPUTSCHEMA']._serialized_end=1051
|
53
|
+
_globals['_MODELOUTPUTSCHEMA_OUTPUTPROPSENTRY']._serialized_start=966
|
54
|
+
_globals['_MODELOUTPUTSCHEMA_OUTPUTPROPSENTRY']._serialized_end=1041
|
55
|
+
_globals['_MODELDEFINITION']._serialized_start=1054
|
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):
|
@@ -27,7 +37,7 @@ class ModelParameter(_message.Message):
|
|
27
37
|
def __init__(self, paramType: _Optional[_Union[_type_pb2.TypeDescriptor, _Mapping]] = ..., label: _Optional[str] = ..., defaultValue: _Optional[_Union[_type_pb2.Value, _Mapping]] = ..., paramProps: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
|
28
38
|
|
29
39
|
class ModelInputSchema(_message.Message):
|
30
|
-
__slots__ = ("schema", "label", "optional", "inputProps")
|
40
|
+
__slots__ = ("schema", "label", "optional", "dynamic", "inputProps")
|
31
41
|
class InputPropsEntry(_message.Message):
|
32
42
|
__slots__ = ("key", "value")
|
33
43
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
@@ -38,15 +48,17 @@ class ModelInputSchema(_message.Message):
|
|
38
48
|
SCHEMA_FIELD_NUMBER: _ClassVar[int]
|
39
49
|
LABEL_FIELD_NUMBER: _ClassVar[int]
|
40
50
|
OPTIONAL_FIELD_NUMBER: _ClassVar[int]
|
51
|
+
DYNAMIC_FIELD_NUMBER: _ClassVar[int]
|
41
52
|
INPUTPROPS_FIELD_NUMBER: _ClassVar[int]
|
42
53
|
schema: _data_pb2.SchemaDefinition
|
43
54
|
label: str
|
44
55
|
optional: bool
|
56
|
+
dynamic: bool
|
45
57
|
inputProps: _containers.MessageMap[str, _type_pb2.Value]
|
46
|
-
def __init__(self, schema: _Optional[_Union[_data_pb2.SchemaDefinition, _Mapping]] = ..., label: _Optional[str] = ..., optional: bool = ..., inputProps: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
|
58
|
+
def __init__(self, schema: _Optional[_Union[_data_pb2.SchemaDefinition, _Mapping]] = ..., label: _Optional[str] = ..., optional: bool = ..., dynamic: bool = ..., inputProps: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
|
47
59
|
|
48
60
|
class ModelOutputSchema(_message.Message):
|
49
|
-
__slots__ = ("schema", "label", "optional", "outputProps")
|
61
|
+
__slots__ = ("schema", "label", "optional", "dynamic", "outputProps")
|
50
62
|
class OutputPropsEntry(_message.Message):
|
51
63
|
__slots__ = ("key", "value")
|
52
64
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
@@ -57,15 +69,17 @@ class ModelOutputSchema(_message.Message):
|
|
57
69
|
SCHEMA_FIELD_NUMBER: _ClassVar[int]
|
58
70
|
LABEL_FIELD_NUMBER: _ClassVar[int]
|
59
71
|
OPTIONAL_FIELD_NUMBER: _ClassVar[int]
|
72
|
+
DYNAMIC_FIELD_NUMBER: _ClassVar[int]
|
60
73
|
OUTPUTPROPS_FIELD_NUMBER: _ClassVar[int]
|
61
74
|
schema: _data_pb2.SchemaDefinition
|
62
75
|
label: str
|
63
76
|
optional: bool
|
77
|
+
dynamic: bool
|
64
78
|
outputProps: _containers.MessageMap[str, _type_pb2.Value]
|
65
|
-
def __init__(self, schema: _Optional[_Union[_data_pb2.SchemaDefinition, _Mapping]] = ..., label: _Optional[str] = ..., optional: bool = ..., outputProps: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
|
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: ...
|
66
80
|
|
67
81
|
class ModelDefinition(_message.Message):
|
68
|
-
__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")
|
69
83
|
class ParametersEntry(_message.Message):
|
70
84
|
__slots__ = ("key", "value")
|
71
85
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
@@ -105,6 +119,7 @@ class ModelDefinition(_message.Message):
|
|
105
119
|
INPUTS_FIELD_NUMBER: _ClassVar[int]
|
106
120
|
OUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
107
121
|
STATICATTRIBUTES_FIELD_NUMBER: _ClassVar[int]
|
122
|
+
MODELTYPE_FIELD_NUMBER: _ClassVar[int]
|
108
123
|
language: str
|
109
124
|
repository: str
|
110
125
|
packageGroup: str
|
@@ -116,4 +131,5 @@ class ModelDefinition(_message.Message):
|
|
116
131
|
inputs: _containers.MessageMap[str, ModelInputSchema]
|
117
132
|
outputs: _containers.MessageMap[str, ModelOutputSchema]
|
118
133
|
staticAttributes: _containers.MessageMap[str, _type_pb2.Value]
|
119
|
-
|
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: ...
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
+
# source: tracdap/rt/_impl/grpc/tracdap/metadata/resource.proto
|
4
|
+
# Protobuf Python Version: 4.25.3
|
5
|
+
"""Generated protocol buffer code."""
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
9
|
+
from google.protobuf.internal import builder as _builder
|
10
|
+
# @@protoc_insertion_point(imports)
|
11
|
+
|
12
|
+
_sym_db = _symbol_database.Default()
|
13
|
+
|
14
|
+
|
15
|
+
from tracdap.rt._impl.grpc.tracdap.metadata import object_id_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_object__id__pb2
|
16
|
+
from tracdap.rt._impl.grpc.tracdap.metadata import object_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_object__pb2
|
17
|
+
|
18
|
+
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5tracdap/rt/_impl/grpc/tracdap/metadata/resource.proto\x12\x10tracdap.metadata\x1a\x36tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x1a\x33tracdap/rt/_impl/grpc/tracdap/metadata/object.proto*m\n\x0cResourceType\x12\x19\n\x15RESOURCE_TYPE_NOT_SET\x10\x00\x12\x14\n\x10MODEL_REPOSITORY\x10\x01\x12\x14\n\x10INTERNAL_STORAGE\x10\x02\"\x04\x08\x03\x10\x03*\x10\x45XTERNAL_STORAGEB\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
|
20
|
+
|
21
|
+
_globals = globals()
|
22
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
23
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.rt._impl.grpc.tracdap.metadata.resource_pb2', _globals)
|
24
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
25
|
+
_globals['DESCRIPTOR']._options = None
|
26
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
|
27
|
+
_globals['_RESOURCETYPE']._serialized_start=184
|
28
|
+
_globals['_RESOURCETYPE']._serialized_end=293
|
29
|
+
# @@protoc_insertion_point(module_scope)
|
@@ -0,0 +1,16 @@
|
|
1
|
+
from tracdap.rt._impl.grpc.tracdap.metadata import object_id_pb2 as _object_id_pb2
|
2
|
+
from tracdap.rt._impl.grpc.tracdap.metadata import object_pb2 as _object_pb2
|
3
|
+
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
|
4
|
+
from google.protobuf import descriptor as _descriptor
|
5
|
+
from typing import ClassVar as _ClassVar
|
6
|
+
|
7
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
8
|
+
|
9
|
+
class ResourceType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
10
|
+
__slots__ = ()
|
11
|
+
RESOURCE_TYPE_NOT_SET: _ClassVar[ResourceType]
|
12
|
+
MODEL_REPOSITORY: _ClassVar[ResourceType]
|
13
|
+
INTERNAL_STORAGE: _ClassVar[ResourceType]
|
14
|
+
RESOURCE_TYPE_NOT_SET: ResourceType
|
15
|
+
MODEL_REPOSITORY: ResourceType
|
16
|
+
INTERNAL_STORAGE: ResourceType
|
tracdap/rt/_impl/models.py
CHANGED
@@ -19,6 +19,7 @@ import pathlib
|
|
19
19
|
import copy
|
20
20
|
|
21
21
|
import tracdap.rt.api as _api
|
22
|
+
import tracdap.rt.api.experimental as _eapi
|
22
23
|
import tracdap.rt.metadata as _meta
|
23
24
|
import tracdap.rt.config as _cfg
|
24
25
|
import tracdap.rt.exceptions as _ex
|
@@ -208,6 +209,13 @@ class ModelLoader:
|
|
208
209
|
model_def.inputs = inputs
|
209
210
|
model_def.outputs = outputs
|
210
211
|
|
212
|
+
if isinstance(model, _eapi.TracDataImport):
|
213
|
+
model_def.modelType = _meta.ModelType.DATA_IMPORT_MODEL
|
214
|
+
elif isinstance(model, _eapi.TracDataExport):
|
215
|
+
model_def.modelType = _meta.ModelType.DATA_EXPORT_MODEL
|
216
|
+
else:
|
217
|
+
model_def.modelType = _meta.ModelType.STANDARD_MODEL
|
218
|
+
|
211
219
|
_val.quick_validate_model_def(model_def)
|
212
220
|
|
213
221
|
for attr_name, attr_value in attributes.items():
|
tracdap/rt/_impl/static_api.py
CHANGED
@@ -17,6 +17,7 @@ import types as _ts
|
|
17
17
|
|
18
18
|
import tracdap.rt.metadata as _meta
|
19
19
|
import tracdap.rt.exceptions as _ex
|
20
|
+
import tracdap.rt._impl.data as _data
|
20
21
|
import tracdap.rt._impl.schemas as _schemas
|
21
22
|
import tracdap.rt._impl.type_system as _type_system
|
22
23
|
import tracdap.rt._impl.validation as _val
|
@@ -152,35 +153,66 @@ class StaticApiImpl(_StaticApiHook):
|
|
152
153
|
|
153
154
|
return _schemas.SchemaLoader.load_schema(package, schema_file)
|
154
155
|
|
156
|
+
def infer_schema(self, dataset: _tp.Any) -> _meta.SchemaDefinition:
|
157
|
+
|
158
|
+
if _data.pandas and isinstance(dataset, _data.pandas.DataFrame):
|
159
|
+
arrow_schema = _data.DataMapping.pandas_to_arrow_schema(dataset)
|
160
|
+
|
161
|
+
elif _data.polars and isinstance(dataset, _data.polars.DataFrame):
|
162
|
+
arrow_schema = _data.DataMapping.polars_to_arrow_schema(dataset)
|
163
|
+
|
164
|
+
else:
|
165
|
+
dataset_type = f"{type(dataset).__module__}.{type(dataset).__name__}"
|
166
|
+
message = f"Schema inference is not available for dataset type [{dataset_type}]"
|
167
|
+
raise _ex.ERuntimeValidation(message)
|
168
|
+
|
169
|
+
return _data.DataMapping.arrow_to_trac_schema(arrow_schema)
|
170
|
+
|
155
171
|
def define_input_table(
|
156
172
|
self, *fields: _tp.Union[_meta.FieldSchema, _tp.List[_meta.FieldSchema]],
|
157
|
-
label: _tp.Optional[str] = None,
|
158
|
-
optional: bool = False,
|
173
|
+
label: _tp.Optional[str] = None, optional: bool = False, dynamic: bool = False,
|
159
174
|
input_props: _tp.Optional[_tp.Dict[str, _tp.Any]] = None) \
|
160
175
|
-> _meta.ModelInputSchema:
|
161
176
|
|
162
177
|
_val.validate_signature(
|
163
178
|
self.define_input_table, *fields,
|
164
|
-
label=label, optional=optional,
|
179
|
+
label=label, optional=optional, dynamic=dynamic,
|
165
180
|
input_props=input_props)
|
166
181
|
|
167
|
-
|
168
|
-
|
182
|
+
# Do not define details for dynamic schemas
|
183
|
+
|
184
|
+
if dynamic:
|
185
|
+
schema_def = _meta.SchemaDefinition(_meta.SchemaType.TABLE)
|
186
|
+
else:
|
187
|
+
schema_def = self.define_schema(*fields, schema_type=_meta.SchemaType.TABLE)
|
188
|
+
|
189
|
+
return _meta.ModelInputSchema(
|
190
|
+
schema=schema_def, label=label,
|
191
|
+
optional=optional, dynamic=dynamic,
|
192
|
+
inputProps=input_props)
|
169
193
|
|
170
194
|
def define_output_table(
|
171
195
|
self, *fields: _tp.Union[_meta.FieldSchema, _tp.List[_meta.FieldSchema]],
|
172
|
-
label: _tp.Optional[str] = None,
|
173
|
-
optional: bool = False,
|
196
|
+
label: _tp.Optional[str] = None, optional: bool = False, dynamic: bool = False,
|
174
197
|
output_props: _tp.Optional[_tp.Dict[str, _tp.Any]] = None) \
|
175
198
|
-> _meta.ModelOutputSchema:
|
176
199
|
|
177
200
|
_val.validate_signature(
|
178
201
|
self.define_output_table, *fields,
|
179
|
-
label=label, optional=optional,
|
202
|
+
label=label, optional=optional, dynamic=dynamic,
|
180
203
|
output_props=output_props)
|
181
204
|
|
182
|
-
|
183
|
-
|
205
|
+
# Do not define details for dynamic schemas
|
206
|
+
|
207
|
+
if dynamic:
|
208
|
+
schema_def = _meta.SchemaDefinition(_meta.SchemaType.TABLE)
|
209
|
+
else:
|
210
|
+
schema_def = self.define_schema(*fields, schema_type=_meta.SchemaType.TABLE)
|
211
|
+
|
212
|
+
return _meta.ModelOutputSchema(
|
213
|
+
schema=schema_def, label=label,
|
214
|
+
optional=optional, dynamic=dynamic,
|
215
|
+
outputProps=output_props)
|
184
216
|
|
185
217
|
@staticmethod
|
186
218
|
def _build_named_dict(
|