tracdap-runtime 0.8.0rc2__py3-none-any.whl → 0.9.0b2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. tracdap/rt/_impl/core/config_parser.py +29 -3
  2. tracdap/rt/_impl/core/data.py +627 -40
  3. tracdap/rt/_impl/core/repos.py +17 -8
  4. tracdap/rt/_impl/core/storage.py +25 -13
  5. tracdap/rt/_impl/core/struct.py +254 -60
  6. tracdap/rt/_impl/core/util.py +125 -11
  7. tracdap/rt/_impl/exec/context.py +35 -8
  8. tracdap/rt/_impl/exec/dev_mode.py +169 -127
  9. tracdap/rt/_impl/exec/engine.py +203 -140
  10. tracdap/rt/_impl/exec/functions.py +228 -263
  11. tracdap/rt/_impl/exec/graph.py +141 -126
  12. tracdap/rt/_impl/exec/graph_builder.py +428 -449
  13. tracdap/rt/_impl/grpc/codec.py +8 -13
  14. tracdap/rt/_impl/grpc/server.py +7 -7
  15. tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py +25 -18
  16. tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi +27 -9
  17. tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py +1 -1
  18. tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.py +1 -1
  19. tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py +1 -1
  20. tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py +37 -35
  21. tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi +37 -43
  22. tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py +1 -1
  23. tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py +1 -1
  24. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +67 -63
  25. tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +11 -2
  26. tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +1 -1
  27. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +1 -1
  28. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +1 -1
  29. tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py +1 -1
  30. tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py +1 -1
  31. tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.py +11 -9
  32. tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.pyi +11 -2
  33. tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py +1 -1
  34. tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py +1 -1
  35. tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py +23 -19
  36. tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.pyi +15 -2
  37. tracdap/rt/_impl/runtime.py +3 -9
  38. tracdap/rt/_impl/static_api.py +5 -6
  39. tracdap/rt/_plugins/format_csv.py +2 -2
  40. tracdap/rt/_plugins/repo_git.py +56 -11
  41. tracdap/rt/_plugins/storage_aws.py +165 -150
  42. tracdap/rt/_plugins/storage_azure.py +17 -11
  43. tracdap/rt/_plugins/storage_gcp.py +35 -18
  44. tracdap/rt/_version.py +1 -1
  45. tracdap/rt/api/model_api.py +45 -0
  46. tracdap/rt/config/__init__.py +7 -9
  47. tracdap/rt/config/common.py +3 -14
  48. tracdap/rt/config/job.py +17 -3
  49. tracdap/rt/config/platform.py +9 -32
  50. tracdap/rt/config/result.py +8 -4
  51. tracdap/rt/config/runtime.py +5 -10
  52. tracdap/rt/config/tenant.py +28 -0
  53. tracdap/rt/launch/cli.py +0 -8
  54. tracdap/rt/launch/launch.py +1 -3
  55. tracdap/rt/metadata/__init__.py +35 -35
  56. tracdap/rt/metadata/data.py +19 -31
  57. tracdap/rt/metadata/job.py +3 -1
  58. tracdap/rt/metadata/storage.py +9 -0
  59. tracdap/rt/metadata/type.py +9 -5
  60. {tracdap_runtime-0.8.0rc2.dist-info → tracdap_runtime-0.9.0b2.dist-info}/METADATA +5 -3
  61. {tracdap_runtime-0.8.0rc2.dist-info → tracdap_runtime-0.9.0b2.dist-info}/RECORD +64 -63
  62. {tracdap_runtime-0.8.0rc2.dist-info → tracdap_runtime-0.9.0b2.dist-info}/WHEEL +1 -1
  63. {tracdap_runtime-0.8.0rc2.dist-info → tracdap_runtime-0.9.0b2.dist-info}/licenses/LICENSE +0 -0
  64. {tracdap_runtime-0.8.0rc2.dist-info → tracdap_runtime-0.9.0b2.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/rt/_impl/grpc/tracdap/metadata/job.proto
4
- # Protobuf Python Version: 4.25.3
4
+ # Protobuf Python Version: 4.25.5
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -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\"\xb5\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\x12/\n\x08resultId\x18\x08 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelectorB\x0c\n\njobDetails\"\xbe\x01\n\x10ResultDefinition\x12,\n\x05jobId\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12\x33\n\nstatusCode\x18\x02 \x01(\x0e\x32\x1f.tracdap.metadata.JobStatusCode\x12\x15\n\rstatusMessage\x18\x03 \x01(\t\x12\x30\n\tlogFileId\x18\x04 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\"\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')
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\"\xb5\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\x12/\n\x08resultId\x18\x08 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelectorB\x0c\n\njobDetails\"\xe2\x02\n\x10ResultDefinition\x12,\n\x05jobId\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12\x33\n\nstatusCode\x18\x02 \x01(\x0e\x32\x1f.tracdap.metadata.JobStatusCode\x12\x15\n\rstatusMessage\x18\x03 \x01(\t\x12\x35\n\tlogFileId\x18\x04 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelectorH\x00\x88\x01\x01\x12@\n\x07outputs\x18\x05 \x03(\x0b\x32/.tracdap.metadata.ResultDefinition.OutputsEntry\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\x42\x0c\n\n_logFileId\"\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)
@@ -25,6 +25,8 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.rt._impl.grpc.tracd
25
25
  if _descriptor._USE_C_DESCRIPTORS == False:
26
26
  _globals['DESCRIPTOR']._options = None
27
27
  _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
28
+ _globals['_RESULTDEFINITION_OUTPUTSENTRY']._options = None
29
+ _globals['_RESULTDEFINITION_OUTPUTSENTRY']._serialized_options = b'8\001'
28
30
  _globals['_RUNMODELJOB_PARAMETERSENTRY']._options = None
29
31
  _globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_options = b'8\001'
30
32
  _globals['_RUNMODELJOB_INPUTSENTRY']._options = None
@@ -63,68 +65,70 @@ if _descriptor._USE_C_DESCRIPTORS == False:
63
65
  _globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_options = b'8\001'
64
66
  _globals['_EXPORTDATAJOB_EXPORTSENTRY']._options = None
65
67
  _globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_options = b'8\001'
66
- _globals['_JOBTYPE']._serialized_start=4701
67
- _globals['_JOBTYPE']._serialized_end=4828
68
- _globals['_JOBSTATUSCODE']._serialized_start=4831
69
- _globals['_JOBSTATUSCODE']._serialized_end=5015
70
- _globals['_JOBGROUPTYPE']._serialized_start=5017
71
- _globals['_JOBGROUPTYPE']._serialized_end=5109
68
+ _globals['_JOBTYPE']._serialized_start=4865
69
+ _globals['_JOBTYPE']._serialized_end=4992
70
+ _globals['_JOBSTATUSCODE']._serialized_start=4995
71
+ _globals['_JOBSTATUSCODE']._serialized_end=5179
72
+ _globals['_JOBGROUPTYPE']._serialized_start=5181
73
+ _globals['_JOBGROUPTYPE']._serialized_end=5273
72
74
  _globals['_JOBDEFINITION']._serialized_start=235
73
75
  _globals['_JOBDEFINITION']._serialized_end=672
74
76
  _globals['_RESULTDEFINITION']._serialized_start=675
75
- _globals['_RESULTDEFINITION']._serialized_end=865
76
- _globals['_RUNMODELJOB']._serialized_start=868
77
- _globals['_RUNMODELJOB']._serialized_end=1552
78
- _globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_start=1237
79
- _globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_end=1311
80
- _globals['_RUNMODELJOB_INPUTSENTRY']._serialized_start=1313
81
- _globals['_RUNMODELJOB_INPUTSENTRY']._serialized_end=1389
82
- _globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_start=1391
83
- _globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_end=1468
84
- _globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_start=1470
85
- _globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_end=1552
86
- _globals['_RUNFLOWJOB']._serialized_start=1555
87
- _globals['_RUNFLOWJOB']._serialized_end=2369
88
- _globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_start=1237
89
- _globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_end=1311
90
- _globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_start=1313
91
- _globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_end=1389
92
- _globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_start=1391
93
- _globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_end=1468
94
- _globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_start=1470
95
- _globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_end=1552
96
- _globals['_RUNFLOWJOB_MODELSENTRY']._serialized_start=2293
97
- _globals['_RUNFLOWJOB_MODELSENTRY']._serialized_end=2369
98
- _globals['_IMPORTMODELJOB']._serialized_start=2372
99
- _globals['_IMPORTMODELJOB']._serialized_end=2587
100
- _globals['_IMPORTDATAJOB']._serialized_start=2590
101
- _globals['_IMPORTDATAJOB']._serialized_end=3499
102
- _globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_start=1237
103
- _globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_end=1311
104
- _globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_start=1313
105
- _globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_end=1389
106
- _globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_start=1391
107
- _globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_end=1468
108
- _globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_start=1470
109
- _globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_end=1552
110
- _globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_start=3422
111
- _globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_end=3499
112
- _globals['_EXPORTDATAJOB']._serialized_start=3502
113
- _globals['_EXPORTDATAJOB']._serialized_end=4361
114
- _globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_start=1237
115
- _globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_end=1311
116
- _globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_start=1313
117
- _globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_end=1389
118
- _globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_start=1391
119
- _globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_end=1468
120
- _globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_start=1470
121
- _globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_end=1552
122
- _globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_start=4284
123
- _globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_end=4361
124
- _globals['_JOBGROUP']._serialized_start=4364
125
- _globals['_JOBGROUP']._serialized_end=4563
126
- _globals['_SEQUENTIALJOBGROUP']._serialized_start=4565
127
- _globals['_SEQUENTIALJOBGROUP']._serialized_end=4632
128
- _globals['_PARALLELJOBGROUP']._serialized_start=4634
129
- _globals['_PARALLELJOBGROUP']._serialized_end=4699
77
+ _globals['_RESULTDEFINITION']._serialized_end=1029
78
+ _globals['_RESULTDEFINITION_OUTPUTSENTRY']._serialized_start=938
79
+ _globals['_RESULTDEFINITION_OUTPUTSENTRY']._serialized_end=1015
80
+ _globals['_RUNMODELJOB']._serialized_start=1032
81
+ _globals['_RUNMODELJOB']._serialized_end=1716
82
+ _globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_start=1401
83
+ _globals['_RUNMODELJOB_PARAMETERSENTRY']._serialized_end=1475
84
+ _globals['_RUNMODELJOB_INPUTSENTRY']._serialized_start=1477
85
+ _globals['_RUNMODELJOB_INPUTSENTRY']._serialized_end=1553
86
+ _globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_start=938
87
+ _globals['_RUNMODELJOB_OUTPUTSENTRY']._serialized_end=1015
88
+ _globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_start=1634
89
+ _globals['_RUNMODELJOB_PRIOROUTPUTSENTRY']._serialized_end=1716
90
+ _globals['_RUNFLOWJOB']._serialized_start=1719
91
+ _globals['_RUNFLOWJOB']._serialized_end=2533
92
+ _globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_start=1401
93
+ _globals['_RUNFLOWJOB_PARAMETERSENTRY']._serialized_end=1475
94
+ _globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_start=1477
95
+ _globals['_RUNFLOWJOB_INPUTSENTRY']._serialized_end=1553
96
+ _globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_start=938
97
+ _globals['_RUNFLOWJOB_OUTPUTSENTRY']._serialized_end=1015
98
+ _globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_start=1634
99
+ _globals['_RUNFLOWJOB_PRIOROUTPUTSENTRY']._serialized_end=1716
100
+ _globals['_RUNFLOWJOB_MODELSENTRY']._serialized_start=2457
101
+ _globals['_RUNFLOWJOB_MODELSENTRY']._serialized_end=2533
102
+ _globals['_IMPORTMODELJOB']._serialized_start=2536
103
+ _globals['_IMPORTMODELJOB']._serialized_end=2751
104
+ _globals['_IMPORTDATAJOB']._serialized_start=2754
105
+ _globals['_IMPORTDATAJOB']._serialized_end=3663
106
+ _globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_start=1401
107
+ _globals['_IMPORTDATAJOB_PARAMETERSENTRY']._serialized_end=1475
108
+ _globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_start=1477
109
+ _globals['_IMPORTDATAJOB_INPUTSENTRY']._serialized_end=1553
110
+ _globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_start=938
111
+ _globals['_IMPORTDATAJOB_OUTPUTSENTRY']._serialized_end=1015
112
+ _globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_start=1634
113
+ _globals['_IMPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_end=1716
114
+ _globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_start=3586
115
+ _globals['_IMPORTDATAJOB_IMPORTSENTRY']._serialized_end=3663
116
+ _globals['_EXPORTDATAJOB']._serialized_start=3666
117
+ _globals['_EXPORTDATAJOB']._serialized_end=4525
118
+ _globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_start=1401
119
+ _globals['_EXPORTDATAJOB_PARAMETERSENTRY']._serialized_end=1475
120
+ _globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_start=1477
121
+ _globals['_EXPORTDATAJOB_INPUTSENTRY']._serialized_end=1553
122
+ _globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_start=938
123
+ _globals['_EXPORTDATAJOB_OUTPUTSENTRY']._serialized_end=1015
124
+ _globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_start=1634
125
+ _globals['_EXPORTDATAJOB_PRIOROUTPUTSENTRY']._serialized_end=1716
126
+ _globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_start=4448
127
+ _globals['_EXPORTDATAJOB_EXPORTSENTRY']._serialized_end=4525
128
+ _globals['_JOBGROUP']._serialized_start=4528
129
+ _globals['_JOBGROUP']._serialized_end=4727
130
+ _globals['_SEQUENTIALJOBGROUP']._serialized_start=4729
131
+ _globals['_SEQUENTIALJOBGROUP']._serialized_end=4796
132
+ _globals['_PARALLELJOBGROUP']._serialized_start=4798
133
+ _globals['_PARALLELJOBGROUP']._serialized_end=4863
130
134
  # @@protoc_insertion_point(module_scope)
@@ -81,16 +81,25 @@ class JobDefinition(_message.Message):
81
81
  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]] = ..., resultId: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
