tracdap-runtime 0.8.0b4__py3-none-any.whl → 0.8.0rc2__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 (31) hide show
  1. tracdap/rt/_impl/grpc/codec.py +1 -1
  2. tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.py +40 -0
  3. tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.pyi +62 -0
  4. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +2 -2
  5. tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi +4 -0
  6. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +8 -6
  7. tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi +10 -4
  8. tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py +17 -4
  9. tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi +42 -2
  10. tracdap/rt/_impl/grpc/tracdap/metadata/{stoarge_pb2.py → storage_pb2.py} +3 -3
  11. tracdap/rt/_version.py +1 -1
  12. tracdap/rt/api/__init__.py +1 -23
  13. tracdap/rt/api/constants.py +57 -0
  14. tracdap/rt/api/static_api.py +54 -2
  15. tracdap/rt/config/__init__.py +7 -5
  16. tracdap/rt/config/dynamic.py +28 -0
  17. tracdap/rt/metadata/__init__.py +36 -30
  18. tracdap/rt/metadata/config.py +95 -0
  19. tracdap/rt/metadata/data.py +2 -2
  20. tracdap/rt/metadata/file.py +2 -0
  21. tracdap/rt/metadata/object.py +7 -1
  22. tracdap/rt/metadata/object_id.py +4 -0
  23. tracdap/rt/metadata/resource.py +41 -1
  24. {tracdap_runtime-0.8.0b4.dist-info → tracdap_runtime-0.8.0rc2.dist-info}/METADATA +6 -4
  25. {tracdap_runtime-0.8.0b4.dist-info → tracdap_runtime-0.8.0rc2.dist-info}/RECORD +30 -26
  26. {tracdap_runtime-0.8.0b4.dist-info → tracdap_runtime-0.8.0rc2.dist-info}/WHEEL +1 -1
  27. tracdap/rt/api/file_types.py +0 -29
  28. /tracdap/rt/_impl/grpc/tracdap/metadata/{stoarge_pb2.pyi → storage_pb2.pyi} +0 -0
  29. /tracdap/rt/metadata/{stoarge.py → storage.py} +0 -0
  30. {tracdap_runtime-0.8.0b4.dist-info → tracdap_runtime-0.8.0rc2.dist-info/licenses}/LICENSE +0 -0
  31. {tracdap_runtime-0.8.0b4.dist-info → tracdap_runtime-0.8.0rc2.dist-info}/top_level.txt +0 -0
@@ -24,7 +24,7 @@ import tracdap.rt._impl.grpc.tracdap.metadata.object_id_pb2 as object_id_pb2
24
24
  import tracdap.rt._impl.grpc.tracdap.metadata.object_pb2 as object_pb2
25
25
  from tracdap.rt._impl.grpc.tracdap.metadata import model_pb2
26
26
  import tracdap.rt._impl.grpc.tracdap.metadata.data_pb2 as data_pb2
27
- import tracdap.rt._impl.grpc.tracdap.metadata.stoarge_pb2 as storage_pb2
27
+ import tracdap.rt._impl.grpc.tracdap.metadata.storage_pb2 as storage_pb2
28
28
 
29
29
  from google.protobuf import message as _message
30
30
 
@@ -0,0 +1,40 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: tracdap/rt/_impl/grpc/tracdap/metadata/config.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 type_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_type__pb2
16
+ 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
17
+ from tracdap.rt._impl.grpc.tracdap.metadata import resource_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_resource__pb2
18
+
19
+
20
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3tracdap/rt/_impl/grpc/tracdap/metadata/config.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x36tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x1a\x35tracdap/rt/_impl/grpc/tracdap/metadata/resource.proto\"\xf8\x01\n\x0b\x43onfigEntry\x12\x13\n\x0b\x63onfigClass\x18\x01 \x01(\t\x12\x11\n\tconfigKey\x18\x02 \x01(\t\x12\x15\n\rconfigVersion\x18\x03 \x01(\x05\x12\x38\n\x0f\x63onfigTimestamp\x18\x04 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValue\x12\x16\n\x0eisLatestConfig\x18\x05 \x01(\x08\x12\x15\n\rconfigDeleted\x18\x06 \x01(\x08\x12\x35\n\x07\x64\x65tails\x18\x07 \x01(\x0b\x32\x1f.tracdap.metadata.ConfigDetailsH\x00\x88\x01\x01\x42\n\n\x08_details\"\x8a\x02\n\rConfigDetails\x12\x35\n\x0eobjectSelector\x18\x01 \x01(\x0b\x32\x1d.tracdap.metadata.TagSelector\x12\x30\n\nobjectType\x18\x02 \x01(\x0e\x32\x1c.tracdap.metadata.ObjectType\x12\x35\n\nconfigType\x18\x03 \x01(\x0e\x32\x1c.tracdap.metadata.ConfigTypeH\x00\x88\x01\x01\x12\x39\n\x0cresourceType\x18\x04 \x01(\x0e\x32\x1e.tracdap.metadata.ResourceTypeH\x01\x88\x01\x01\x42\r\n\x0b_configTypeB\x0f\n\r_resourceType\"\xbf\x01\n\x10\x43onfigDefinition\x12\x30\n\nconfigType\x18\x01 \x01(\x0e\x32\x1c.tracdap.metadata.ConfigType\x12\x46\n\nproperties\x18\x02 \x03(\x0b\x32\x32.tracdap.metadata.ConfigDefinition.PropertiesEntry\x1a\x31\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*5\n\nConfigType\x12\x17\n\x13\x43ONFIG_TYPE_NOT_SET\x10\x00\x12\x0e\n\nPROPERTIES\x10\x01\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
21
+
22
+ _globals = globals()
23
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
24
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.rt._impl.grpc.tracdap.metadata.config_pb2', _globals)
25
+ if _descriptor._USE_C_DESCRIPTORS == False:
26
+ _globals['DESCRIPTOR']._options = None
27
+ _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
28
+ _globals['_CONFIGDEFINITION_PROPERTIESENTRY']._options = None
29
+ _globals['_CONFIGDEFINITION_PROPERTIESENTRY']._serialized_options = b'8\001'
30
+ _globals['_CONFIGTYPE']._serialized_start=949
31
+ _globals['_CONFIGTYPE']._serialized_end=1002
32
+ _globals['_CONFIGENTRY']._serialized_start=236
33
+ _globals['_CONFIGENTRY']._serialized_end=484
34
+ _globals['_CONFIGDETAILS']._serialized_start=487
35
+ _globals['_CONFIGDETAILS']._serialized_end=753
36
+ _globals['_CONFIGDEFINITION']._serialized_start=756
37
+ _globals['_CONFIGDEFINITION']._serialized_end=947
38
+ _globals['_CONFIGDEFINITION_PROPERTIESENTRY']._serialized_start=898
39
+ _globals['_CONFIGDEFINITION_PROPERTIESENTRY']._serialized_end=947
40
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,62 @@
1
+ from tracdap.rt._impl.grpc.tracdap.metadata import type_pb2 as _type_pb2
2
+ from tracdap.rt._impl.grpc.tracdap.metadata import object_id_pb2 as _object_id_pb2
3
+ from tracdap.rt._impl.grpc.tracdap.metadata import resource_pb2 as _resource_pb2
4
+ from google.protobuf.internal import containers as _containers
5
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import message as _message
8
+ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
9
+
10
+ DESCRIPTOR: _descriptor.FileDescriptor
11
+
12
+ class ConfigType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
13
+ __slots__ = ()
14
+ CONFIG_TYPE_NOT_SET: _ClassVar[ConfigType]
15
+ PROPERTIES: _ClassVar[ConfigType]
16
+ CONFIG_TYPE_NOT_SET: ConfigType
17
+ PROPERTIES: ConfigType
18
+
19
+ class ConfigEntry(_message.Message):
20
+ __slots__ = ("configClass", "configKey", "configVersion", "configTimestamp", "isLatestConfig", "configDeleted", "details")
21
+ CONFIGCLASS_FIELD_NUMBER: _ClassVar[int]
22
+ CONFIGKEY_FIELD_NUMBER: _ClassVar[int]
23
+ CONFIGVERSION_FIELD_NUMBER: _ClassVar[int]
24
+ CONFIGTIMESTAMP_FIELD_NUMBER: _ClassVar[int]
25
+ ISLATESTCONFIG_FIELD_NUMBER: _ClassVar[int]
26
+ CONFIGDELETED_FIELD_NUMBER: _ClassVar[int]
27
+ DETAILS_FIELD_NUMBER: _ClassVar[int]
28
+ configClass: str
29
+ configKey: str
30
+ configVersion: int
31
+ configTimestamp: _type_pb2.DatetimeValue
32
+ isLatestConfig: bool
33
+ configDeleted: bool
34
+ details: ConfigDetails
35
+ def __init__(self, configClass: _Optional[str] = ..., configKey: _Optional[str] = ..., configVersion: _Optional[int] = ..., configTimestamp: _Optional[_Union[_type_pb2.DatetimeValue, _Mapping]] = ..., isLatestConfig: bool = ..., configDeleted: bool = ..., details: _Optional[_Union[ConfigDetails, _Mapping]] = ...) -> None: ...
36
+
37
+ class ConfigDetails(_message.Message):
38
+ __slots__ = ("objectSelector", "objectType", "configType", "resourceType")
39
+ OBJECTSELECTOR_FIELD_NUMBER: _ClassVar[int]
40
+ OBJECTTYPE_FIELD_NUMBER: _ClassVar[int]
41
+ CONFIGTYPE_FIELD_NUMBER: _ClassVar[int]
42
+ RESOURCETYPE_FIELD_NUMBER: _ClassVar[int]
43
+ objectSelector: _object_id_pb2.TagSelector
44
+ objectType: _object_id_pb2.ObjectType
45
+ configType: ConfigType
46
+ resourceType: _resource_pb2.ResourceType
47
+ def __init__(self, objectSelector: _Optional[_Union[_object_id_pb2.TagSelector, _Mapping]] = ..., objectType: _Optional[_Union[_object_id_pb2.ObjectType, str]] = ..., configType: _Optional[_Union[ConfigType, str]] = ..., resourceType: _Optional[_Union[_resource_pb2.ResourceType, str]] = ...) -> None: ...
48
+
49
+ class ConfigDefinition(_message.Message):
50
+ __slots__ = ("configType", "properties")
51
+ class PropertiesEntry(_message.Message):
52
+ __slots__ = ("key", "value")
53
+ KEY_FIELD_NUMBER: _ClassVar[int]
54
+ VALUE_FIELD_NUMBER: _ClassVar[int]
55
+ key: str
56
+ value: str
57
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
58
+ CONFIGTYPE_FIELD_NUMBER: _ClassVar[int]
59
+ PROPERTIES_FIELD_NUMBER: _ClassVar[int]
60
+ configType: ConfigType
61
+ properties: _containers.ScalarMap[str, str]
62
+ def __init__(self, configType: _Optional[_Union[ConfigType, str]] = ..., properties: _Optional[_Mapping[str, str]] = ...) -> None: ...
@@ -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'\n6tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\"\x98\x02\n\tTagHeader\x12\x30\n\nobjectType\x18\x01 \x01(\x0e\x32\x1c.tracdap.metadata.ObjectType\x12\x10\n\x08objectId\x18\x02 \x01(\t\x12\x15\n\robjectVersion\x18\x03 \x01(\x05\x12\x38\n\x0fobjectTimestamp\x18\x04 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValue\x12\x12\n\ntagVersion\x18\x05 \x01(\x05\x12\x35\n\x0ctagTimestamp\x18\x06 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValue\x12\x16\n\x0eisLatestObject\x18\x07 \x01(\x08\x12\x13\n\x0bisLatestTag\x18\x08 \x01(\x08\"\xb9\x02\n\x0bTagSelector\x12\x30\n\nobjectType\x18\x01 \x01(\x0e\x32\x1c.tracdap.metadata.ObjectType\x12\x10\n\x08objectId\x18\x02 \x01(\t\x12\x16\n\x0clatestObject\x18\x03 \x01(\x08H\x00\x12\x17\n\robjectVersion\x18\x04 \x01(\x05H\x00\x12\x35\n\nobjectAsOf\x18\x05 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValueH\x00\x12\x13\n\tlatestTag\x18\x06 \x01(\x08H\x01\x12\x14\n\ntagVersion\x18\x07 \x01(\x05H\x01\x12\x32\n\x07tagAsOf\x18\x08 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValueH\x01\x42\x10\n\x0eobjectCriteriaB\r\n\x0btagCriteria*\x88\x01\n\nObjectType\x12\x17\n\x13OBJECT_TYPE_NOT_SET\x10\x00\x12\x08\n\x04\x44\x41TA\x10\x01\x12\t\n\x05MODEL\x10\x02\x12\x08\n\x04\x46LOW\x10\x03\x12\x07\n\x03JOB\x10\x04\x12\x08\n\x04\x46ILE\x10\x05\x12\n\n\x06\x43USTOM\x10\x06\x12\x0b\n\x07STORAGE\x10\x07\x12\n\n\x06SCHEMA\x10\x08\x12\n\n\x06RESULT\x10\tB\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x12\x10tracdap.metadata\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\"\x98\x02\n\tTagHeader\x12\x30\n\nobjectType\x18\x01 \x01(\x0e\x32\x1c.tracdap.metadata.ObjectType\x12\x10\n\x08objectId\x18\x02 \x01(\t\x12\x15\n\robjectVersion\x18\x03 \x01(\x05\x12\x38\n\x0fobjectTimestamp\x18\x04 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValue\x12\x12\n\ntagVersion\x18\x05 \x01(\x05\x12\x35\n\x0ctagTimestamp\x18\x06 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValue\x12\x16\n\x0eisLatestObject\x18\x07 \x01(\x08\x12\x13\n\x0bisLatestTag\x18\x08 \x01(\x08\"\xb9\x02\n\x0bTagSelector\x12\x30\n\nobjectType\x18\x01 \x01(\x0e\x32\x1c.tracdap.metadata.ObjectType\x12\x10\n\x08objectId\x18\x02 \x01(\t\x12\x16\n\x0clatestObject\x18\x03 \x01(\x08H\x00\x12\x17\n\robjectVersion\x18\x04 \x01(\x05H\x00\x12\x35\n\nobjectAsOf\x18\x05 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValueH\x00\x12\x13\n\tlatestTag\x18\x06 \x01(\x08H\x01\x12\x14\n\ntagVersion\x18\x07 \x01(\x05H\x01\x12\x32\n\x07tagAsOf\x18\x08 \x01(\x0b\x32\x1f.tracdap.metadata.DatetimeValueH\x01\x42\x10\n\x0eobjectCriteriaB\r\n\x0btagCriteria*\xa2\x01\n\nObjectType\x12\x17\n\x13OBJECT_TYPE_NOT_SET\x10\x00\x12\x08\n\x04\x44\x41TA\x10\x01\x12\t\n\x05MODEL\x10\x02\x12\x08\n\x04\x46LOW\x10\x03\x12\x07\n\x03JOB\x10\x04\x12\x08\n\x04\x46ILE\x10\x05\x12\n\n\x06\x43USTOM\x10\x06\x12\x0b\n\x07STORAGE\x10\x07\x12\n\n\x06SCHEMA\x10\x08\x12\n\n\x06RESULT\x10\t\x12\n\n\x06\x43ONFIG\x10\n\x12\x0c\n\x08RESOURCE\x10\x0b\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
19
19
 
