tracdap-runtime 0.5.29__py3-none-any.whl → 0.6.0__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 (46) hide show
  1. tracdap/rt/_exec/dev_mode.py +2 -1
  2. tracdap/rt/_impl/data.py +1 -28
  3. tracdap/rt/_impl/static_api.py +5 -1
  4. tracdap/rt/_impl/storage.py +586 -10
  5. tracdap/rt/_impl/util.py +24 -3
  6. tracdap/rt/_plugins/_helpers.py +26 -25
  7. tracdap/rt/_plugins/storage_aws.py +162 -76
  8. tracdap/rt/_plugins/storage_azure.py +155 -0
  9. tracdap/rt/_plugins/storage_gcp.py +183 -0
  10. tracdap/rt/_plugins/storage_local.py +249 -98
  11. tracdap/rt/_version.py +1 -1
  12. tracdap/rt/api/static_api.py +2 -1
  13. tracdap/rt/config/__init__.py +8 -13
  14. tracdap/rt/config/common.py +10 -0
  15. tracdap/rt/config/common_pb2.py +38 -31
  16. tracdap/rt/config/job_pb2.py +21 -20
  17. tracdap/rt/config/platform.py +60 -25
  18. tracdap/rt/config/platform_pb2.py +52 -45
  19. tracdap/rt/config/result_pb2.py +15 -14
  20. tracdap/rt/config/runtime.py +0 -1
  21. tracdap/rt/config/runtime_pb2.py +24 -24
  22. tracdap/rt/exceptions.py +9 -0
  23. tracdap/rt/ext/plugins.py +0 -12
  24. tracdap/rt/ext/storage.py +47 -29
  25. tracdap/rt/metadata/__init__.py +19 -19
  26. tracdap/rt/metadata/common_pb2.py +15 -14
  27. tracdap/rt/metadata/custom_pb2.py +9 -8
  28. tracdap/rt/metadata/data_pb2.py +31 -30
  29. tracdap/rt/metadata/file_pb2.py +9 -8
  30. tracdap/rt/metadata/flow_pb2.py +33 -32
  31. tracdap/rt/metadata/job_pb2.py +55 -54
  32. tracdap/rt/metadata/model_pb2.py +31 -30
  33. tracdap/rt/metadata/object_id_pb2.py +13 -12
  34. tracdap/rt/metadata/object_pb2.py +9 -8
  35. tracdap/rt/metadata/search_pb2.py +19 -18
  36. tracdap/rt/metadata/stoarge_pb2.py +31 -30
  37. tracdap/rt/metadata/tag_pb2.py +13 -12
  38. tracdap/rt/metadata/tag_update_pb2.py +11 -10
  39. tracdap/rt/metadata/type_pb2.py +29 -28
  40. {tracdap_runtime-0.5.29.dist-info → tracdap_runtime-0.6.0.dist-info}/METADATA +27 -15
  41. {tracdap_runtime-0.5.29.dist-info → tracdap_runtime-0.6.0.dist-info}/RECORD +44 -44
  42. {tracdap_runtime-0.5.29.dist-info → tracdap_runtime-0.6.0.dist-info}/WHEEL +1 -1
  43. tracdap/rt/config/gateway.py +0 -104
  44. tracdap/rt/config/gateway_pb2.py +0 -45
  45. {tracdap_runtime-0.5.29.dist-info → tracdap_runtime-0.6.0.dist-info}/LICENSE +0 -0
  46. {tracdap_runtime-0.5.29.dist-info → tracdap_runtime-0.6.0.dist-info}/top_level.txt +0 -0
tracdap/rt/exceptions.py CHANGED
@@ -200,6 +200,15 @@ class EStorageConfig(EStorage):
200
200
  pass
201
201
 
202
202
 
203
+ class EStorageValidation(EStorage):
204
+
205
+ """
206
+ Storage request is invalid or not allowed (e.g. illegal chars in storage path or path escapes storage root)
207
+ """
208
+
209
+ pass
210
+
211
+
203
212
  class EStorageCommunication(EStorage):
204
213
 