82
82
 
83
83
  class ResultDefinition(_message.Message):
84
- __slots__ = ("jobId", "statusCode", "statusMessage", "logFileId")
84
+ __slots__ = ("jobId", "statusCode", "statusMessage", "logFileId", "outputs")
85
+ class OutputsEntry(_message.Message):
86
+ __slots__ = ("key", "value")
87
+ KEY_FIELD_NUMBER: _ClassVar[int]
88
+ VALUE_FIELD_NUMBER: _ClassVar[int]
89
+ key: str
90
+ value: _object_id_pb2.TagSelector
91
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
85
92
  JOBID_FIELD_NUMBER: _ClassVar[int]
86
93
  STATUSCODE_FIELD_NUMBER: _ClassVar[int]
87
94
  STATUSMESSAGE_FIELD_NUMBER: _ClassVar[int]
88
95
  LOGFILEID_FIELD_NUMBER: _ClassVar[int]
96
+ OUTPUTS_FIELD_NUMBER: _ClassVar[int]
89
97
  jobId: _object_id_pb2.TagSelector
90
98
  statusCode: JobStatusCode
91
99
  statusMessage: str
92
100
  logFileId: _object_id_pb2.TagSelector
93
- def __init__(self, jobId: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ..., statusCode: _Optional[_Union[JobStatusCode, str]] = ..., statusMessage: _Optional[str] = ..., logFileId: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ...) -> None: ...
101
+ outputs: _containers.MessageMap[str, _object_id_pb2.TagSelector]
102
+ def __init__(self, jobId: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ..., statusCode: _Optional[_Union[JobStatusCode, str]] = ..., statusMessage: _Optional[str] = ..., logFileId: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ..., outputs: _Optional[_Mapping[str, _object_id_pb2.TagSelector]] = ...) -> None: ...
94
103
 