20
20
  _globals = globals()
21
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -24,7 +24,7 @@ if _descriptor._USE_C_DESCRIPTORS == False:
24
24
  _globals['DESCRIPTOR']._options = None
25
25
  _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
26
26
  _globals['_OBJECTTYPE']._serialized_start=727
27
- _globals['_OBJECTTYPE']._serialized_end=863
27
+ _globals['_OBJECTTYPE']._serialized_end=889
28
28
  _globals['_TAGHEADER']._serialized_start=128
29
29
  _globals['_TAGHEADER']._serialized_end=408
30
30
  _globals['_TAGSELECTOR']._serialized_start=411
@@ -18,6 +18,8 @@ class ObjectType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
18
18
  STORAGE: _ClassVar[ObjectType]
19
19
  SCHEMA: _ClassVar[ObjectType]
20
20
  RESULT: _ClassVar[ObjectType]
21
+ CONFIG: _ClassVar[ObjectType]
22
+ RESOURCE: _ClassVar[ObjectType]
21
23
  OBJECT_TYPE_NOT_SET: ObjectType
22
24
  DATA: ObjectType
23
25
  MODEL: ObjectType
@@ -28,6 +30,8 @@ CUSTOM: ObjectType
28
30
  STORAGE: ObjectType
29
31
  SCHEMA: ObjectType
30
32
  RESULT: ObjectType
33
+ CONFIG: ObjectType
34
+ RESOURCE: ObjectType
31
35
 
32
36
  class TagHeader(_message.Message):
33
37
  __slots__ = ("objectType", "objectId", "objectVersion", "objectTimestamp", "tagVersion", "tagTimestamp", "isLatestObject", "isLatestTag")
@@ -20,10 +20,12 @@ from tracdap.rt._impl.grpc.tracdap.metadata import flow_pb2 as tracdap_dot_rt_do
20
20
  from tracdap.rt._impl.grpc.tracdap.metadata import job_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_job__pb2
21
21
  from tracdap.rt._impl.grpc.tracdap.metadata import file_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_file__pb2
22
22
  from tracdap.rt._impl.grpc.tracdap.metadata import custom_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_custom__pb2
23
- from tracdap.rt._impl.grpc.tracdap.metadata import stoarge_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_stoarge__pb2
23
+ from tracdap.rt._impl.grpc.tracdap.metadata import storage_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_storage__pb2
24
+ from tracdap.rt._impl.grpc.tracdap.metadata import config_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_config__pb2
25
+ from tracdap.rt._impl.grpc.tracdap.metadata import resource_pb2 as tracdap_dot_rt_dot___impl_dot_grpc_dot_tracdap_dot_metadata_dot_resource__pb2
24
26
 
25
27
 