205
214
  """
tracdap/rt/ext/plugins.py CHANGED
@@ -11,18 +11,6 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- #
15
- # Licensed under the Apache License, Version 2.0 (the "License");
16
- # you may not use this file except in compliance with the License.
17
- # You may obtain a copy of the License at
18
- #
19
- # http://www.apache.org/licenses/LICENSE-2.0
20
- #
21
- # Unless required by applicable law or agreed to in writing, software
22
- # distributed under the License is distributed on an "AS IS" BASIS,
23
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24
- # See the License for the specific language governing permissions and
25
- # limitations under the License.
26
14
 
27
15
  import typing as _tp
28
16
  import logging as _log
tracdap/rt/ext/storage.py CHANGED
@@ -19,6 +19,7 @@ import enum as _enum
19
19
  import typing as _tp
20
20
 
21
21
  import pyarrow as _pa
22
+ import pyarrow.fs as _afs
22
23
 
23
24
 
24
25
  class FileType(_enum.Enum):
@@ -36,75 +37,71 @@ class FileStat:
36
37
  Timestamps are held in UTC
37
38
  """
38
39
 
40
+ file_name: str
39
41
  file_type: FileType
42
+ storage_path: str
40
43
  size: int
41
44
 
42
- ctime: _tp.Optional[_dt.datetime] = None
43
45
  mtime: _tp.Optional[_dt.datetime] = None
44
46
  atime: _tp.Optional[_dt.datetime] = None
45
47
 
46
- uid: _tp.Optional[int] = None
47
- gid: _tp.Optional[int] = None
48
- mode: _tp.Optional[int] = None
49
-
50
48
 
51
49
  class IFileStorage:
52
50
 
53
51
  @_abc.abstractmethod
54
52
  def exists(self, storage_path: str) -> bool:
53
+ """The exists method can be used for both files and directories"""
55
54
  pass
56
55
 
57
56
  @_abc.abstractmethod
58
57
  def size(self, storage_path: str) -> int:
58
+ """The rm method only works on regular files, it cannot be used for directories"""
59
59
  pass
60
60
 
61
61
  @_abc.abstractmethod
62
62
  def stat(self, storage_path: str) -> FileStat:
63
+ """The stat method can be used for both files and directories, so long as they exist"""
63
64
  pass
64
65
 
65
66
  @_abc.abstractmethod
66
- def ls(self, storage_path: str) -> _tp.List[str]:
67
- pass
68
-
69
- @_abc.abstractmethod
70
- def mkdir(self, storage_path: str, recursive: bool = False, exists_ok: bool = False):
67
+ def ls(self, storage_path: str, recursive: bool = False) -> _tp.List[FileStat]:
68
+ """The ls method only works on directories, it cannot be used for regular files"""
71
69
  pass
72
70
 
73
71
  @_abc.abstractmethod
74
- def rm(self, storage_path: str, recursive: bool = False):
75
- pass
76
-
77
- @_abc.abstractmethod
78
- def read_bytes(self, storage_path: str) -> bytes:
72
+ def mkdir(self, storage_path: str, recursive: bool = False):
73
+ """The mkdir method will succeed silently if the directory already exists"""
79
74
  pass
80
75
 
81
76
  @_abc.abstractmethod
82
- def read_byte_stream(self, storage_path: str) -> _tp.BinaryIO:
77
+ def rm(self, storage_path: str):
78
+ """The rm method only works on regular files, it cannot be used for directories and is not recursive"""
83
79
  pass
84
80
 
85
81
  @_abc.abstractmethod
86
- def write_bytes(self, storage_path: str, data: bytes, overwrite: bool = False):
82
+ def rmdir(self, storage_path: str):
83
+ """The rmdir method only works on directories and is always recursive"""
87
84
  pass
88
85
 
89
86
  @_abc.abstractmethod
90
- def write_byte_stream(self, storage_path: str, overwrite: bool = False) -> _tp.BinaryIO:
87
+ def read_byte_stream(self, storage_path: str) -> _tp.ContextManager[_tp.BinaryIO]:
88
+ """The read_byte_stream method only works for existing files"""
91
89
  pass
92
90
 
93
91
  @_abc.abstractmethod
94
- def read_text(self, storage_path: str, encoding: str = 'utf-8') -> str:
92
+ def write_byte_stream(self, storage_path: str) -> _tp.ContextManager[_tp.BinaryIO]:
93
+ """The write_byte_stream method will always overwrite an existing file if it exists"""
95
94
  pass
96
95
 