95
104
  class RunModelJob(_message.Message):
96
105
  __slots__ = ("model", "parameters", "inputs", "outputs", "priorOutputs", "outputAttrs")
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/rt/_impl/grpc/tracdap/metadata/model.proto
4
- # Protobuf Python Version: 4.25.3
4
+ # Protobuf Python Version: 4.25.5
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto
4
- # Protobuf Python Version: 4.25.3
4
+ # Protobuf Python Version: 4.25.5
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/rt/_impl/grpc/tracdap/metadata/object.proto
4
- # Protobuf Python Version: 4.25.3
4
+ # Protobuf Python Version: 4.25.5
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/rt/_impl/grpc/tracdap/metadata/resource.proto
4
- # Protobuf Python Version: 4.25.3
4
+ # Protobuf Python Version: 4.25.5
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/rt/_impl/grpc/tracdap/metadata/search.proto
4
- # Protobuf Python Version: 4.25.3
4
+ # Protobuf Python Version: 4.25.5
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/rt/_impl/grpc/tracdap/metadata/storage.proto
4
- # Protobuf Python Version: 4.25.3
4
+ # Protobuf Python Version: 4.25.5
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
15
15
  from tracdap.rt._impl.grpc.tracdap.metadata import type_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_type__pb2
16
16
 