26
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3tracdap/rt/_impl/grpc/tracdap/metadata/object.proto\x12\x10tracdap.metadata\x1a\x36tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/data.proto\x1a\x32tracdap/rt/_impl/grpc/tracdap/metadata/model.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/flow.proto\x1a\x30tracdap/rt/_impl/grpc/tracdap/metadata/job.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/file.proto\x1a\x33tracdap/rt/_impl/grpc/tracdap/metadata/custom.proto\x1a\x34tracdap/rt/_impl/grpc/tracdap/metadata/stoarge.proto\"\xbd\x05\n\x10ObjectDefinition\x12\x30\n\nobjectType\x18\x01 \x01(\x0e\x32\x1c.tracdap.metadata.ObjectType\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .tracdap.metadata.DataDefinitionH\x00\x12\x32\n\x05model\x18\x03 \x01(\x0b\x32!.tracdap.metadata.ModelDefinitionH\x00\x12\x30\n\x04\x66low\x18\x04 \x01(\x0b\x32 .tracdap.metadata.FlowDefinitionH\x00\x12.\n\x03job\x18\x05 \x01(\x0b\x32\x1f.tracdap.metadata.JobDefinitionH\x00\x12\x30\n\x04\x66ile\x18\x06 \x01(\x0b\x32 .tracdap.metadata.FileDefinitionH\x00\x12\x34\n\x06\x63ustom\x18\x07 \x01(\x0b\x32\".tracdap.metadata.CustomDefinitionH\x00\x12\x36\n\x07storage\x18\x08 \x01(\x0b\x32#.tracdap.metadata.StorageDefinitionH\x00\x12\x34\n\x06schema\x18\t \x01(\x0b\x32\".tracdap.metadata.SchemaDefinitionH\x00\x12\x34\n\x06result\x18\n \x01(\x0b\x32\".tracdap.metadata.ResultDefinitionH\x00\x12H\n\x0bobjectProps\x18\x64 \x03(\x0b\x32\x33.tracdap.metadata.ObjectDefinition.ObjectPropsEntry\x1aK\n\x10ObjectPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x0c\n\ndefinitionB2\n\x1aorg.finos.tracdap.metadataB\x12ObjectProtoWrapperP\x01\x62\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3tracdap/rt/_impl/grpc/tracdap/metadata/object.proto\x12\x10tracdap.metadata\x1a\x36tracdap/rt/_impl/grpc/tracdap/metadata/object_id.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/type.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/data.proto\x1a\x32tracdap/rt/_impl/grpc/tracdap/metadata/model.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/flow.proto\x1a\x30tracdap/rt/_impl/grpc/tracdap/metadata/job.proto\x1a\x31tracdap/rt/_impl/grpc/tracdap/metadata/file.proto\x1a\x33tracdap/rt/_impl/grpc/tracdap/metadata/custom.proto\x1a\x34tracdap/rt/_impl/grpc/tracdap/metadata/storage.proto\x1a\x33tracdap/rt/_impl/grpc/tracdap/metadata/config.proto\x1a\x35tracdap/rt/_impl/grpc/tracdap/metadata/resource.proto\"\xad\x06\n\x10ObjectDefinition\x12\x30\n\nobjectType\x18\x01 \x01(\x0e\x32\x1c.tracdap.metadata.ObjectType\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .tracdap.metadata.DataDefinitionH\x00\x12\x32\n\x05model\x18\x03 \x01(\x0b\x32!.tracdap.metadata.ModelDefinitionH\x00\x12\x30\n\x04\x66low\x18\x04 \x01(\x0b\x32 .tracdap.metadata.FlowDefinitionH\x00\x12.\n\x03job\x18\x05 \x01(\x0b\x32\x1f.tracdap.metadata.JobDefinitionH\x00\x12\x30\n\x04\x66ile\x18\x06 \x01(\x0b\x32 .tracdap.metadata.FileDefinitionH\x00\x12\x34\n\x06\x63ustom\x18\x07 \x01(\x0b\x32\".tracdap.metadata.CustomDefinitionH\x00\x12\x36\n\x07storage\x18\x08 \x01(\x0b\x32#.tracdap.metadata.StorageDefinitionH\x00\x12\x34\n\x06schema\x18\t \x01(\x0b\x32\".tracdap.metadata.SchemaDefinitionH\x00\x12\x34\n\x06result\x18\n \x01(\x0b\x32\".tracdap.metadata.ResultDefinitionH\x00\x12\x34\n\x06\x63onfig\x18\x0b \x01(\x0b\x32\".tracdap.metadata.ConfigDefinitionH\x00\x12\x38\n\x08resource\x18\x0c \x01(\x0b\x32$.tracdap.metadata.ResourceDefinitionH\x00\x12H\n\x0bobjectProps\x18\x64 \x03(\x0b\x32\x33.tracdap.metadata.ObjectDefinition.ObjectPropsEntry\x1aK\n\x10ObjectPropsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.tracdap.metadata.Value:\x02\x38\x01\x42\x0c\n\ndefinitionB2\n\x1aorg.finos.tracdap.metadataB\x12ObjectProtoWrapperP\x01\x62\x06proto3')
27
29
 
28
30
  _globals = globals()
29
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -33,8 +35,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
33
35
  _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataB\022ObjectProtoWrapperP\001'
34
36
  _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._options = None
35
37
  _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._serialized_options = b'8\001'
36
- _globals['_OBJECTDEFINITION']._serialized_start=543
37
- _globals['_OBJECTDEFINITION']._serialized_end=1244
38
- _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._serialized_start=1155
39
- _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._serialized_end=1230
38
+ _globals['_OBJECTDEFINITION']._serialized_start=651
39
+ _globals['_OBJECTDEFINITION']._serialized_end=1464
40
+ _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._serialized_start=1375
41
+ _globals['_OBJECTDEFINITION_OBJECTPROPSENTRY']._serialized_end=1450
40
42
  # @@protoc_insertion_point(module_scope)
@@ -6,7 +6,9 @@ from tracdap.rt._impl.grpc.tracdap.metadata import flow_pb2 as _flow_pb2
6
6
  from tracdap.rt._impl.grpc.tracdap.metadata import job_pb2 as _job_pb2
7
7
  from tracdap.rt._impl.grpc.tracdap.metadata import file_pb2 as _file_pb2
8
8
  from tracdap.rt._impl.grpc.tracdap.metadata import custom_pb2 as _custom_pb2
9
- from tracdap.rt._impl.grpc.tracdap.metadata import stoarge_pb2 as _stoarge_pb2
9
+ from tracdap.rt._impl.grpc.tracdap.metadata import storage_pb2 as _storage_pb2
10
+ from tracdap.rt._impl.grpc.tracdap.metadata import config_pb2 as _config_pb2
11
+ from tracdap.rt._impl.grpc.tracdap.metadata import resource_pb2 as _resource_pb2
10
12
  from google.protobuf.internal import containers as _containers
11
13
  from google.protobuf import descriptor as _descriptor
12
14
  from google.protobuf import message as _message
@@ -15,7 +17,7 @@ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Opti
15
17
  DESCRIPTOR: _descriptor.FileDescriptor
16
18
 
17
19
  class ObjectDefinition(_message.Message):
18
- __slots__ = ("objectType", "data", "model", "flow", "job", "file", "custom", "storage", "schema", "result", "objectProps")
20
+ __slots__ = ("objectType", "data", "model", "flow", "job", "file", "custom", "storage", "schema", "result", "config", "resource", "objectProps")
19
21
  class ObjectPropsEntry(_message.Message):
20
22
  __slots__ = ("key", "value")
21
23
  KEY_FIELD_NUMBER: _ClassVar[int]
@@ -33,6 +35,8 @@ class ObjectDefinition(_message.Message):
33
35
  STORAGE_FIELD_NUMBER: _ClassVar[int]
34
36
  SCHEMA_FIELD_NUMBER: _ClassVar[int]
35
37
  RESULT_FIELD_NUMBER: _ClassVar[int]
38
+ CONFIG_FIELD_NUMBER: _ClassVar[int]
39
+ RESOURCE_FIELD_NUMBER: _ClassVar[int]
36
40
  OBJECTPROPS_FIELD_NUMBER: _ClassVar[int]
37
41
  objectType: _object_id_pb2.ObjectType
38
42
  data: _data_pb2.DataDefinition
@@ -41,8 +45,10 @@ class ObjectDefinition(_message.Message):
41
45
  job: _job_pb2.JobDefinition
42
46
  file: _file_pb2.FileDefinition
43
47
  custom: _custom_pb2.CustomDefinition
44
- storage: _stoarge_pb2.StorageDefinition
48
+ storage: _storage_pb2.StorageDefinition
45
49
  schema: _data_pb2.SchemaDefinition
46
50
  result: _job_pb2.ResultDefinition
51
+ config: _config_pb2.ConfigDefinition
52
+ resource: _resource_pb2.ResourceDefinition
47
53
  objectProps: _containers.MessageMap[str, _type_pb2.Value]