97
- @_abc.abstractmethod
98
- def read_text_stream(self, storage_path: str, encoding: str = 'utf-8') -> _tp.TextIO:
99
- pass
100
-
101
- @_abc.abstractmethod
102
- def write_text(self, storage_path: str, data: str, encoding: str = 'utf-8', overwrite: bool = False):
103
- pass
96
+ def read_bytes(self, storage_path: str) -> bytes:
97
+ """The read_bytes method only works for existing files"""
98
+ with self.read_byte_stream(storage_path) as stream:
99
+ return stream.read()
104
100
 
105
- @_abc.abstractmethod
106
- def write_text_stream(self, storage_path: str, encoding: str = 'utf-8', overwrite: bool = False) -> _tp.TextIO:
107
- pass
101
+ def write_bytes(self, storage_path: str, data: bytes):
102
+ """The write_bytes method will always overwrite an existing file if it exists"""
103
+ with self.write_byte_stream(storage_path) as stream:
104
+ stream.write(data)
108
105
 
109
106
 
110
107
  class IDataStorage:
@@ -128,6 +125,27 @@ class IDataStorage:
128
125
  pass
129
126
 
130
127
 
128
+ class IStorageProvider(_abc.ABC):
129
+
130
+ def has_arrow_native(self) -> bool:
131
+ pass
132
+
133
+ def has_file_storage(self) -> bool:
134
+ pass
135
+
136
+ def has_data_storage(self) -> bool:
137
+ pass
138
+
139
+ def get_arrow_native(self) -> _afs.SubTreeFileSystem:
140
+ pass
141
+
142
+ def get_file_storage(self) -> IFileStorage:
143
+ pass
144
+
145
+ def get_data_storage(self) -> IDataStorage:
146
+ pass
147
+
148
+
131
149
  class IDataFormat:
132
150
 
133
151
  @_abc.abstractmethod
@@ -17,6 +17,13 @@ from .object_id import ObjectType
17
17
  from .object_id import TagHeader
18
18
  from .object_id import TagSelector
19
19
 
20
+ from .search import SearchOperator
21
+ from .search import LogicalOperator
22
+ from .search import SearchTerm
23
+ from .search import LogicalExpression
24
+ from .search import SearchExpression
25
+ from .search import SearchParameters
26
+
20
27
  from .data import SchemaType
21
28
  from .data import PartType
22
29
  from .data import FieldSchema
@@ -25,21 +32,23 @@ from .data import SchemaDefinition
25
32
  from .data import PartKey
26
33
  from .data import DataDefinition
27
34
 
28
- from .model import ModelParameter
29
- from .model import ModelInputSchema
30
- from .model import ModelOutputSchema
31
- from .model import ModelDefinition
35
+ from .file import FileDefinition
32
36
 
33
- from .search import SearchOperator
34
- from .search import LogicalOperator
35
- from .search import SearchTerm
36
- from .search import LogicalExpression
37
- from .search import SearchExpression
38
- from .search import SearchParameters
37
+ from .stoarge import CopyStatus
38
+ from .stoarge import IncarnationStatus
39
+ from .stoarge import StorageCopy
40
+ from .stoarge import StorageIncarnation
41
+ from .stoarge import StorageItem
42
+ from .stoarge import StorageDefinition
39
43
 
40
44
  from .tag_update import TagOperation
41
45
  from .tag_update import TagUpdate
42
46
 
47
+ from .model import ModelParameter
48
+ from .model import ModelInputSchema
49
+ from .model import ModelOutputSchema
50
+ from .model import ModelDefinition
51
+
43
52
  from .flow import FlowNodeType
44
53
  from .flow import FlowNode
45
54
  from .flow import FlowSocket
@@ -53,17 +62,8 @@ from .job import RunModelJob
53
62
  from .job import RunFlowJob
54
63
  from .job import ImportModelJob
55
64
 
56
- from .file import FileDefinition
57
-
58
65
  from .custom import CustomDefinition
59
66
 
60
- from .stoarge import CopyStatus
61
- from .stoarge import IncarnationStatus
62
- from .stoarge import StorageCopy
63
- from .stoarge import StorageIncarnation
64
- from .stoarge import StorageItem
65
- from .stoarge import StorageDefinition
66
-
67
67
  from .object import ObjectDefinition
68
68
 
69
69
  from .tag import Tag
@@ -1,11 +1,12 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/metadata/common.proto
4
+ # Protobuf Python Version: 4.25.3
4
5
  """Generated protocol buffer code."""
5
- from google.protobuf.internal import builder as _builder
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
8
8
  from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