17
17
 
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4tracdap/rt/_impl/grpc/tracdap/metadata/storage.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\"\xd2\x02\n\x0bStorageCopy\x12\x12\n\nstorageKey\x18\x01 \x01(\t\x12\x13\n\x0bstoragePath\x18\x02 \x01(\t\x12\x15\n\rstorageFormat\x18\x03 \x01(\t\x12\x30\n\ncopyStatus\x18\x04 \x01(\x0e\x32\x1c.tracdap.metadata.CopyStatus\x12\x36\n\rcopyTimestamp\x18\x05 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValue\x12I\n\x0estorageOptions\x18\x06 \x03(\x0b\x32\x31.tracdap.metadata.StorageCopy.StorageOptionsEntry\x1aN\n\x13StorageOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\"\xdc\x01\n\x12StorageIncarnation\x12-\n\x06\x63opies\x18\x01 \x03(\x0b\x32\x1d.tracdap.metadata.StorageCopy\x12\x18\n\x10incarnationIndex\x18\x02 \x01(\x05\x12=\n\x14incarnationTimestamp\x18\x03 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValue\x12>\n\x11incarnationStatus\x18\x04 \x01(\x0e\x32#.tracdap.metadata.IncarnationStatus\"I\n\x0bStorageItem\x12:\n\x0cincarnations\x18\x01 \x03(\x0b\x32$.tracdap.metadata.StorageIncarnation\"\xe1\x02\n\x11StorageDefinition\x12\x45\n\tdataItems\x18\x01 \x03(\x0b\x32\x32.tracdap.metadata.StorageDefinition.DataItemsEntry\x12O\n\x0estorageOptions\x18\x03 \x03(\x0b\x32\x37.tracdap.metadata.StorageDefinition.StorageOptionsEntry\x1aO\n\x0e\x44\x61taItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.StorageItem:\x02\x38\x01\x1aN\n\x13StorageOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01J\x04\x08\x02\x10\x03R\rstorageFormat*L\n\nCopyStatus\x12\x17\n\x13\x43OPY_STATUS_NOT_SET\x10\x00\x12\x12\n\x0e\x43OPY_AVAILABLE\x10\x01\x12\x11\n\rCOPY_EXPUNGED\x10\x02*h\n\x11IncarnationStatus\x12\x1e\n\x1aINCARNATION_STATUS_NOT_SET\x10\x00\x12\x19\n\x15INCARNATION_AVAILABLE\x10\x01\x12\x18\n\x14INCARNATION_EXPUNGED\x10\x02\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4tracdap/rt/_impl/grpc/tracdap/metadata/storage.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\"\xd2\x02\n\x0bStorageCopy\x12\x12\n\nstorageKey\x18\x01 \x01(\t\x12\x13\n\x0bstoragePath\x18\x02 \x01(\t\x12\x15\n\rstorageFormat\x18\x03 \x01(\t\x12\x30\n\ncopyStatus\x18\x04 \x01(\x0e\x32\x1c.tracdap.metadata.CopyStatus\x12\x36\n\rcopyTimestamp\x18\x05 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValue\x12I\n\x0estorageOptions\x18\x06 \x03(\x0b\x32\x31.tracdap.metadata.StorageCopy.StorageOptionsEntry\x1aN\n\x13StorageOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\"\xdc\x01\n\x12StorageIncarnation\x12-\n\x06\x63opies\x18\x01 \x03(\x0b\x32\x1d.tracdap.metadata.StorageCopy\x12\x18\n\x10incarnationIndex\x18\x02 \x01(\x05\x12=\n\x14incarnationTimestamp\x18\x03 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValue\x12>\n\x11incarnationStatus\x18\x04 \x01(\x0e\x32#.tracdap.metadata.IncarnationStatus\"I\n\x0bStorageItem\x12:\n\x0cincarnations\x18\x01 \x03(\x0b\x32$.tracdap.metadata.StorageIncarnation\"\x92\x03\n\x11StorageDefinition\x12\x45\n\tdataItems\x18\x01 \x03(\x0b\x32\x32.tracdap.metadata.StorageDefinition.DataItemsEntry\x12O\n\x0estorageOptions\x18\x03 \x03(\x0b\x32\x37.tracdap.metadata.StorageDefinition.StorageOptionsEntry\x12/\n\x06layout\x18\x04 \x01(\x0e\x32\x1f.tracdap.metadata.StorageLayout\x1aO\n\x0e\x44\x61taItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.metadata.StorageItem:\x02\x38\x01\x1aN\n\x13StorageOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01J\x04\x08\x02\x10\x03R\rstorageFormat*L\n\nCopyStatus\x12\x17\n\x13\x43OPY_STATUS_NOT_SET\x10\x00\x12\x12\n\x0e\x43OPY_AVAILABLE\x10\x01\x12\x11\n\rCOPY_EXPUNGED\x10\x02*h\n\x11IncarnationStatus\x12\x1e\n\x1aINCARNATION_STATUS_NOT_SET\x10\x00\x12\x19\n\x15INCARNATION_AVAILABLE\x10\x01\x12\x18\n\x14INCARNATION_EXPUNGED\x10\x02*;\n\rStorageLayout\x12\x14\n\x10OBJECT_ID_LAYOUT\x10\x00\x12\x14\n\x10\x44\x45VELOPER_LAYOUT\x10\x01\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
19
19
 
20
20
  _globals = globals()
21
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -29,10 +29,12 @@ if _descriptor._USE_C_DESCRIPTORS == False:
29
29
  _globals['_STORAGEDEFINITION_DATAITEMSENTRY']._serialized_options = b'8\001'
30
30
  _globals['_STORAGEDEFINITION_STORAGEOPTIONSENTRY']._options = None
31
31
  _globals['_STORAGEDEFINITION_STORAGEOPTIONSENTRY']._serialized_options = b'8\001'
32
- _globals['_COPYSTATUS']._serialized_start=1120
33
- _globals['_COPYSTATUS']._serialized_end=1196
34
- _globals['_INCARNATIONSTATUS']._serialized_start=1198
35
- _globals['_INCARNATIONSTATUS']._serialized_end=1302
32
+ _globals['_COPYSTATUS']._serialized_start=1169
33
+ _globals['_COPYSTATUS']._serialized_end=1245
34
+ _globals['_INCARNATIONSTATUS']._serialized_start=1247
35
+ _globals['_INCARNATIONSTATUS']._serialized_end=1351
36
+ _globals['_STORAGELAYOUT']._serialized_start=1353
37
+ _globals['_STORAGELAYOUT']._serialized_end=1412
36
38
  _globals['_STORAGECOPY']._serialized_start=126