48
- def __init__(self, objectType: _Optional[_Union[_object_id_pb2.ObjectType, str]] = ..., data: _Optional[_Union[_data_pb2.DataDefinition, _Mapping]] = ..., model: _Optional[_Union[_model_pb2.ModelDefinition, _Mapping]] = ..., flow: _Optional[_Union[_flow_pb2.FlowDefinition, _Mapping]] = ..., job: _Optional[_Union[_job_pb2.JobDefinition, _Mapping]] = ..., file: _Optional[_Union[_file_pb2.FileDefinition, _Mapping]] = ..., custom: _Optional[_Union[_custom_pb2.CustomDefinition, _Mapping]] = ..., storage: _Optional[_Union[_stoarge_pb2.StorageDefinition, _Mapping]] = ..., schema: _Optional[_Union[_data_pb2.SchemaDefinition, _Mapping]] = ..., result: _Optional[_Union[_job_pb2.ResultDefinition, _Mapping]] = ..., objectProps: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
54
+ def __init__(self, objectType: _Optional[_Union[_object_id_pb2.ObjectType, str]] = ..., data: _Optional[_Union[_data_pb2.DataDefinition, _Mapping]] = ..., model: _Optional[_Union[_model_pb2.ModelDefinition, _Mapping]] = ..., flow: _Optional[_Union[_flow_pb2.FlowDefinition, _Mapping]] = ..., job: _Optional[_Union[_job_pb2.JobDefinition, _Mapping]] = ..., file: _Optional[_Union[_file_pb2.FileDefinition, _Mapping]] = ..., custom: _Optional[_Union[_custom_pb2.CustomDefinition, _Mapping]] = ..., storage: _Optional[_Union[_storage_pb2.StorageDefinition, _Mapping]] = ..., schema: _Optional[_Union[_data_pb2.SchemaDefinition, _Mapping]] = ..., result: _Optional[_Union[_job_pb2.ResultDefinition, _Mapping]] = ..., config: _Optional[_Union[_config_pb2.ConfigDefinition, _Mapping]] = ..., resource: _Optional[_Union[_resource_pb2.ResourceDefinition, _Mapping]] = ..., objectProps: _Optional[_Mapping[str, _type_pb2.Value]] = ...) -> None: ...
@@ -13,10 +13,9 @@ _sym_db = _symbol_database.Default()
13
13
 
14
14
 
15
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
16
 
18
17
 
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')
18
+ 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\"\x86\x04\n\x12ResourceDefinition\x12\x34\n\x0cresourceType\x18\x01 \x01(\x0e\x32\x1e.tracdap.metadata.ResourceType\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x18\n\x0bsubProtocol\x18\x03 \x01(\tH\x00\x88\x01\x01\x12T\n\x10publicProperties\x18\x04 \x03(\x0b\x32:.tracdap.metadata.ResourceDefinition.PublicPropertiesEntry\x12H\n\nproperties\x18\x05 \x03(\x0b\x32\x34.tracdap.metadata.ResourceDefinition.PropertiesEntry\x12\x42\n\x07secrets\x18\x06 \x03(\x0b\x32\x31.tracdap.metadata.ResourceDefinition.SecretsEntry\x1a\x37\n\x15PublicPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x31\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a.\n\x0cSecretsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0c_subProtocol*k\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\x12\x14\n\x10\x45XTERNAL_STORAGE\x10\x03\x42\x1e\n\x1aorg.finos.tracdap.metadataP\x01\x62\x06proto3')
20
19
 
21
20
  _globals = globals()
22
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -24,6 +23,20 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.rt._impl.grpc.tracd
24
23
  if _descriptor._USE_C_DESCRIPTORS == False:
25
24
  _globals['DESCRIPTOR']._options = None
26
25
  _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
27
- _globals['_RESOURCETYPE']._serialized_start=184
28
- _globals['_RESOURCETYPE']._serialized_end=293
26
+ _globals['_RESOURCEDEFINITION_PUBLICPROPERTIESENTRY']._options = None
27
+ _globals['_RESOURCEDEFINITION_PUBLICPROPERTIESENTRY']._serialized_options = b'8\001'
28
+ _globals['_RESOURCEDEFINITION_PROPERTIESENTRY']._options = None
29
+ _globals['_RESOURCEDEFINITION_PROPERTIESENTRY']._serialized_options = b'8\001'
30
+ _globals['_RESOURCEDEFINITION_SECRETSENTRY']._options = None
31
+ _globals['_RESOURCEDEFINITION_SECRETSENTRY']._serialized_options = b'8\001'
32
+ _globals['_RESOURCETYPE']._serialized_start=652
33
+ _globals['_RESOURCETYPE']._serialized_end=759
34
+ _globals['_RESOURCEDEFINITION']._serialized_start=132
35
+ _globals['_RESOURCEDEFINITION']._serialized_end=650
36
+ _globals['_RESOURCEDEFINITION_PUBLICPROPERTIESENTRY']._serialized_start=480
37
+ _globals['_RESOURCEDEFINITION_PUBLICPROPERTIESENTRY']._serialized_end=535
38
+ _globals['_RESOURCEDEFINITION_PROPERTIESENTRY']._serialized_start=537
39
+ _globals['_RESOURCEDEFINITION_PROPERTIESENTRY']._serialized_end=586
40
+ _globals['_RESOURCEDEFINITION_SECRETSENTRY']._serialized_start=588
41
+ _globals['_RESOURCEDEFINITION_SECRETSENTRY']._serialized_end=634
29
42
  # @@protoc_insertion_point(module_scope)
@@ -1,8 +1,9 @@
1
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
2
+ from google.protobuf.internal import containers as _containers
3
3
  from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
4
4
  from google.protobuf import descriptor as _descriptor
5
- from typing import ClassVar as _ClassVar
5
+ from google.protobuf import message as _message
6
+ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
6
7
 
7
8
  DESCRIPTOR: _descriptor.FileDescriptor
8
9
 
@@ -11,6 +12,45 @@ class ResourceType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
11
12
  RESOURCE_TYPE_NOT_SET: _ClassVar[ResourceType]
12
13
  MODEL_REPOSITORY: _ClassVar[ResourceType]
13
14
  INTERNAL_STORAGE: _ClassVar[ResourceType]
15
+ EXTERNAL_STORAGE: _ClassVar[ResourceType]
14
16
  RESOURCE_TYPE_NOT_SET: ResourceType
15
17
  MODEL_REPOSITORY: ResourceType
16
18
  INTERNAL_STORAGE: ResourceType
19
+ EXTERNAL_STORAGE: ResourceType
20
+
21
+ class ResourceDefinition(_message.Message):
22
+ __slots__ = ("resourceType", "protocol", "subProtocol", "publicProperties", "properties", "secrets")
23
+ class PublicPropertiesEntry(_message.Message):
24
+ __slots__ = ("key", "value")
25
+ KEY_FIELD_NUMBER: _ClassVar[int]
26
+ VALUE_FIELD_NUMBER: _ClassVar[int]
27
+ key: str
28
+ value: str
29
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
30
+ class PropertiesEntry(_message.Message):
31
+ __slots__ = ("key", "value")
32
+ KEY_FIELD_NUMBER: _ClassVar[int]
33
+ VALUE_FIELD_NUMBER: _ClassVar[int]
34
+ key: str
35
+ value: str
36
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
37
+ class SecretsEntry(_message.Message):
38
+ __slots__ = ("key", "value")
39
+ KEY_FIELD_NUMBER: _ClassVar[int]
40
+ VALUE_FIELD_NUMBER: _ClassVar[int]
41
+ key: str
42
+ value: str
43
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
44
+ RESOURCETYPE_FIELD_NUMBER: _ClassVar[int]
45
+ PROTOCOL_FIELD_NUMBER: _ClassVar[int]
46
+ SUBPROTOCOL_FIELD_NUMBER: _ClassVar[int]
47
+ PUBLICPROPERTIES_FIELD_NUMBER: _ClassVar[int]
48
+ PROPERTIES_FIELD_NUMBER: _ClassVar[int]
49
+ SECRETS_FIELD_NUMBER: _ClassVar[int]
50
+ resourceType: ResourceType
51
+ protocol: str
52
+ subProtocol: str
53
+ publicProperties: _containers.ScalarMap[str, str]
54
+ properties: _containers.ScalarMap[str, str]
55
+ secrets: _containers.ScalarMap[str, str]
56
+ def __init__(self, resourceType: _Optional[_Union[ResourceType, str]] = ..., protocol: _Optional[str] = ..., subProtocol: _Optional[str] = ..., publicProperties: _Optional[_Mapping[str, str]] = ..., properties: _Optional[_Mapping[str, str]] = ..., secrets: _Optional[_Mapping[str, str]] = ...) -> None: ...
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: tracdap/rt/_impl/grpc/tracdap/metadata/stoarge.proto
3
+ # source: tracdap/rt/_impl/grpc/tracdap/metadata/storage.proto
4
4
  # Protobuf Python Version: 4.25.3
5
5
  """Generated protocol buffer code."""
6
6
  from google.protobuf import descriptor as _descriptor
@@ -15,11 +15,11 @@ _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/stoarge.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\"\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')
19
19
 
20
20
  _globals = globals()
21
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.rt._impl.grpc.tracdap.metadata.stoarge_pb2', _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tracdap.rt._impl.grpc.tracdap.metadata.storage_pb2', _globals)
23
23
  if _descriptor._USE_C_DESCRIPTORS == False:
24
24
  _globals['DESCRIPTOR']._options = None
25
25
  _globals['DESCRIPTOR']._serialized_options = b'\n\032org.finos.tracdap.metadataP\001'
tracdap/rt/_version.py CHANGED
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- __version__ = "0.8.0b4"
16
+ __version__ = "0.8.0rc2"
@@ -23,29 +23,7 @@ from tracdap.rt.metadata import * # noqa DOCGEN_REMOVE
23
23
 
24
24
  # static_api overrides some metadata types for backwards compatibility with pre-0.8 versions
25
25
  # Make sure it is last in the list
26
- from .file_types import *
26
+ from .constants import *
27
27
  from .model_api import *
28
28
  from .static_api import *
29
29
 