9
10
  # @@protoc_insertion_point(imports)
10
11
 
11
12
  _sym_db = _symbol_database.Default()
@@ -15,18 +16,18 @@ _sym_db = _symbol_database.Default()
15
16
 
16
17
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dtracdap/metadata/common.proto\x12\x10tracdap.metadata\"5\n\nTenantInfo\x12\x12\n\ntenantCode\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t*L\n\x0eMetadataFormat\x12\x1b\n\x17METADATA_FORMAT_NOT_SET\x10\x00\x12\t\n\x05PROTO\x10\x01\x12\x08\n\x04JSON\x10\x02\x12\x08\n\x04YAML\x10\x03*H\n\x0fMetadataVersion\x12\x1c\n\x18METADATA_VERSION_NOT_SET\x10\x00\x12\x06\n\x02V1\x10\x01\x12\x0b\n\x07\x43URRENT\x10\x01\x1a\x02\x10\x01\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
17
18
 
18
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
19
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.metadata.common_pb2', globals())
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.metadata.common_pb2', _globals)
20
22
  if _descriptor._USE_C_DESCRIPTORS == False:
21
-
22
- DESCRIPTOR._options = None
23
- DESCRIPTOR._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
24
- _METADATAVERSION._options = None
25
- _METADATAVERSION._serialized_options = b'\020\001'
26
- _METADATAFORMAT._serialized_start=106
27
- _METADATAFORMAT._serialized_end=182
28
- _METADATAVERSION._serialized_start=184
29
- _METADATAVERSION._serialized_end=256
30
- _TENANTINFO._serialized_start=51
31
- _TENANTINFO._serialized_end=104
23
+ _globals['DESCRIPTOR']._options = None
24
+ _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
25
+ _globals['_METADATAVERSION']._options = None
26
+ _globals['_METADATAVERSION']._serialized_options = b'\020\001'
27
+ _globals['_METADATAFORMAT']._serialized_start=106
28
+ _globals['_METADATAFORMAT']._serialized_end=182
29
+ _globals['_METADATAVERSION']._serialized_start=184
30
+ _globals['_METADATAVERSION']._serialized_end=256
31
+ _globals['_TENANTINFO']._serialized_start=51
32
+ _globals['_TENANTINFO']._serialized_end=104
32
33
  # @@protoc_insertion_point(module_scope)
@@ -1,11 +1,12 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/metadata/custom.proto
4
+ # Protobuf Python Version: 4.25.3
4
5
  """Generated protocol buffer code."""
5
- from google.protobuf.internal import builder as _builder
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
8
8
  from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
9
10
  # @@protoc_insertion_point(imports)
10
11
 
11
12
  _sym_db = _symbol_database.Default()
@@ -15,12 +16,12 @@ _sym_db = _symbol_database.Default()
15
16
 
16
17
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dtracdap/metadata/custom.proto\x12\x10tracdap.metadata\"]\n\x10\x43ustomDefinition\x12\x18\n\x10\x63ustomSchemaType\x18\x01 \x01(\t\x12\x1b\n\x13\x63ustomSchemaVersion\x18\x02 \x01(\r\x12\x12\n\ncustomData\x18\x03 \x01(\x0c\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
17
18
 
18
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
19
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.metadata.custom_pb2', globals())
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.metadata.custom_pb2', _globals)
20
22
  if _descriptor._USE_C_DESCRIPTORS == False:
21
-
22
- DESCRIPTOR._options = None
23
- DESCRIPTOR._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
24
- _CUSTOMDEFINITION._serialized_start=51
25
- _CUSTOMDEFINITION._serialized_end=144
23
+ _globals['DESCRIPTOR']._options = None
24
+ _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
25
+ _globals['_CUSTOMDEFINITION']._serialized_start=51
26
+ _globals['_CUSTOMDEFINITION']._serialized_end=144
26
27
  # @@protoc_insertion_point(module_scope)
@@ -1,11 +1,12 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/metadata/data.proto
4
+ # Protobuf Python Version: 4.25.3
4
5
  """Generated protocol buffer code."""
5
- from google.protobuf.internal import builder as _builder
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
8
8
  from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
9
10
  # @@protoc_insertion_point(imports)
10
11
 
11
12
  _sym_db = _symbol_database.Default()