37
39
  _globals['_STORAGECOPY']._serialized_end=464
38
40
  _globals['_STORAGECOPY_STORAGEOPTIONSENTRY']._serialized_start=386
@@ -42,9 +44,9 @@ if _descriptor._USE_C_DESCRIPTORS == False:
42
44
  _globals['_STORAGEITEM']._serialized_start=689
43
45
  _globals['_STORAGEITEM']._serialized_end=762
44
46
  _globals['_STORAGEDEFINITION']._serialized_start=765
45
- _globals['_STORAGEDEFINITION']._serialized_end=1118
46
- _globals['_STORAGEDEFINITION_DATAITEMSENTRY']._serialized_start=938
47
- _globals['_STORAGEDEFINITION_DATAITEMSENTRY']._serialized_end=1017
47
+ _globals['_STORAGEDEFINITION']._serialized_end=1167
48
+ _globals['_STORAGEDEFINITION_DATAITEMSENTRY']._serialized_start=987
49
+ _globals['_STORAGEDEFINITION_DATAITEMSENTRY']._serialized_end=1066
48
50
  _globals['_STORAGEDEFINITION_STORAGEOPTIONSENTRY']._serialized_start=386
49
51
  _globals['_STORAGEDEFINITION_STORAGEOPTIONSENTRY']._serialized_end=464
50
52
  # @@protoc_insertion_point(module_scope)
@@ -18,12 +18,19 @@ class IncarnationStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
18
18
  INCARNATION_STATUS_NOT_SET: _ClassVar[IncarnationStatus]
19
19
  INCARNATION_AVAILABLE: _ClassVar[IncarnationStatus]
20
20
  INCARNATION_EXPUNGED: _ClassVar[IncarnationStatus]
21
+
22
+ class StorageLayout(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
23
+ __slots__ = ()
24
+ OBJECT_ID_LAYOUT: _ClassVar[StorageLayout]
25
+ DEVELOPER_LAYOUT: _ClassVar[StorageLayout]
21
26
  COPY_STATUS_NOT_SET: CopyStatus
22
27
  COPY_AVAILABLE: CopyStatus
23
28
  COPY_EXPUNGED: CopyStatus
24
29
  INCARNATION_STATUS_NOT_SET: IncarnationStatus
25
30
  INCARNATION_AVAILABLE: IncarnationStatus
26
31
  INCARNATION_EXPUNGED: IncarnationStatus
32
+ OBJECT_ID_LAYOUT: StorageLayout
33
+ DEVELOPER_LAYOUT: StorageLayout
27
34
 
28
35
  class StorageCopy(_message.Message):
29
36
  __slots__ = ("storageKey", "storagePath", "storageFormat", "copyStatus", "copyTimestamp", "storageOptions")
@@ -67,7 +74,7 @@ class StorageItem(_message.Message):
67
74
  def __init__(self, incarnations: _Optional[_Iterable[_Union[StorageIncarnation, _Mapping]]] = ...) -> None: ...
68
75
 
69
76
  class StorageDefinition(_message.Message):
70
- __slots__ = ("dataItems", "storageOptions")
77
+ __slots__ = ("dataItems", "storageOptions", "layout")
71
78
  class DataItemsEntry(_message.Message):
72
79
  __slots__ = ("key", "value")
73
80
  KEY_FIELD_NUMBER: _ClassVar[int]
@@ -84,6 +91,8 @@ class StorageDefinition(_message.Message):
84
91
  def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_type_pb2.Value, _Mapping]] = ...) -> None: ...
85
92
  DATAITEMS_FIELD_NUMBER: _ClassVar[int]
86
93
  STORAGEOPTIONS_FIELD_NUMBER: _ClassVar[int]
94
+ LAYOUT_FIELD_NUMBER: _ClassVar[int]
87
95
  dataItems: _containers.MessageMap[str, StorageItem]
88
96
  storageOptions: _containers.MessageMap[str, _type_pb2.Value]