30
- # Map basic types into the root of the API package
31
-
32
- BOOLEAN = BasicType.BOOLEAN
33
- """Synonym for :py:attr:`BasicType.BOOLEAN <tracdap.rt.metadata.BasicType.BOOLEAN>`"""
34
-
35
- INTEGER = BasicType.INTEGER
36
- """Synonym for :py:attr:`BasicType.INTEGER <tracdap.rt.metadata.BasicType.INTEGER>`"""
37
-
38
- FLOAT = BasicType.FLOAT
39
- """Synonym for :py:attr:`BasicType.FLOAT <tracdap.rt.metadata.BasicType.FLOAT>`"""
40
-
41
- DECIMAL = BasicType.DECIMAL
42
- """Synonym for :py:attr:`BasicType.DECIMAL <tracdap.rt.metadata.BasicType.DECIMAL>`"""
43
-
44
- STRING = BasicType.STRING
45
- """Synonym for :py:attr:`BasicType.STRING <tracdap.rt.metadata.BasicType.STRING>`"""
46
-
47
- DATE = BasicType.DATE
48
- """Synonym for :py:attr:`BasicType.DATE <tracdap.rt.metadata.BasicType.DATE>`"""
49
-
50
- DATETIME = BasicType.DATETIME
51
- """Synonym for :py:attr:`BasicType.DATETIME <tracdap.rt.metadata.BasicType.DATETIME>`"""
@@ -0,0 +1,57 @@
1
+ # Licensed to the Fintech Open Source Foundation (FINOS) under one or
2
+ # more contributor license agreements. See the NOTICE file distributed
3
+ # with this work for additional information regarding copyright ownership.
4
+ # FINOS licenses this file to you under the Apache License, Version 2.0
5
+ # (the "License"); you may not use this file except in compliance with the
6
+ # License. You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ import tracdap.rt.metadata
17
+
18
+
19
+ class CommonFileTypes:
20
+
21
+ """
22
+ A collection of common :py:class:`FileTypes <tracdap.rt.metadata.FileType>` to use as model inputs and outputs
23
+ """
24
+
25
+ TXT = tracdap.rt.metadata.FileType("txt", "text/plain")
26
+
27
+ JPG = tracdap.rt.metadata.FileType("jpg", "image/jpeg")
28
+ PNG = tracdap.rt.metadata.FileType("png", "image/png")
29
+ SVG = tracdap.rt.metadata.FileType("svg", "image/svg+xml")
30
+
31
+ WORD = tracdap.rt.metadata.FileType("docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document")
32
+ EXCEL = tracdap.rt.metadata.FileType("xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
33
+ POWERPOINT = tracdap.rt.metadata.FileType("pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation")
34
+
35
+
36
+ # Map basic types into the root of the API package
37
+
38
+ BOOLEAN = tracdap.rt.metadata.BasicType.BOOLEAN
39
+ """Synonym for :py:attr:`BasicType.BOOLEAN <tracdap.rt.metadata.BasicType.BOOLEAN>`"""
40
+
41
+ INTEGER = tracdap.rt.metadata.BasicType.INTEGER
42
+ """Synonym for :py:attr:`BasicType.INTEGER <tracdap.rt.metadata.BasicType.INTEGER>`"""
43
+
44
+ FLOAT = tracdap.rt.metadata.BasicType.FLOAT
45
+ """Synonym for :py:attr:`BasicType.FLOAT <tracdap.rt.metadata.BasicType.FLOAT>`"""
46
+
47
+ DECIMAL = tracdap.rt.metadata.BasicType.DECIMAL
48
+ """Synonym for :py:attr:`BasicType.DECIMAL <tracdap.rt.metadata.BasicType.DECIMAL>`"""
49
+
50
+ STRING = tracdap.rt.metadata.BasicType.STRING
51
+ """Synonym for :py:attr:`BasicType.STRING <tracdap.rt.metadata.BasicType.STRING>`"""
52
+
53
+ DATE = tracdap.rt.metadata.BasicType.DATE
54
+ """Synonym for :py:attr:`BasicType.DATE <tracdap.rt.metadata.BasicType.DATE>`"""
55
+
56
+ DATETIME = tracdap.rt.metadata.BasicType.DATETIME
57
+ """Synonym for :py:attr:`BasicType.DATETIME <tracdap.rt.metadata.BasicType.DATETIME>`"""
@@ -384,6 +384,14 @@ def load_schema(
384
384
 
385
385
  def define_file_type(extension: str, mime_type: str) -> FileType:
386
386
 
387
+ """
388
+ Define a :py:class:`FileType <tracdap.rt.metadata.FileType>` for use as a model input or output
389
+
390
+ :type extension: str
391
+ :type mime_type: str
392
+ :rtype: :py:class:`FileType <tracdap.rt.metadata.FileType>`
393
+ """
394
+
387
395
  sa = _StaticApiHook.get_instance()
388
396
  return sa.define_file_type(extension, mime_type)
389
397
 
@@ -394,6 +402,17 @@ def define_input(
394
402
  optional: bool = False, dynamic: bool = False,
395
403
  input_props: _tp.Optional[_tp.Dict[str, _tp.Any]] = None):
396
404
 
405
+ """
406
+ Define a model input, which can be any type of dataset or file
407
+
408
+ :type requirement: :py:class:`SchemaDefinition <tracdap.rt.metadata.SchemaDefinition>` | :py:class:`FileType <tracdap.rt.metadata.FileType>`
409
+ :type label: str | None
410
+ :type optional: bool
411
+ :type dynamic: bool
412
+ :type input_props: dict[str, :py:class:`Value <tracdap.rt.metadata.Value>`
413
+ :rtype: :py:class:`ModelInputSchema <tracdap.rt.metadata.ModelInputSchema>`
414
+ """
415
+
397
416
  sa = _StaticApiHook.get_instance()
398
417
  return sa.define_input(requirement, label=label, optional=optional, dynamic=dynamic, input_props=input_props)
399
418
 
@@ -404,6 +423,17 @@ def define_output(
404
423
  optional: bool = False, dynamic: bool = False,
405
424
  output_props: _tp.Optional[_tp.Dict[str, _tp.Any]] = None):
406
425
 
426
+ """
427
+ Define a model output, which can be any type of dataset or file
428
+
429
+ :type requirement: :py:class:`SchemaDefinition <tracdap.rt.metadata.SchemaDefinition>` | :py:class:`FileType <tracdap.rt.metadata.FileType>`
430
+ :type label: str | None
431
+ :type optional: bool
432
+ :type dynamic: bool
433
+ :type output_props: dict[str, :py:class:`Value <tracdap.rt.metadata.Value>`
434
+ :rtype: :py:class:`ModelOutputSchema <tracdap.rt.metadata.ModelOutputSchema>`
435
+ """
436
+
407
437
  sa = _StaticApiHook.get_instance()
408
438
  return sa.define_output(requirement, label=label, optional=optional, dynamic=dynamic, output_props=output_props)
409
439
 
@@ -415,7 +445,7 @@ def define_input_table(
415
445
  -> ModelInputSchema:
416
446
 
417
447
  """
418
- Define a model input with a table schema
448
+ Define a model input for a :py:class:`TableSchema <tracdap.rt.metadata.TableSchema>`
419
449
 
420
450
  Individual fields can be defined using :py:func:`define_field` or the shorthand alias :py:func:`F`.
421
451
  This function takes a number of fields, either as individual arguments or as a list, and uses them
@@ -460,7 +490,7 @@ def define_output_table(
460
490
  -> ModelOutputSchema:
461
491
 
462
492
  """
463
- Define a model output with a table schema
493
+ Define a model output for a :py:class:`TableSchema <tracdap.rt.metadata.TableSchema>`
464
494
 
465
495
  Individual fields can be defined using :py:func:`define_field` or the shorthand alias :py:func:`F`.
466
496
  This function takes a number of fields, either as individual arguments or as a list, and uses them
@@ -502,6 +532,17 @@ def define_input_file(
502
532
  input_props: _tp.Optional[_tp.Dict[str, _tp.Any]] = None) \
503
533
  -> ModelInputSchema:
504
534
 
535
+ """
536
+ Define a model input for a :py:class:`FileType <tracdap.rt.metadata.FileType>`
537
+
538
+ :type extension str
539
+ :type mime_type: sr
540
+ :type label: str | None
541
+ :type optional: bool
542
+ :type input_props: dict[str, Any] | None
543
+ :rtype: :py:class:`ModelInputSchema <tracdap.rt.metadata.ModelInputSchema>`
544
+ """
545
+
505
546
  file_type = define_file_type(extension, mime_type)
506
547
  return define_input(file_type, label=label, optional=optional, input_props=input_props)
507
548
 
@@ -512,6 +553,17 @@ def define_output_file(
512
553
  output_props: _tp.Optional[_tp.Dict[str, _tp.Any]] = None) \
513
554
  -> ModelOutputSchema:
514
555
 
556
+ """
557
+ Define a model output for a :py:class:`FileType <tracdap.rt.metadata.FileType>`
558
+
559
+ :type extension str
560
+ :type mime_type: sr
561
+ :type label: str | None
562
+ :type optional: bool
563
+ :type output_props: dict[str, Any] | None
564
+ :rtype: :py:class:`ModelOutputSchema <tracdap.rt.metadata.ModelOutputSchema>`
565
+ """
566
+
515
567
  file_type = define_file_type(extension, mime_type)
516
568
  return define_output(file_type, label=label, optional=optional, output_props=output_props)
517
569
 
@@ -1,15 +1,17 @@
1
1
  # Code generated by TRAC
2
2
 
3
+ from .job import JobConfig
4
+
3
5
  from .common import _ConfigFile
4
6
  from .common import PluginConfig
5
7
  from .common import PlatformInfo
6
8
  from .common import StorageConfig
7
9
  from .common import ServiceConfig
8
10
 
9
- from .runtime import RuntimeConfig
10
- from .runtime import SparkSettings
11
+ from .dynamic import DynamicConfig
11
12
 
12
- from .job import JobConfig
13
+ from .result import TagUpdateList
14
+ from .result import JobResult
13
15
 
14
16
  from .platform import RoutingProtocol
15
17
  from .platform import DeploymentLayout
@@ -24,5 +26,5 @@ from .platform import RoutingTarget
24
26
  from .platform import DeploymentConfig
25
27
  from .platform import ClientConfig
26
28
 
27
- from .result import TagUpdateList
28
- from .result import JobResult
29
+ from .runtime import RuntimeConfig
30
+ from .runtime import SparkSettings
@@ -0,0 +1,28 @@
1
+ # Code generated by TRAC
2
+
3
+ import typing as _tp # noqa
4
+ import dataclasses as _dc # noqa
5
+ import enum as _enum # noqa
6
+
7
+ import tracdap.rt.metadata as metadata
8
+
9
+
10
+
11
+ @_dc.dataclass
12
+ class DynamicConfig:
13
+
14
+ """
15
+ Represent config that is normally held in the metadata store
16
+
17
+ This can be used to supply config to isolated processes, including
18
+ the runtime when operating in batch mode. It can also be used to
19
+ to supply config for testing or to bootstrap the metadata store.
20
+ """
21
+
22
+ configClass: "str" = ""
23
+
24
+ resourceClass: "str" = ""
25
+
26
+ config: "_tp.Dict[str, metadata.ConfigDefinition]" = _dc.field(default_factory=dict)
27
+
28
+ resources: "_tp.Dict[str, metadata.ResourceDefinition]" = _dc.field(default_factory=dict)
@@ -9,12 +9,41 @@ from .type import Value
9
9
  from .type import ArrayValue
10
10
  from .type import MapValue
11
11
 
12
- from .custom import CustomDefinition
12
+ from .tag_update import TagOperation
13
+ from .tag_update import TagUpdate
13
14
 
14
15
  from .object_id import ObjectType
15
16
  from .object_id import TagHeader
16
17
  from .object_id import TagSelector
17
18
 
19
+ from .job import JobType
20
+ from .job import JobStatusCode
21
+ from .job import JobGroupType
22
+ from .job import JobDefinition
23
+ from .job import ResultDefinition
24
+ from .job import RunModelJob
25
+ from .job import RunFlowJob
26
+ from .job import ImportModelJob
27
+ from .job import ImportDataJob
28
+ from .job import ExportDataJob
29
+ from .job import JobGroup
30
+ from .job import SequentialJobGroup
31
+ from .job import ParallelJobGroup
32
+
33
+ from .common import MetadataFormat
34
+ from .common import MetadataVersion
35
+ from .common import TenantInfo
36
+
37
+ from .resource import ResourceType
38
+ from .resource import ResourceDefinition
39
+
40
+ from .config import ConfigType
41
+ from .config import ConfigEntry
42
+ from .config import ConfigDetails
43
+ from .config import ConfigDefinition
44
+
45
+ from .custom import CustomDefinition
46
+
18
47
  from .data import SchemaType
19
48
  from .data import PartType
20
49
  from .data import FieldSchema
@@ -25,13 +54,6 @@ from .data import SchemaDefinition
25
54
  from .data import PartKey
26
55
  from .data import DataDefinition
27
56
 
28
- from .stoarge import CopyStatus
29
- from .stoarge import IncarnationStatus
30
- from .stoarge import StorageCopy
31
- from .stoarge import StorageIncarnation
32
- from .stoarge import StorageItem
33
- from .stoarge import StorageDefinition
34
-
35
57
  from .file import FileDefinition
36
58
  from .file import FileType
37
59
 
@@ -48,35 +70,19 @@ from .search import LogicalExpression
48
70
  from .search import SearchExpression
49
71
  from .search import SearchParameters
50
72
 
51
- from .tag_update import TagOperation
52
- from .tag_update import TagUpdate
53
-
54
73
  from .flow import FlowNodeType
55
74
  from .flow import FlowNode
56
75
  from .flow import FlowSocket
57
76
  from .flow import FlowEdge
58
77
  from .flow import FlowDefinition
59
78
 
60
- from .job import JobType
61
- from .job import JobStatusCode
62
- from .job import JobGroupType
63
- from .job import JobDefinition
64
- from .job import ResultDefinition
65
- from .job import RunModelJob
66
- from .job import RunFlowJob
67
- from .job import ImportModelJob
68
- from .job import ImportDataJob
69
- from .job import ExportDataJob
70
- from .job import JobGroup
71
- from .job import SequentialJobGroup
72
- from .job import ParallelJobGroup
73
-
74
- from .common import MetadataFormat
75
- from .common import MetadataVersion
76
- from .common import TenantInfo
79
+ from .storage import CopyStatus
80
+ from .storage import IncarnationStatus
81
+ from .storage import StorageCopy
82
+ from .storage import StorageIncarnation
83
+ from .storage import StorageItem
84
+ from .storage import StorageDefinition
77
85
 
78
86
  from .object import ObjectDefinition
79
87
 
80
88
  from .tag import Tag
81
-
82
- from .resource import ResourceType
@@ -0,0 +1,95 @@
1
+ # Code generated by TRAC
2
+
3
+ import typing as _tp # noqa
4
+ import dataclasses as _dc # noqa
5
+ import enum as _enum # noqa
6
+
7
+ from .type import * # noqa
8
+ from .object_id import * # noqa
9
+ from .resource import * # noqa
10
+
11
+
12
+ class ConfigType(_enum.Enum):
13
+
14
+ """Enumeration of available config types"""
15
+
16
+ CONFIG_TYPE_NOT_SET = 0
17
+
18
+ PROPERTIES = 1
19
+
20
+ """A key-value properties map, follows the convention used for .properties files"""
21
+
22
+
23
+ @_dc.dataclass
24
+ class ConfigEntry:
25
+
26
+ """Represents the mapping of a config key to a config object."""
27
+
28
+ configClass: "str" = ""
29
+
30
+ """Config class for this config entry."""
31
+
32
+ configKey: "str" = ""
33
+
34
+ """Config key for this config entry."""
35
+
36
+ configVersion: "int" = 0
37
+
38
+ """Version of the config entry."""
39
+
40
+ configTimestamp: "DatetimeValue" = _dc.field(default_factory=lambda: DatetimeValue())
41
+
42
+ """Timestamp for when this version of the config entry was created."""
43
+
44
+ isLatestConfig: "bool" = False
45
+
46
+ """Flag indicating whether this is the latest version of the config entry."""
47
+
48
+ configDeleted: "bool" = False
49
+
50
+ """Flag indicating whether this config entry has been deleted."""
51
+
52
+ details: "_tp.Optional[ConfigDetails]" = None
53
+
54
+ """Describes the content of this config entry, can be used for list / summary views (optional)."""
55
+
56
+
57
+ @_dc.dataclass
58
+ class ConfigDetails:
59
+
60
+ """
61
+ Summary content of a config entry.
62
+
63
+ .. seealso::
64
+ :py:obj:`ConfigEntry <ConfigEntry>`
65
+ """
66
+
67
+ objectSelector: "TagSelector" = _dc.field(default_factory=lambda: TagSelector())
68
+
69
+ """Selector for the metadata object holding the content of this config entry."""
70
+
71
+ objectType: "ObjectType" = ObjectType.OBJECT_TYPE_NOT_SET
72
+
73
+ """Type of the metadata object referred to by this config entry."""
74
+
75
+ configType: "_tp.Optional[ConfigType]" = None
76
+
77
+ """Indicate the config type (for CONFIG objects only)"""
78
+
79
+ resourceType: "_tp.Optional[ResourceType]" = None
80
+
81
+ """Indicate the resource type (for RESOURCE objects only)"""
82
+
83
+
84
+ @_dc.dataclass
85
+ class ConfigDefinition:
86
+
87
+ """Definition of an individual config entry"""
88
+
89
+ configType: "ConfigType" = ConfigType.CONFIG_TYPE_NOT_SET
90
+
91
+ """The type of this config entry"""
92
+
93
+ properties: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
94
+
95
+ """The map of config properties (only available for PROPERTIES config entries)"""
@@ -87,7 +87,7 @@ class TableSchema:
87
87
  @_dc.dataclass
88
88
  class StructField:
89
89
 
90
- """* Schema for an individual field in a structured object dataset"""
90
+ """Schema for an individual field in a structured object dataset"""
91
91
 
92
92
  fieldType: "TypeDescriptor" = _dc.field(default_factory=lambda: TypeDescriptor())
93
93
 
@@ -111,7 +111,7 @@ class StructField:
111
111
  @_dc.dataclass
112
112
  class StructSchema:
113
113
 
114
- """* Schema for a structured object dataset"""
114
+ """Schema for a structured object dataset"""
115
115
 
116
116
  fields: "_tp.Dict[str, StructField]" = _dc.field(default_factory=dict)
117
117
 
@@ -29,6 +29,8 @@ class FileDefinition:
29
29
  @_dc.dataclass
30
30
  class FileType:
31
31
 
32
+ """Specify a file type that is produced or consumed by a model, flow or job"""
33
+
32
34
  extension: "str" = ""
33
35
 
34
36
  mimeType: "str" = ""
@@ -12,7 +12,9 @@ from .flow import * # noqa
12
12
  from .job import * # noqa
13
13
  from .file import * # noqa
14
14
  from .custom import * # noqa
15
- from .stoarge import * # noqa
15
+ from .storage import * # noqa
16
+ from .config import * # noqa
17
+ from .resource import * # noqa
16
18
 
17
19
 
18
20
 
@@ -72,4 +74,8 @@ class ObjectDefinition:
72
74
 
73
75
  result: "_tp.Optional[ResultDefinition]" = None
74
76
 
77
+ config: "_tp.Optional[ConfigDefinition]" = None
78
+
79
+ resource: "_tp.Optional[ResourceDefinition]" = None
80
+
75
81
  objectProps: "_tp.Dict[str, Value]" = _dc.field(default_factory=dict)
@@ -36,6 +36,10 @@ class ObjectType(_enum.Enum):
36
36
 
37
37
  RESULT = 9
38
38
 
39
+ CONFIG = 10
40
+
41
+ RESOURCE = 11
42
+
39
43
 
40
44
  @_dc.dataclass
41
45
  class TagHeader:
@@ -5,7 +5,6 @@ import dataclasses as _dc # noqa
5
5
  import enum as _enum # noqa
6
6
 
7
7
  from .object_id import * # noqa
8
- from .object import * # noqa
9
8
 
10
9
 
11
10
  class ResourceType(_enum.Enum):
@@ -21,3 +20,44 @@ class ResourceType(_enum.Enum):
21
20
  INTERNAL_STORAGE = 2
22
21
 
23
22
  """Storage location for data held internally by the TRAC platform"""
23
+
24
+ EXTERNAL_STORAGE = 3
25
+
26
+ """Storage location for upstream downstream integration points"""
27
+
28
+
29
+ @_dc.dataclass
30
+ class ResourceDefinition:
31
+
32
+ """Definition of a platform resource"""
33
+
34
+ resourceType: "ResourceType" = ResourceType.RESOURCE_TYPE_NOT_SET
35
+
36
+ """The type of this resource"""
37
+
38
+ protocol: "str" = ""
39
+
40
+ """The protocol used to communicate with this resource (usually corresponds to a TRAC plugin)"""
41
+
42
+ subProtocol: "_tp.Optional[str]" = None
43
+
44
+ """Optional sub-protocol, to further distinguish the behavior of resources within a protocol"""
45
+
46
+ publicProperties: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
47
+
48
+ """Configuration properties for this resource, made visible to client applications"""
49
+
50
+ properties: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
51
+
52
+ """Configuration properties for this resource, not visible to client applications"""
53
+
54
+ secrets: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
55
+
56
+ """
57
+ Configuration properties that are stored as secrets using TRAC's secret handling mechanism
58
+
59
+ Only the secret alias is stored in metadata, handling of secret storage is delegated to the
60
+ configured secrets plugin. Secret values may be sent by clients when resource definitions are
61
+ created / updated, in which case they will be written to the configured secret store and
62
+ metadata values will be replaced with an alias.
63
+ """
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: tracdap-runtime
3
- Version: 0.8.0b4
3
+ Version: 0.8.0rc2
4
4
  Summary: Runtime package for building models on the TRAC Data & Analytics Platform
5
5
  Home-page: https://tracdap.finos.org/
6
6
  Author: Martin Traverse
@@ -46,6 +46,7 @@ Requires-Dist: azure-core==1.30.1; extra == "azure"
46
46
  Requires-Dist: azure-identity==1.16.1; extra == "azure"
47
47
  Requires-Dist: azure-storage-blob==12.19.1; extra == "azure"
48
48
  Requires-Dist: adlfs==2024.4.1; extra == "azure"
49
+ Dynamic: license-file
49
50
 
50
51
  # TRAC Model Runtime for Python
51
52
 
@@ -66,8 +67,9 @@ Documentation for the TRAC platform is available on our website at
66
67
  The TRAC runtime for Python has these requirements:
67
68
 
68
69
  * Python: 3.9 up to 3.13
69
- * Pandas: 1.2 up to 2.2
70
- * PySpark 3.0 up to 3.5 (optional)
70
+ * Pandas: 1.2 up to 2.2 (optional)
71
+ * NumPy: 1.2 up to 2.2 (optional, required by Pandas)
72
+ * Polars: 1.X (optional)
71
73
 
72
74
  3rd party libraries may impose additional constraints on supported versions of key libraries.
73
75
  For example, Pandas 1.5 is not available for Python 3.12 or 3.13, while NumPy 2.0 is only
@@ -1,5 +1,5 @@
1
1
  tracdap/rt/__init__.py,sha256=4aCSENdKNrf9nC1lUULwmHpI1D3K74_4CJzpG_OjA4Q,830
2
- tracdap/rt/_version.py,sha256=_roHKrPP9_ydWZxKJle4XXi0Wb6Ky3E0pFlWcTeY8QM,820
2
+ tracdap/rt/_version.py,sha256=s4iT81zxrTXHmJQ7QoZhAm7Y0Y62L1l7LbI0D7juCkY,821
3
3
  tracdap/rt/exceptions.py,sha256=PsB4fExDI-bliqJZD-ESrr9MeLPDW7R5VN_JcWg7TqU,8175
4
4
  tracdap/rt/_impl/__init__.py,sha256=nFn00zysNlcEFHQJWs4l6vLm9RS5zsJ_IF9-eRwEXlo,796
5
5
  tracdap/rt/_impl/runtime.py,sha256=FX5dqV-KfyvLfQvksv0RTle8N6kd_6-oaIJqSu32S6w,16955
@@ -30,13 +30,15 @@ tracdap/rt/_impl/ext/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhwe
30
30
  tracdap/rt/_impl/ext/sql.py,sha256=wDlSixuDWErDlDSXo55Ti5gpHXJ5oe75Lsb4ttlrUL0,2938
31
31
  tracdap/rt/_impl/ext/storage.py,sha256=HvMHAT5pE6XhUaUfyeZ7ej8JNz2jYsu0UQAEh0Iqnsw,1763
32
32
  tracdap/rt/_impl/grpc/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
33
- tracdap/rt/_impl/grpc/codec.py,sha256=2Uo-j-tbAyD47eCCSpkq6cPN2P80xu-q5v5l_lwMxIU,3970
33
+ tracdap/rt/_impl/grpc/codec.py,sha256=wIOck8a82yy6k8RF6OkwY-rsWe08Hf-6KzuwZPABHhw,3970
34
34
  tracdap/rt/_impl/grpc/server.py,sha256=Q18O5yRAT-Jqr9wDXuUraOYhpEH-rfnFk9tvvb-o3Os,12635
35
35
  tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py,sha256=5KCfcaSZ9ydp26z78-iuM2jCmFRmqgDqMuxAg7Xgcx0,5174
36
36
  tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi,sha256=78VhnLgm_m6HSgQT0bg7j86O9g8GNMADkm3SotQ39lg,3227
37
37
  tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2_grpc.py,sha256=dQod-kQYoAJwpIPHgGRiZBx4q_419JppjqELv7cUJrE,8461
38
38
  tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py,sha256=oql1naNGBKxpPIQZViewQSzUmMpt9U8gB-qSJpxkBwo,1945
39
39
  tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.pyi,sha256=R7fTC8HV0j8zB2E2KVtLWXSAeu5MVLrgeL-PnnOsUxg,1275
40
+ tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.py,sha256=BgH_mah2IqajxdfL-MavhWg0G9fgSkw0MCRxWjGoU3A,3718
41
+ tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.pyi,sha256=mmQ67x6fEi-JWg5xfx8joAvbQCx1iSfSM6taqc1eZLY,3311
40
42
  tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py,sha256=DfHhxxvKU_htkLjUdvsVfxl8Gj8z5GenAuhCSuMT6Ps,1421
41
43
  tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.pyi,sha256=_GubsAG9rpuV_QhhXKTDOPeWIpkAkg5jlHkSZxaILak,702
42
44
  tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py,sha256=dLU42LwRw6m8Fcp3Q-f4Hb2a6-7ryUN6SB01zqy_iNA,7060
@@ -49,16 +51,16 @@ tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py,sha256=OiVZ_EChreM8t6DPKgXAuNB
49
51
  tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi,sha256=PjRbckOQkJuY7y5XUCAPuO-oLFOghEuj659c3wGSaj4,19293
50
52
  tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py,sha256=q1VdvKCEslwCxqK6cEb4ABUh32j_veYaVg9WLLdSh2s,7803
51
53
  tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi,sha256=rBgvG_L521BbuzMpns3lKr5hOZmVwoHGW1bP2_EI4G0,7826
52
- tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py,sha256=4tRcud1WhYkYhEYGg0qZF7ED3QRDwP8Vg8kAh6FYZuw,2961
53
- tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi,sha256=8vSR8UbjxPpvtvLLshLGBnpaU1BKUw7D1i6ZilnpZCk,3291
54
- tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py,sha256=lKi2Xjz7V18d4Xzc6cTLcR7hbigkS-3CCkCAO_xHT-U,4459
55
- tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi,sha256=Q3yJ7cYeSUF_GH3jZzBItZJZ-y-jUfGKz2Cz0E15gAE,3168
56
- tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py,sha256=cXIkqZRCHG2teGgvExqztCl5xtvitz4JO7PWT8IleFE,1843
57
- tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi,sha256=JAlgacWw94Yq3nnrrSEvtBfWw4kXlctZrj_V8TU4Tck,704
54
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py,sha256=oqv2coaPVAdBFJbKjjZsSMg3ZeCcqHEceZxtU8Ls-sc,3021
55
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi,sha256=vGsKsxSjwhedaE-5I_sMi-pquyGHTmjfedmEjqSCV_A,3401
56
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py,sha256=GIRdZ5aUZRBiOmY_D44kHbA90c8-g1bxxgbSElePdWk,5037
57
+ tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi,sha256=ckprYPqWBl7HLYazSqfNkvkgusKOS45AbkGOZrECGjk,3670
58
+ tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py,sha256=SoF0kxU4AVD8I5oUKnuZC1_ETHUN2m1CmAKe24amwCc,3493
59
+ tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi,sha256=pCPvu0E7Z-4v4wJNGZo4DC2hoDA5bosxibjfzy5A3pk,2719
58
60
  tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py,sha256=YsUl-xK3jOQ6mOMCPe8G3-BWOFFz-MpUOXDWMV90DrQ,3654
59
61
  tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.pyi,sha256=PU-OYKRufI3v5Zx8RI4RvEZq3KPh91AOb8sDNwxyySY,3762
60
- tracdap/rt/_impl/grpc/tracdap/metadata/stoarge_pb2.py,sha256=Zyi6y4vOSN8-VI00cq0gC2xv7YQcFrpMEC2phQxk32k,4652
61
- tracdap/rt/_impl/grpc/tracdap/metadata/stoarge_pb2.pyi,sha256=ImU8YT62pfiAMDYwTtX5E6nyI_n1PuhUWabFJlRFvnE,4746
62
+ tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.py,sha256=09l_I0KjEL3vtytvVSIK0-XKrLDIvPmb3zzNgekTyL8,4652
63
+ tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.pyi,sha256=ImU8YT62pfiAMDYwTtX5E6nyI_n1PuhUWabFJlRFvnE,4746
62
64
  tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py,sha256=bQ6gA21bizykXQZPzC8AhaN5IgUYddzVEp7KSzz6KNM,2441
63
65
  tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.pyi,sha256=6gP3-Rdiq84ng5d6DtVNEWZj5syt1xyD33jRWg3YcgU,1454
64
66
  tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py,sha256=HwJtcqjYwbYZw5LpZIaMux1qusVfEitl0wX-J8NMprI,2090
@@ -80,14 +82,15 @@ tracdap/rt/_plugins/storage_gcp.py,sha256=D0ReW2ZZ6IDqRdF-lowL43ceaupmf4tJGo7jvW
80
82
  tracdap/rt/_plugins/storage_local.py,sha256=KY1CsT0GzjYWo5YYetTnQDWu18RhVrmEGBrEUSQHPKU,15742
81
83
  tracdap/rt/_plugins/storage_sql.py,sha256=QoSDLpxzeAQP-jb3IW9E6cLVXGq9wnVEPAk0JY6Jz1w,16080
82
84
  tracdap/rt/_plugins/storage_sql_dialects.py,sha256=4HWx5Gm50TRf5BTmc3hMREJIFsFgqo4g7wkVEVZzPz0,3550
83
- tracdap/rt/api/__init__.py,sha256=QqbrCINnOe0fP8E1496pCjUHKS2ysTRzis3n6CWCLeI,2105
85
+ tracdap/rt/api/__init__.py,sha256=hwKCBx_PEI5QgCpFO_0MhoaoPb_i35ds0n7fb60EY_8,1261
86
+ tracdap/rt/api/constants.py,sha256=BSf9Fj9-hASaE9zfSmWmHmL0u-d1SgNetYJfdI0CueA,2583
84
87
  tracdap/rt/api/experimental.py,sha256=ycD7xpMyXBI6W2UCirCbYtQ0rVVCNByAsA0p3euXmo8,9100
85
- tracdap/rt/api/file_types.py,sha256=9d8zBI74ALADYKHevGkSnqJlng2Zd4Y7dto4iregnnE,1349
86
88
  tracdap/rt/api/hook.py,sha256=0TA_pu-22IoVNacf38dq3Aaz4sHoau1IdhabfxgKtOE,5243
87
89
  tracdap/rt/api/model_api.py,sha256=ONDU0ocNnejGi2r9nCKTlblqw847Yz4vtGo4M8inc9Q,22435
88
- tracdap/rt/api/static_api.py,sha256=XfmWy1dFP3xS7Z4kTtSl8dtAscMF25vfQbHHtpFpvpw,29938
89
- tracdap/rt/config/__init__.py,sha256=evT6_wwpLS6JOMWUneXenjFJNlZ8DmVyYJOIjAJlvbw,796
90
+ tracdap/rt/api/static_api.py,sha256=vSt6JUhxuOKQ5wI3CdmHgf8BskHffjry1lId2buDEeA,31852
91
+ tracdap/rt/config/__init__.py,sha256=DHLUDzk5HhpZVgEA6kGKNhNwHxQKPXkhl9AE_lewP8o,832
90
92
  tracdap/rt/config/common.py,sha256=uKdwvfAKUzi8Wag4NpIYIZyL3D-Ed-KN1sqYuOpOROw,1187
93
+ tracdap/rt/config/dynamic.py,sha256=3PaL3IVDxb1_PSxdp820U4uEmLlKBLBBIwCHyVQZ1l4,738
91
94
  tracdap/rt/config/job.py,sha256=B-aVIq0vJUY41-vPuIOLIq4A2hdfL9EJN0X9--nGfcI,656
92
95
  tracdap/rt/config/platform.py,sha256=aU7sVInAcf7NxPk6KufaHqDbM_NZRQ9qOb3w4rDT4qI,3005
93
96
  tracdap/rt/config/result.py,sha256=cKFz9ql_6Ru6qj7UP_VJZ2HJORf52dmi1dnK7eBxD-g,612
@@ -102,24 +105,25 @@ tracdap/rt/launch/__init__.py,sha256=SPIwj5Bwa-IlhrfY1OJspYnL_mPLvz4F9XTAYKeu6IE
102
105
  tracdap/rt/launch/__main__.py,sha256=tfr5wL1gHm0oj4tcX6pv6bl-3Z1K7VMpmmNMQzfMFzU,841
103
106
  tracdap/rt/launch/cli.py,sha256=jGySYBawTDFJrhHgwYnplXb9VPcgfrBVB2UURqx5s-s,2638
104
107
  tracdap/rt/launch/launch.py,sha256=BogIdacUhIvr_Ay-LU2eik8Y1DvGr-GrOiOi40XqZ1A,7806
105
- tracdap/rt/metadata/__init__.py,sha256=rqOLFTMY4_Jw4H8aGfI-2CNA-v28eoKLCPr-GwS1FjA,2154
108
+ tracdap/rt/metadata/__init__.py,sha256=fzIophkBh7v8G4JqLnFOn81HLoyGwUtLVZbbio2lSP4,2330
106
109
  tracdap/rt/metadata/common.py,sha256=J24poYPHSJfORPqqhyJGTAmepdhVaT0V0RblWiW9jCI,1404
110
+ tracdap/rt/metadata/config.py,sha256=jOG78zCw6RPW0Parawbygw_KKx0FjTdPiGZ9MdQrd28,2360
107
111
  tracdap/rt/metadata/custom.py,sha256=GhCO8xjjsjZzlfSefqmCFX80rXJnxDCDq_STWi0ZL_0,352
108
- tracdap/rt/metadata/data.py,sha256=C8rkWVw9lO62Y-LsGebKORseTIaTN-hRNvZjFY2AgIw,4428
109
- tracdap/rt/metadata/file.py,sha256=yZenBUoeBATCq1CsIqpC-98HL6MiQdxKBJLR9ukRF7w,544
112
+ tracdap/rt/metadata/data.py,sha256=uYUyV7VmtGZ4s8hv4JMN6sXix2USu6TmOqq0POlEX7U,4424
113
+ tracdap/rt/metadata/file.py,sha256=d4VLinEXiXZamLtPbZSqZQamQbxR8dsU1m680vDaxoY,628
110
114
  tracdap/rt/metadata/flow.py,sha256=IgZTh62xndAAFG1Y44JORrVKOV7Bd4dEqtWjf1CGeHU,3491
111
115
  tracdap/rt/metadata/job.py,sha256=r8IBe-IumI_An1jrg-h8mM2bZPEew8evpXp5GkfEfNo,6390
112
116
  tracdap/rt/metadata/model.py,sha256=bLeAhFtKa9zOAjf5hd1PnJoEZdHqyl0Drskn464dmqA,3761
113
- tracdap/rt/metadata/object.py,sha256=Uhc8VI2pAUTEC7AnRSK3uIk36vVgmo19oKLWb6kbOLI,2849
114
- tracdap/rt/metadata/object_id.py,sha256=iZ3Xx5z6nwIagg8Mziuo5ea6Tz1UWk9U5ZTqCgIaYq0,4399
115
- tracdap/rt/metadata/resource.py,sha256=V6xMOadgzemGvxH7yyhBigRCpg24ZxQPV3WNBvwRcGI,526
117
+ tracdap/rt/metadata/object.py,sha256=6Nw09UewFQ-BzqmGywYTK_GZHf3bw2hNHPpud_4Pu-o,3021
118
+ tracdap/rt/metadata/object_id.py,sha256=BorEJWcNCayItRBLODdpJ0Xo2GfCWgQ4dWE28Rl4n1Q,4435
119
+ tracdap/rt/metadata/resource.py,sha256=GgYiD-6hsDw01fZEjwQ55SgCxGJxIeVW4Crm1jQpiWc,1920
116
120
  tracdap/rt/metadata/search.py,sha256=BaH0mL80QEQ6iDmef1bIqEBIlm70orkc18DQv3pya6Y,9931
117
- tracdap/rt/metadata/stoarge.py,sha256=-WYc3aJskSCF_ETFQDavG3fTck__WPGMOfzWEBv55p4,3153
121
+ tracdap/rt/metadata/storage.py,sha256=-WYc3aJskSCF_ETFQDavG3fTck__WPGMOfzWEBv55p4,3153
118
122
  tracdap/rt/metadata/tag.py,sha256=cjKF5gdNECHDtA9sc09Dc2Q4WNZQA_7iJsUEHSKFXiQ,5097
119
123
  tracdap/rt/metadata/tag_update.py,sha256=I7iDJiHEcSQ2vhOlhIc0fzeOoqTg6N1LJZU1R6tG_8g,3779
120
124
  tracdap/rt/metadata/type.py,sha256=7XOGlLVvxd6DEmKRBYTANBsu9lmxDOsMKE0aNvzsB3M,9568
121
- tracdap_runtime-0.8.0b4.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
122
- tracdap_runtime-0.8.0b4.dist-info/METADATA,sha256=Kw3jbpvFPWC6zJRJ6Q9d6rJl2so3iPrz5qa1i6GgIZU,5126
123
- tracdap_runtime-0.8.0b4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
124
- tracdap_runtime-0.8.0b4.dist-info/top_level.txt,sha256=Uv0JfaE1Lp4JnCzqW8lqXNJAEcsAFpAUGOghJolVNdM,8
125
- tracdap_runtime-0.8.0b4.dist-info/RECORD,,
125
+ tracdap_runtime-0.8.0rc2.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
126
+ tracdap_runtime-0.8.0rc2.dist-info/METADATA,sha256=ErUOnikAMjVByItf_AxK6D5obpmAutEGTffIE-j2UaU,5204
127
+ tracdap_runtime-0.8.0rc2.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
128
+ tracdap_runtime-0.8.0rc2.dist-info/top_level.txt,sha256=Uv0JfaE1Lp4JnCzqW8lqXNJAEcsAFpAUGOghJolVNdM,8
129
+ tracdap_runtime-0.8.0rc2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (77.0.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,29 +0,0 @@
1
- # Licensed to the Fintech Open Source Foundation (FINOS) under one or
2
- # more contributor license agreements. See the NOTICE file distributed
3
- # with this work for additional information regarding copyright ownership.
4
- # FINOS licenses this file to you under the Apache License, Version 2.0
5
- # (the "License"); you may not use this file except in compliance with the
6
- # License. You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
- from tracdap.rt.metadata import * # DOCGEN_REMOVE
17
-
18
-
19
- class CommonFileTypes:
20
-
21
- TXT = FileType("txt", "text/plain")
22
-
23
- JPG = FileType("jpg", "image/jpeg")
24
- PNG = FileType("png", "image/png")
25
- SVG = FileType("svg", "image/svg+xml")
26
-
27
- WORD = FileType("docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document")
28
- EXCEL = FileType("xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
29
- POWERPOINT = FileType("pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation")
File without changes