@@ -17,34 +18,34 @@ from tracdap.metadata import object_id_pb2 as tracdap_dot_metadata_dot_object__i
17
18
 
18
19
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1btracdap/metadata/data.proto\x12\x10tracdap.metadata\x1a\x1btracdap/metadata/type.proto\x1a tracdap/metadata/object_id.proto\"\xe7\x01\n\x0b\x46ieldSchema\x12\x11\n\tfieldName\x18\x01 \x01(\t\x12\x12\n\nfieldOrder\x18\x02 \x01(\x11\x12.\n\tfieldType\x18\x03 \x01(\x0e\x32\x1b.tracdap.metadata.BasicType\x12\r\n\x05label\x18\x04 \x01(\t\x12\x13\n\x0b\x62usinessKey\x18\x05 \x01(\x08\x12\x13\n\x0b\x63\x61tegorical\x18\x06 \x01(\x08\x12\x14\n\x07notNull\x18\x08 \x01(\x08H\x00\x88\x01\x01\x12\x17\n\nformatCode\x18\x07 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_notNullB\r\n\x0b_formatCode\"<\n\x0bTableSchema\x12-\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1d.tracdap.metadata.FieldSchema\"\xba\x01\n\x10SchemaDefinition\x12\x30\n\nschemaType\x18\x01 \x01(\x0e\x32\x1c.tracdap.metadata.SchemaType\x12,\n\x08partType\x18\x02 \x01(\x0e\x32\x1a.tracdap.metadata.PartType\x12.\n\x05table\x18\x03 \x01(\x0b\x32\x1d.tracdap.metadata.TableSchemaH\x00\x42\x16\n\x14schemaTypeDefinition\"\x81\x02\n\x07PartKey\x12\x11\n\topaqueKey\x18\x01 \x01(\t\x12,\n\x08partType\x18\x02 \x01(\x0e\x32\x1a.tracdap.metadata.PartType\x12+\n\npartValues\x18\x03 \x03(\x0b\x32\x17.tracdap.metadata.Value\x12\x32\n\x0cpartRangeMin\x18\x04 \x01(\x0b\x32\x17.tracdap.metadata.ValueH\x00\x88\x01\x01\x12\x32\n\x0cpartRangeMax\x18\x05 \x01(\x0b\x32\x17.tracdap.metadata.ValueH\x01\x88\x01\x01\x42\x0f\n\r_partRangeMinB\x0f\n\r_partRangeMax\"\xba\x04\n\x0e\x44\x61taDefinition\x12\x31\n\x08schemaId\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelectorH\x00\x12\x34\n\x06schema\x18\x02 \x01(\x0b\x32\".tracdap.metadata.SchemaDefinitionH\x00\x12:\n\x05parts\x18\x03 \x03(\x0b\x32+.tracdap.metadata.DataDefinition.PartsEntry\x12\x30\n\tstorageId\x18\x04 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x1a-\n\x05\x44\x65lta\x12\x12\n\ndeltaIndex\x18\x01 \x01(\r\x12\x10\n\x08\x64\x61taItem\x18\x02 \x01(\t\x1aQ\n\x04Snap\x12\x11\n\tsnapIndex\x18\x01 \x01(\r\x12\x36\n\x06\x64\x65ltas\x18\x02 \x03(\x0b\x32&.tracdap.metadata.DataDefinition.Delta\x1ag\n\x04Part\x12*\n\x07partKey\x18\x01 \x01(\x0b\x32\x19.tracdap.metadata.PartKey\x12\x33\n\x04snap\x18\x02 \x01(\x0b\x32%.tracdap.metadata.DataDefinition.Snap\x1aS\n\nPartsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.tracdap.metadata.DataDefinition.Part:\x02\x38\x01\x42\x11\n\x0fschemaSpecifier*0\n\nSchemaType\x12\x17\n\x13SCHEMA_TYPE_NOT_SET\x10\x00\x12\t\n\x05TABLE\x10\x01*?\n\x08PartType\x12\r\n\tPART_ROOT\x10\x00\x12\x11\n\rPART_BY_RANGE\x10\x01\x12\x11\n\rPART_BY_VALUE\x10\x02\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
19
20
 
20
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
21
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.metadata.data_pb2', globals())
21
+ _globals = globals()
22
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
23
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.metadata.data_pb2', _globals)
22
24
  if _descriptor._USE_C_DESCRIPTORS == False:
23
-
24
- DESCRIPTOR._options = None
25
- DESCRIPTOR._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
26
- _DATADEFINITION_PARTSENTRY._options = None
27
- _DATADEFINITION_PARTSENTRY._serialized_options = b'8\001'
28
- _SCHEMATYPE._serialized_start=1430
29
- _SCHEMATYPE._serialized_end=1478
30
- _PARTTYPE._serialized_start=1480
31
- _PARTTYPE._serialized_end=1543
32
- _FIELDSCHEMA._serialized_start=113
33
- _FIELDSCHEMA._serialized_end=344
34
- _TABLESCHEMA._serialized_start=346
35
- _TABLESCHEMA._serialized_end=406
36
- _SCHEMADEFINITION._serialized_start=409
37
- _SCHEMADEFINITION._serialized_end=595
38
- _PARTKEY._serialized_start=598
39
- _PARTKEY._serialized_end=855
40
- _DATADEFINITION._serialized_start=858
41
- _DATADEFINITION._serialized_end=1428
42
- _DATADEFINITION_DELTA._serialized_start=1091
43
- _DATADEFINITION_DELTA._serialized_end=1136
44
- _DATADEFINITION_SNAP._serialized_start=1138
45
- _DATADEFINITION_SNAP._serialized_end=1219
46
- _DATADEFINITION_PART._serialized_start=1221
47
- _DATADEFINITION_PART._serialized_end=1324
48
- _DATADEFINITION_PARTSENTRY._serialized_start=1326
49
- _DATADEFINITION_PARTSENTRY._serialized_end=1409
25
+ _globals['DESCRIPTOR']._options = None
26
+ _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
27
+ _globals['_DATADEFINITION_PARTSENTRY']._options = None
28
+ _globals['_DATADEFINITION_PARTSENTRY']._serialized_options = b'8\001'
29
+ _globals['_SCHEMATYPE']._serialized_start=1430
30
+ _globals['_SCHEMATYPE']._serialized_end=1478
31
+ _globals['_PARTTYPE']._serialized_start=1480
32
+ _globals['_PARTTYPE']._serialized_end=1543
33
+ _globals['_FIELDSCHEMA']._serialized_start=113
34
+ _globals['_FIELDSCHEMA']._serialized_end=344
35
+ _globals['_TABLESCHEMA']._serialized_start=346
36
+ _globals['_TABLESCHEMA']._serialized_end=406
37
+ _globals['_SCHEMADEFINITION']._serialized_start=409
38
+ _globals['_SCHEMADEFINITION']._serialized_end=595
39
+ _globals['_PARTKEY']._serialized_start=598
40
+ _globals['_PARTKEY']._serialized_end=855
41
+ _globals['_DATADEFINITION']._serialized_start=858
42
+ _globals['_DATADEFINITION']._serialized_end=1428
43
+ _globals['_DATADEFINITION_DELTA']._serialized_start=1091
44
+ _globals['_DATADEFINITION_DELTA']._serialized_end=1136
45
+ _globals['_DATADEFINITION_SNAP']._serialized_start=1138
46
+ _globals['_DATADEFINITION_SNAP']._serialized_end=1219
47
+ _globals['_DATADEFINITION_PART']._serialized_start=1221
48
+ _globals['_DATADEFINITION_PART']._serialized_end=1324
49
+ _globals['_DATADEFINITION_PARTSENTRY']._serialized_start=1326
50
+ _globals['_DATADEFINITION_PARTSENTRY']._serialized_end=1409
50
51
  # @@protoc_insertion_point(module_scope)
@@ -1,11 +1,12 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/metadata/file.proto
4
+ # Protobuf Python Version: 4.25.3
4
5
  """Generated protocol buffer code."""
5
- from google.protobuf.internal import builder as _builder
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
8
8
  from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
9
10
  # @@protoc_insertion_point(imports)
10
11
 
11
12
  _sym_db = _symbol_database.Default()
@@ -16,12 +17,12 @@ from tracdap.metadata import object_id_pb2 as tracdap_dot_metadata_dot_object__i
16
17
 
17
18
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1btracdap/metadata/file.proto\x12\x10tracdap.metadata\x1a tracdap/metadata/object_id.proto\"\x95\x01\n\x0e\x46ileDefinition\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\textension\x18\x02 \x01(\t\x12\x10\n\x08mimeType\x18\x03 \x01(\t\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x30\n\tstorageId\x18\x05 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12\x10\n\x08\x64\x61taItem\x18\x06 \x01(\tB\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
18
19
 
19
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
20
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.metadata.file_pb2', globals())
20
+ _globals = globals()
21
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.metadata.file_pb2', _globals)
21
23
  if _descriptor._USE_C_DESCRIPTORS == False:
22
-
23
- DESCRIPTOR._options = None
24
- DESCRIPTOR._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
25
- _FILEDEFINITION._serialized_start=84
26
- _FILEDEFINITION._serialized_end=233
24
+ _globals['DESCRIPTOR']._options = None
25
+ _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
26
+ _globals['_FILEDEFINITION']._serialized_start=84
27
+ _globals['_FILEDEFINITION']._serialized_end=233
27
28
  # @@protoc_insertion_point(module_scope)
@@ -1,11 +1,12 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: tracdap/metadata/flow.proto
4
+ # Protobuf Python Version: 4.25.3
4
5
  """Generated protocol buffer code."""
5
- from google.protobuf.internal import builder as _builder
6
6
  from google.protobuf import descriptor as _descriptor
7
7
  from google.protobuf import descriptor_pool as _descriptor_pool
8
8
  from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
9
10
  # @@protoc_insertion_point(imports)
10
11
 
11
12
  _sym_db = _symbol_database.Default()
@@ -19,36 +20,36 @@ from tracdap.metadata import tag_update_pb2 as tracdap_dot_metadata_dot_tag__upd
19
20
 
20
21
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1btracdap/metadata/flow.proto\x12\x10tracdap.metadata\x1a\x1btracdap/metadata/type.proto\x1a\x1ctracdap/metadata/model.proto\x1a\x1dtracdap/metadata/search.proto\x1a!tracdap/metadata/tag_update.proto\"\xe1\x01\n\x08\x46lowNode\x12\x30\n\x08nodeType\x18\x01 \x01(\x0e\x32\x1e.tracdap.metadata.FlowNodeType\x12\x0e\n\x06inputs\x18\x02 \x03(\t\x12\x0f\n\x07outputs\x18\x03 \x03(\t\x12\x36\n\nnodeSearch\x18\x04 \x01(\x0b\x32\".tracdap.metadata.SearchExpression\x12.\n\tnodeAttrs\x18\x05 \x03(\x0b\x32\x1b.tracdap.metadata.TagUpdate\x12\r\n\x05label\x18\x06 \x01(\tR\x0bparameters;\"*\n\nFlowSocket\x12\x0c\n\x04node\x18\x01 \x01(\t\x12\x0e\n\x06socket\x18\x02 \x01(\t\"f\n\x08\x46lowEdge\x12,\n\x06source\x18\x01 \x01(\x0b\x32\x1c.tracdap.metadata.FlowSocket\x12,\n\x06target\x18\x02 \x01(\x0b\x32\x1c.tracdap.metadata.FlowSocket\"\x82\x05\n\x0e\x46lowDefinition\x12:\n\x05nodes\x18\x01 \x03(\x0b\x32+.tracdap.metadata.FlowDefinition.NodesEntry\x12)\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x1a.tracdap.metadata.FlowEdge\x12\x44\n\nparameters\x18\x03 \x03(\x0b\x32\x30.tracdap.metadata.FlowDefinition.ParametersEntry\x12<\n\x06inputs\x18\x04 \x03(\x0b\x32,.tracdap.metadata.FlowDefinition.InputsEntry\x12>\n\x07outputs\x18\x05 \x03(\x0b\x32-.tracdap.metadata.FlowDefinition.OutputsEntry\x1aH\n\nNodesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.tracdap.metadata.FlowNode:\x02\x38\x01\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*V\n\x0c\x46lowNodeType\x12\x15\n\x11NODE_TYPE_NOT_SET\x10\x00\x12\x0e\n\nINPUT_NODE\x10\x01\x12\x0f\n\x0bOUTPUT_NODE\x10\x02\x12\x0e\n\nMODEL_NODE\x10\x03\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
21
22
 
22
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
23
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.metadata.flow_pb2', globals())
23
+ _globals = globals()
24
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
25
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.metadata.flow_pb2', _globals)
24
26
  if _descriptor._USE_C_DESCRIPTORS == False:
25
-
26
- DESCRIPTOR._options = None
27
- DESCRIPTOR._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
28
- _FLOWDEFINITION_NODESENTRY._options = None
29
- _FLOWDEFINITION_NODESENTRY._serialized_options = b'8\001'
30
- _FLOWDEFINITION_PARAMETERSENTRY._options = None
31
- _FLOWDEFINITION_PARAMETERSENTRY._serialized_options = b'8\001'
32
- _FLOWDEFINITION_INPUTSENTRY._options = None
33
- _FLOWDEFINITION_INPUTSENTRY._serialized_options = b'8\001'
34
- _FLOWDEFINITION_OUTPUTSENTRY._options = None
35
- _FLOWDEFINITION_OUTPUTSENTRY._serialized_options = b'8\001'
36
- _FLOWNODETYPE._serialized_start=1195
37
- _FLOWNODETYPE._serialized_end=1281
38
- _FLOWNODE._serialized_start=175
39
- _FLOWNODE._serialized_end=400
40
- _FLOWSOCKET._serialized_start=402
41
- _FLOWSOCKET._serialized_end=444
42
- _FLOWEDGE._serialized_start=446
43
- _FLOWEDGE._serialized_end=548
44
- _FLOWDEFINITION._serialized_start=551
45
- _FLOWDEFINITION._serialized_end=1193
46
- _FLOWDEFINITION_NODESENTRY._serialized_start=868
47
- _FLOWDEFINITION_NODESENTRY._serialized_end=940
48
- _FLOWDEFINITION_PARAMETERSENTRY._serialized_start=942
49
- _FLOWDEFINITION_PARAMETERSENTRY._serialized_end=1025
50
- _FLOWDEFINITION_INPUTSENTRY._serialized_start=1027
51
- _FLOWDEFINITION_INPUTSENTRY._serialized_end=1108
52
- _FLOWDEFINITION_OUTPUTSENTRY._serialized_start=1110
53
- _FLOWDEFINITION_OUTPUTSENTRY._serialized_end=1193
27
+ _globals['DESCRIPTOR']._options = None
28
+ _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
29
+ _globals['_FLOWDEFINITION_NODESENTRY']._options = None
30
+ _globals['_FLOWDEFINITION_NODESENTRY']._serialized_options = b'8\001'
31
+ _globals['_FLOWDEFINITION_PARAMETERSENTRY']._options = None
32
+ _globals['_FLOWDEFINITION_PARAMETERSENTRY']._serialized_options = b'8\001'
33
+ _globals['_FLOWDEFINITION_INPUTSENTRY']._options = None
34
+ _globals['_FLOWDEFINITION_INPUTSENTRY']._serialized_options = b'8\001'
35
+ _globals['_FLOWDEFINITION_OUTPUTSENTRY']._options = None
36
+ _globals['_FLOWDEFINITION_OUTPUTSENTRY']._serialized_options = b'8\001'
37
+ _globals['_FLOWNODETYPE']._serialized_start=1195
38
+ _globals['_FLOWNODETYPE']._serialized_end=1281
39
+ _globals['_FLOWNODE']._serialized_start=175
40
+ _globals['_FLOWNODE']._serialized_end=400
41
+ _globals['_FLOWSOCKET']._serialized_start=402
42
+ _globals['_FLOWSOCKET']._serialized_end=444
43
+ _globals['_FLOWEDGE']._serialized_start=446
44
+ _globals['_FLOWEDGE']._serialized_end=548
45
+ _globals['_FLOWDEFINITION']._serialized_start=551
46
+ _globals['_FLOWDEFINITION']._serialized_end=1193
47
+ _globals['_FLOWDEFINITION_NODESENTRY']._serialized_start=868
48
+ _globals['_FLOWDEFINITION_NODESENTRY']._serialized_end=940
49
+ _globals['_FLOWDEFINITION_PARAMETERSENTRY']._serialized_start=942
50
+ _globals['_FLOWDEFINITION_PARAMETERSENTRY']._serialized_end=1025
51
+ _globals['_FLOWDEFINITION_INPUTSENTRY']._serialized_start=1027
52
+ _globals['_FLOWDEFINITION_INPUTSENTRY']._serialized_end=1108
53
+ _globals['_FLOWDEFINITION_OUTPUTSENTRY']._serialized_start=1110
54
+ _globals['_FLOWDEFINITION_OUTPUTSENTRY']._serialized_end=1193
54
55
  # @@protoc_insertion_point(module_scope)