89
- def __init__(self, dataItems: _Optional[_Mapping[str, StorageItem]] = ..., storageOptions: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
97
+ layout: StorageLayout
98
+ def __init__(self, dataItems: _Optional[_Mapping[str, StorageItem]] = ..., storageOptions: _Optional[_Mapping[str, _type_pb2.Value]] = ..., layout: _Optional[_Union[StorageLayout, str]] = ...) -> None: ...
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/rt/_impl/grpc/tracdap/metadata/tag.proto
4
- # Protobuf Python Version: 4.25.3
4
+ # Protobuf Python Version: 4.25.5
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/rt/_impl/grpc/tracdap/metadata/tag_update.proto
4
- # Protobuf Python Version: 4.25.3
4
+ # Protobuf Python Version: 4.25.5
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/rt/_impl/grpc/tracdap/metadata/type.proto
4
- # Protobuf Python Version: 4.25.3
4
+ # Protobuf Python Version: 4.25.5
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
14
14
 
15
15
 
16
16
 
17
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x12\x10tracdap.metadata\"\xcc\x01\n\x0eTypeDescriptor\x12.\n\tbasicType\x18\x01 \x01(\x0e\x32\x1b.tracdap.metadata.BasicType\x12\x38\n\tarrayType\x18\x02 \x01(\x0b\x32 .tracdap.metadata.TypeDescriptorH\x00\x88\x01\x01\x12\x36\n\x07mapType\x18\x03 \x01(\x0b\x32 .tracdap.metadata.TypeDescriptorH\x01\x88\x01\x01\x42\x0c\n\n_arrayTypeB\n\n\x08_mapType\"\x1f\n\x0c\x44\x65\x63imalValue\x12\x0f\n\x07\x64\x65\x63imal\x18\x01 \x01(\t\"\x1c\n\tDateValue\x12\x0f\n\x07isoDate\x18\x01 \x01(\t\"$\n\rDatetimeValue\x12\x13\n\x0bisoDatetime\x18\x01 \x01(\t\"\xa9\x03\n\x05Value\x12.\n\x04type\x18\x01 \x01(\x0b\x32 .tracdap.metadata.TypeDescriptor\x12\x16\n\x0c\x62ooleanValue\x18\x02 \x01(\x08H\x00\x12\x1a\n\x0cintegerValue\x18\x03 \x01(\x12\x42\x02\x30\x02H\x00\x12\x14\n\nfloatValue\x18\x04 \x01(\x01H\x00\x12\x15\n\x0bstringValue\x18\x05 \x01(\tH\x00\x12\x36\n\x0c\x64\x65\x63imalValue\x18\x06 \x01(\x0b\x32\x1e.tracdap.metadata.DecimalValueH\x00\x12\x30\n\tdateValue\x18\x07 \x01(\x0b\x32\x1b.tracdap.metadata.DateValueH\x00\x12\x38\n\rdatetimeValue\x18\x08 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValueH\x00\x12\x32\n\narrayValue\x18\t \x01(\x0b\x32\x1c.tracdap.metadata.ArrayValueH\x00\x12.\n\x08mapValue\x18\n \x01(\x0b\x32\x1a.tracdap.metadata.MapValueH\x00\x42\x07\n\x05value\"4\n\nArrayValue\x12&\n\x05items\x18\x01 \x03(\x0b\x32\x17.tracdap.metadata.Value\"\x8d\x01\n\x08MapValue\x12\x38\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\'.tracdap.metadata.MapValue.EntriesEntry\x1aG\n\x0c\x45ntriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01*\x8d\x01\n\tBasicType\x12\x16\n\x12\x42\x41SIC_TYPE_NOT_SET\x10\x00\x12\x0b\n\x07\x42OOLEAN\x10\x01\x12\x0b\n\x07INTEGER\x10\x02\x12\t\n\x05\x46LOAT\x10\x03\x12\n\n\x06STRING\x10\x04\x12\x0b\n\x07\x44\x45\x43IMAL\x10\x05\x12\x08\n\x04\x44\x41TE\x10\x06\x12\x0c\n\x08\x44\x41TETIME\x10\x07\x12\t\n\x05\x41RRAY\x10\x08\x12\x07\n\x03MAP\x10\tB\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x12\x10tracdap.metadata\"\xa0\x03\n\x0eTypeDescriptor\x12.\n\tbasicType\x18\x01 \x01(\x0e\x32\x1b.tracdap.metadata.BasicType\x12\x38\n\tarrayType\x18\x02 \x01(\x0b\x32 .tracdap.metadata.TypeDescriptorH\x00\x88\x01\x01\x12\x36\n\x07mapType\x18\x03 \x01(\x0b\x32 .tracdap.metadata.TypeDescriptorH\x01\x88\x01\x01\x12\x46\n\x0bstructTypes\x18\x05 \x03(\x0b\x32\x31.tracdap.metadata.TypeDescriptor.StructTypesEntry\x12\x15\n\x08typeName\x18\x06 \x01(\tH\x02\x88\x01\x01\x1aT\n\x10StructTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .tracdap.metadata.TypeDescriptor:\x02\x38\x01\x42\x0c\n\n_arrayTypeB\n\n\x08_mapTypeB\x0b\n\t_typeNameJ\x04\x08\x04\x10\x05R\nmapKeyType\"\x1f\n\x0c\x44\x65\x63imalValue\x12\x0f\n\x07\x64\x65\x63imal\x18\x01 \x01(\t\"\x1c\n\tDateValue\x12\x0f\n\x07isoDate\x18\x01 \x01(\t\"$\n\rDatetimeValue\x12\x13\n\x0bisoDatetime\x18\x01 \x01(\t\"\xa9\x03\n\x05Value\x12.\n\x04type\x18\x01 \x01(\x0b\x32 .tracdap.metadata.TypeDescriptor\x12\x16\n\x0c\x62ooleanValue\x18\x02 \x01(\x08H\x00\x12\x1a\n\x0cintegerValue\x18\x03 \x01(\x12\x42\x02\x30\x02H\x00\x12\x14\n\nfloatValue\x18\x04 \x01(\x01H\x00\x12\x15\n\x0bstringValue\x18\x05 \x01(\tH\x00\x12\x36\n\x0c\x64\x65\x63imalValue\x18\x06 \x01(\x0b\x32\x1e.tracdap.metadata.DecimalValueH\x00\x12\x30\n\tdateValue\x18\x07 \x01(\x0b\x32\x1b.tracdap.metadata.DateValueH\x00\x12\x38\n\rdatetimeValue\x18\x08 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValueH\x00\x12\x32\n\narrayValue\x18\t \x01(\x0b\x32\x1c.tracdap.metadata.ArrayValueH\x00\x12.\n\x08mapValue\x18\n \x01(\x0b\x32\x1a.tracdap.metadata.MapValueH\x00\x42\x07\n\x05value\"4\n\nArrayValue\x12&\n\x05items\x18\x01 \x03(\x0b\x32\x17.tracdap.metadata.Value\"\x8d\x01\n\x08MapValue\x12\x38\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\'.tracdap.metadata.MapValue.EntriesEntry\x1aG\n\x0c\x45ntriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01*\x99\x01\n\tBasicType\x12\x16\n\x12\x42\x41SIC_TYPE_NOT_SET\x10\x00\x12\x0b\n\x07\x42OOLEAN\x10\x01\x12\x0b\n\x07INTEGER\x10\x02\x12\t\n\x05\x46LOAT\x10\x03\x12\n\n\x06STRING\x10\x04\x12\x0b\n\x07\x44\x45\x43IMAL\x10\x05\x12\x08\n\x04\x44\x41TE\x10\x06\x12\x0c\n\x08\x44\x41TETIME\x10\x07\x12\t\n\x05\x41RRAY\x10\x08\x12\x07\n\x03MAP\x10\t\x12\n\n\x06STRUCT\x10\nB\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
18
18
 
19
19
  _globals = globals()
20
20
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -22,26 +22,30 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.rt._impl.grpc.tracd
22
22
  if _descriptor._USE_C_DESCRIPTORS == False:
23
23
  _globals['DESCRIPTOR']._options = None
24
24
  _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
25
+ _globals['_TYPEDESCRIPTOR_STRUCTTYPESENTRY']._options = None
26
+ _globals['_TYPEDESCRIPTOR_STRUCTTYPESENTRY']._serialized_options = b'8\001'
25
27
  _globals['_VALUE'].fields_by_name['integerValue']._options = None
26
28
  _globals['_VALUE'].fields_by_name['integerValue']._serialized_options = b'0\002'
27
29
  _globals['_MAPVALUE_ENTRIESENTRY']._options = None
28
30
  _globals['_MAPVALUE_ENTRIESENTRY']._serialized_options = b'8\001'
29
- _globals['_BASICTYPE']._serialized_start=1006
30
- _globals['_BASICTYPE']._serialized_end=1147
31
+ _globals['_BASICTYPE']._serialized_start=1218
32
+ _globals['_BASICTYPE']._serialized_end=1371
31
33
  _globals['_TYPEDESCRIPTOR']._serialized_start=72
32
- _globals['_TYPEDESCRIPTOR']._serialized_end=276
33
- _globals['_DECIMALVALUE']._serialized_start=278
34
- _globals['_DECIMALVALUE']._serialized_end=309
35
- _globals['_DATEVALUE']._serialized_start=311
36
- _globals['_DATEVALUE']._serialized_end=339
37
- _globals['_DATETIMEVALUE']._serialized_start=341
38
- _globals['_DATETIMEVALUE']._serialized_end=377
39
- _globals['_VALUE']._serialized_start=380
40
- _globals['_VALUE']._serialized_end=805
41
- _globals['_ARRAYVALUE']._serialized_start=807
42
- _globals['_ARRAYVALUE']._serialized_end=859
43
- _globals['_MAPVALUE']._serialized_start=862
44
- _globals['_MAPVALUE']._serialized_end=1003
45
- _globals['_MAPVALUE_ENTRIESENTRY']._serialized_start=932
46
- _globals['_MAPVALUE_ENTRIESENTRY']._serialized_end=1003
34
+ _globals['_TYPEDESCRIPTOR']._serialized_end=488
35
+ _globals['_TYPEDESCRIPTOR_STRUCTTYPESENTRY']._serialized_start=347
36
+ _globals['_TYPEDESCRIPTOR_STRUCTTYPESENTRY']._serialized_end=431
37
+ _globals['_DECIMALVALUE']._serialized_start=490
38
+ _globals['_DECIMALVALUE']._serialized_end=521
39
+ _globals['_DATEVALUE']._serialized_start=523
40
+ _globals['_DATEVALUE']._serialized_end=551
41
+ _globals['_DATETIMEVALUE']._serialized_start=553
42
+ _globals['_DATETIMEVALUE']._serialized_end=589
43
+ _globals['_VALUE']._serialized_start=592
44
+ _globals['_VALUE']._serialized_end=1017
45
+ _globals['_ARRAYVALUE']._serialized_start=1019
46
+ _globals['_ARRAYVALUE']._serialized_end=1071
47
+ _globals['_MAPVALUE']._serialized_start=1074
48
+ _globals['_MAPVALUE']._serialized_end=1215
49
+ _globals['_MAPVALUE_ENTRIESENTRY']._serialized_start=1144
50
+ _globals['_MAPVALUE_ENTRIESENTRY']._serialized_end=1215
47
51
  # @@protoc_insertion_point(module_scope)
@@ -18,6 +18,7 @@ class BasicType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
18
18
  DATETIME: _ClassVar[BasicType]
19
19
  ARRAY: _ClassVar[BasicType]
20
20
  MAP: _ClassVar[BasicType]
21
+ STRUCT: _ClassVar[BasicType]
21
22
  BASIC_TYPE_NOT_SET: BasicType
22
23
  BOOLEAN: BasicType
23
24
  INTEGER: BasicType
@@ -28,16 +29,28 @@ DATE: BasicType
28
29
  DATETIME: BasicType
29
30
  ARRAY: BasicType
30
31
  MAP: BasicType
32
+ STRUCT: BasicType
31
33
 
32
34
  class TypeDescriptor(_message.Message):
33
- __slots__ = ("basicType", "arrayType", "mapType")
35
+ __slots__ = ("basicType", "arrayType", "mapType", "structTypes", "typeName")
36
+ class StructTypesEntry(_message.Message):
37
+ __slots__ = ("key", "value")
38
+ KEY_FIELD_NUMBER: _ClassVar[int]
39
+ VALUE_FIELD_NUMBER: _ClassVar[int]
40
+ key: str
41
+ value: TypeDescriptor
42
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[TypeDescriptor, _Mapping]] = ...) -> None: ...
34
43
  BASICTYPE_FIELD_NUMBER: _ClassVar[int]
35
44
  ARRAYTYPE_FIELD_NUMBER: _ClassVar[int]
36
45
  MAPTYPE_FIELD_NUMBER: _ClassVar[int]
46
+ STRUCTTYPES_FIELD_NUMBER: _ClassVar[int]
47
+ TYPENAME_FIELD_NUMBER: _ClassVar[int]
37
48
  basicType: BasicType
38
49
  arrayType: TypeDescriptor
39
50
  mapType: TypeDescriptor
40
- def __init__(self, basicType: _Optional[_Union[BasicType, str]] = ..., arrayType: _Optional[_Union[TypeDescriptor, _Mapping]] = ..., mapType: _Optional[_Union[TypeDescriptor, _Mapping]] = ...) -> None: ...
51
+ structTypes: _containers.MessageMap[str, TypeDescriptor]
52
+ typeName: str
53
+ def __init__(self, basicType: _Optional[_Union[BasicType, str]] = ..., arrayType: _Optional[_Union[TypeDescriptor, _Mapping]] = ..., mapType: _Optional[_Union[TypeDescriptor, _Mapping]] = ..., structTypes: _Optional[_Mapping[str, TypeDescriptor]] = ..., typeName: _Optional[str] = ...) -> None: ...
41
54
 
42
55
  class DecimalValue(_message.Message):
43
56
  __slots__ = ("decimal",)
@@ -30,6 +30,7 @@ import tracdap.rt.config as _cfg
30
30
  import tracdap.rt.exceptions as _ex
31
31
  import tracdap.rt.ext.plugins as _plugins
32
32
  import tracdap.rt._impl.core.config_parser as _cparse
33
+ import tracdap.rt._impl.core.data as _data
33
34
  import tracdap.rt._impl.core.guard_rails as _guard
34
35
  import tracdap.rt._impl.core.logging as _logging
35
36
  import tracdap.rt._impl.core.models as _models
@@ -62,8 +63,6 @@ class TracRuntime:
62
63
  def __init__(
63
64
  self,
64
65
  sys_config: tp.Union[str, pathlib.Path, _cfg.RuntimeConfig],
65
- job_result_dir: tp.Union[str, pathlib.Path, None] = None,
66
- job_result_format: tp.Optional[str] = None,
67
66
  scratch_dir: tp.Union[str, pathlib.Path, None] = None,
68
67
  scratch_dir_persist: bool = False,
69
68
  plugin_packages: tp.List[str] = None,
@@ -90,8 +89,6 @@ class TracRuntime:
90
89
 
91
90
  self._sys_config = sys_config if isinstance(sys_config, _cfg.RuntimeConfig) else None
92
91
  self._sys_config_path = sys_config if not self._sys_config else None
93
- self._job_result_dir = job_result_dir
94
- self._job_result_format = job_result_format
95
92
  self._scratch_dir = scratch_dir
96
93
  self._scratch_dir_provided = True if scratch_dir is not None else False
97
94
  self._scratch_dir_persist = scratch_dir_persist
@@ -273,7 +270,7 @@ class TracRuntime:
273
270
  self._log.info("TRAC runtime has gone down cleanly")
274
271
 
275
272
  def is_oneshot(self):
276
- return not self._server_enabled
273
+ return True # Always one-shot for now
277
274
 
278
275
  def run_until_done(self):
279
276
 
@@ -355,10 +352,7 @@ class TracRuntime:
355
352
  job_key = _util.object_key(job_config.jobId)
356
353
  self._jobs[job_key] = _RuntimeJobInfo()
357
354
 
358
- self._system.send_main(
359
- "submit_job", job_config,
360
- str(self._job_result_dir) if self._job_result_dir else "",
361
- self._job_result_format if self._job_result_format else "")
355
+ self._system.send_main("submit_job", job_config)
362
356
 
363
357
  def wait_for_job(self, job_id: _api.TagHeader):
364
358
 
@@ -155,30 +155,29 @@ class StaticApiImpl(_StaticApiHook):
155
155
 
156
156
  _val.validate_signature(self.define_struct, python_type)
157
157
 
158
- struct_schema = _struct.StructProcessor.define_struct(python_type)
159
- return _meta.SchemaDefinition(schemaType=_meta.SchemaType.STRUCT, struct=struct_schema)
158
+ return _struct.StructProcessor.define_struct(python_type)
160
159
 
161
160
  def define_schema(
162
161
  self, *fields: _tp.Union[_meta.FieldSchema, _tp.List[_meta.FieldSchema]],
163
- schema_type: _meta.SchemaType = _meta.SchemaType.TABLE, dynamic: bool = False) \
162
+ schema_type: _meta.SchemaType = _meta.SchemaType.TABLE_SCHEMA, dynamic: bool = False) \
164
163
  -> _meta.SchemaDefinition:
165
164
 
166
165
  _val.validate_signature(self.define_schema, *fields, schema_type=schema_type, dynamic=dynamic)
167
166
 
168
- if schema_type == _meta.SchemaType.TABLE:
167
+ if schema_type == _meta.SchemaType.TABLE_SCHEMA:
169
168
 
170
169
  if dynamic and not fields:
171
170
  table_schema = None
172
171
  else:
173
172
  table_schema = self._build_table_schema(*fields)
174
173
 
175
- return _meta.SchemaDefinition(_meta.SchemaType.TABLE, table=table_schema)
174
+ return _meta.SchemaDefinition(_meta.SchemaType.TABLE_SCHEMA, table=table_schema)
176
175
 
177
176
  raise _ex.ERuntimeValidation(f"Invalid schema type [{schema_type.name}]")
178
177
 
179
178
  def load_schema(
180
179
  self, package: _tp.Union[_ts.ModuleType, str], schema_file: str,
181
- schema_type: _meta.SchemaType = _meta.SchemaType.TABLE) \
180
+ schema_type: _meta.SchemaType = _meta.SchemaType.TABLE_SCHEMA) \
182
181
  -> _meta.SchemaDefinition:
183
182
 
184
183
  _val.validate_signature(self.load_schema, package, schema_file, schema_type)
@@ -385,9 +385,9 @@ class CsvStorageFormat(IDataFormat):
385
385
 
386
386
  if python_type == bool:
387
387
  if isinstance(raw_value, str):
388
- if raw_value.lower() in self.__TRUE_VALUES:
388
+ if raw_value.strip().lower()in self.__TRUE_VALUES:
389
389
  return True
390
- if raw_value.lower() in self.__FALSE_VALUES:
390
+ if raw_value.strip().lower() in self.__FALSE_VALUES:
391
391
  return False
392
392
  if isinstance(raw_value, int) or isinstance(raw_value, float):
393
393
  if raw_value == 1: