tracdap-runtime 0.8.0rc2__tar.gz → 0.9.0b2__tar.gz

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 (143) hide show
  1. {tracdap_runtime-0.8.0rc2/tracdap_runtime.egg-info → tracdap_runtime-0.9.0b2}/PKG-INFO +5 -3
  2. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/setup.cfg +5 -3
  3. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/config_parser.py +29 -3
  4. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/data.py +627 -40
  5. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/repos.py +17 -8
  6. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/storage.py +25 -13
  7. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/struct.py +254 -60
  8. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/util.py +125 -11
  9. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/exec/context.py +35 -8
  10. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/exec/dev_mode.py +169 -127
  11. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/exec/engine.py +203 -140
  12. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/exec/functions.py +228 -263
  13. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/exec/graph.py +141 -126
  14. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/exec/graph_builder.py +428 -449
  15. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/codec.py +8 -13
  16. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/server.py +7 -7
  17. tracdap_runtime-0.9.0b2/src/tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py +58 -0
  18. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi +27 -9
  19. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py +1 -1
  20. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.py +1 -1
  21. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py +1 -1
  22. tracdap_runtime-0.9.0b2/src/tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py +65 -0
  23. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi +37 -43
  24. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py +1 -1
  25. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py +1 -1
  26. tracdap_runtime-0.9.0b2/src/tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +134 -0
  27. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +11 -2
  28. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +1 -1
  29. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +1 -1
  30. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +1 -1
  31. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py +1 -1
  32. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py +1 -1
  33. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.py +11 -9
  34. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.pyi +11 -2
  35. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py +1 -1
  36. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py +1 -1
  37. tracdap_runtime-0.9.0b2/src/tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py +51 -0
  38. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.pyi +15 -2
  39. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/runtime.py +3 -9
  40. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/static_api.py +5 -6
  41. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/format_csv.py +2 -2
  42. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/repo_git.py +56 -11
  43. tracdap_runtime-0.9.0b2/src/tracdap/rt/_plugins/storage_aws.py +399 -0
  44. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/storage_azure.py +17 -11
  45. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/storage_gcp.py +35 -18
  46. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_version.py +1 -1
  47. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/api/model_api.py +45 -0
  48. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/config/__init__.py +7 -9
  49. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/config/common.py +3 -14
  50. tracdap_runtime-0.9.0b2/src/tracdap/rt/config/job.py +36 -0
  51. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/config/platform.py +9 -32
  52. tracdap_runtime-0.9.0b2/src/tracdap/rt/config/result.py +30 -0
  53. tracdap_runtime-0.9.0b2/src/tracdap/rt/config/runtime.py +23 -0
  54. tracdap_runtime-0.9.0b2/src/tracdap/rt/config/tenant.py +28 -0
  55. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/launch/cli.py +0 -8
  56. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/launch/launch.py +1 -3
  57. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/__init__.py +35 -35
  58. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/data.py +19 -31
  59. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/job.py +3 -1
  60. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/storage.py +9 -0
  61. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/type.py +9 -5
  62. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2/tracdap_runtime.egg-info}/PKG-INFO +5 -3
  63. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/tracdap_runtime.egg-info/SOURCES.txt +1 -0
  64. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/tracdap_runtime.egg-info/requires.txt +4 -2
  65. tracdap_runtime-0.8.0rc2/src/tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py +0 -51
  66. tracdap_runtime-0.8.0rc2/src/tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py +0 -63
  67. tracdap_runtime-0.8.0rc2/src/tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +0 -130
  68. tracdap_runtime-0.8.0rc2/src/tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py +0 -47
  69. tracdap_runtime-0.8.0rc2/src/tracdap/rt/_plugins/storage_aws.py +0 -384
  70. tracdap_runtime-0.8.0rc2/src/tracdap/rt/config/job.py +0 -22
  71. tracdap_runtime-0.8.0rc2/src/tracdap/rt/config/result.py +0 -26
  72. tracdap_runtime-0.8.0rc2/src/tracdap/rt/config/runtime.py +0 -28
  73. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/LICENSE +0 -0
  74. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/README.md +0 -0
  75. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/pyproject.toml +0 -0
  76. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/__init__.py +0 -0
  77. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/__init__.py +0 -0
  78. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/__init__.py +0 -0
  79. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/guard_rails.py +0 -0
  80. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/logging.py +0 -0
  81. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/models.py +0 -0
  82. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/schemas.py +0 -0
  83. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/shim.py +0 -0
  84. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/type_system.py +0 -0
  85. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/core/validation.py +0 -0
  86. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/exec/__init__.py +0 -0
  87. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/exec/actors.py +0 -0
  88. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/ext/__init__.py +0 -0
  89. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/ext/sql.py +0 -0
  90. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/ext/storage.py +0 -0
  91. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/__init__.py +0 -0
  92. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2_grpc.py +0 -0
  93. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.pyi +0 -0
  94. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.pyi +0 -0
  95. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.pyi +0 -0
  96. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi +0 -0
  97. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.pyi +0 -0
  98. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi +0 -0
  99. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi +0 -0
  100. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi +0 -0
  101. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi +0 -0
  102. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.pyi +0 -0
  103. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.pyi +0 -0
  104. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.pyi +0 -0
  105. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/__init__.py +0 -0
  106. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/_helpers.py +0 -0
  107. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/config_local.py +0 -0
  108. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/format_arrow.py +0 -0
  109. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/format_parquet.py +0 -0
  110. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/repo_local.py +0 -0
  111. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/repo_pypi.py +0 -0
  112. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/storage_local.py +0 -0
  113. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/storage_sql.py +0 -0
  114. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/_plugins/storage_sql_dialects.py +0 -0
  115. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/api/__init__.py +0 -0
  116. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/api/constants.py +0 -0
  117. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/api/experimental.py +0 -0
  118. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/api/hook.py +0 -0
  119. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/api/static_api.py +0 -0
  120. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/config/dynamic.py +0 -0
  121. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/exceptions.py +0 -0
  122. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/ext/__init__.py +0 -0
  123. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/ext/config.py +0 -0
  124. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/ext/embed.py +0 -0
  125. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/ext/plugins.py +0 -0
  126. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/ext/repos.py +0 -0
  127. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/ext/storage.py +0 -0
  128. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/launch/__init__.py +0 -0
  129. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/launch/__main__.py +0 -0
  130. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/common.py +0 -0
  131. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/config.py +0 -0
  132. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/custom.py +0 -0
  133. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/file.py +0 -0
  134. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/flow.py +0 -0
  135. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/model.py +0 -0
  136. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/object.py +0 -0
  137. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/object_id.py +0 -0
  138. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/resource.py +0 -0
  139. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/search.py +0 -0
  140. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/tag.py +0 -0
  141. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/src/tracdap/rt/metadata/tag_update.py +0 -0
  142. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/tracdap_runtime.egg-info/dependency_links.txt +0 -0
  143. {tracdap_runtime-0.8.0rc2 → tracdap_runtime-0.9.0b2}/tracdap_runtime.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tracdap-runtime
3
- Version: 0.8.0rc2
3
+ Version: 0.9.0b2
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
@@ -16,11 +16,13 @@ Classifier: Operating System :: OS Independent
16
16
  Requires-Python: <3.14,>=3.9
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENSE
19
- Requires-Dist: protobuf==5.29.3
19
+ Requires-Dist: protobuf==5.29.5
20
20
  Requires-Dist: pyarrow==18.1.0
21
21
  Requires-Dist: pyyaml==6.0.2
22
22
  Requires-Dist: dulwich==0.22.7
23
- Requires-Dist: requests==2.32.3
23
+ Requires-Dist: requests==2.32.4
24
+ Requires-Dist: typing_extensions<4.13
25
+ Requires-Dist: urllib3<2.4.0
24
26
  Provides-Extra: grpc
25
27
  Requires-Dist: grpcio==1.70.0; extra == "grpc"
26
28
  Requires-Dist: grpcio-status==1.70.0; extra == "grpc"
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = tracdap-runtime
3
- version = 0.8.0rc2
3
+ version = 0.9.0b2
4
4
  description = Runtime package for building models on the TRAC Data & Analytics Platform
5
5
  long_description = file: README.md
6
6
  long_description_content_type = text/markdown
@@ -40,11 +40,13 @@ package_dir =
40
40
  tracdap.rt = src/tracdap/rt
41
41
  python_requires = >= 3.9, < 3.14
42
42
  install_requires =
43
- protobuf == 5.29.3
43
+ protobuf == 5.29.5
44
44
  pyarrow == 18.1.0
45
45
  pyyaml == 6.0.2
46
46
  dulwich == 0.22.7
47
- requests == 2.32.3
47
+ requests == 2.32.4
48
+ typing_extensions < 4.13
49
+ urllib3 < 2.4.0
48
50
 
49
51
  [options.extras_require]
50
52
  grpc =
@@ -45,6 +45,26 @@ except ModuleNotFoundError:
45
45
  _T = tp.TypeVar('_T')
46
46
 
47
47
 
48
+ class ConfigKeys:
49
+
50
+ STORAGE_DEFAULT_LOCATION = "storage.default.location"
51
+ STORAGE_DEFAULT_FORMAT = "storage.default.format"
52
+ STORAGE_DEFAULT_LAYOUT = "storage.default.layout"
53
+
54
+ RESULT_ENABLED = "result.enabled"
55
+ RESULT_LOGS_ENABLED = "result.logs.enabled"
56
+ RESULT_STORAGE_LOCATION = "result.storage.location"
57
+ RESULT_STORAGE_PATH = "result.storage.path"
58
+ RESULT_FORMAT = "result.format"
59
+
60
+
61
+
62
+ class ConfigKDefaults:
63
+
64
+ STORAGE_DEFAULT_FORMAT = "CSV"
65
+ STORAGE_DEFAULT_LAYOUT = "OBJECT_ID_LAYOUT"
66
+
67
+
48
68
  class ConfigManager:
49
69
 
50
70
  @classmethod
@@ -479,10 +499,16 @@ class ConfigParser(tp.Generic[_T]):
479
499
  # Now go back over the members and look for any that weren't declared in __init__
480
500
  # Members with non-generic default values can still be read from the input stream
481
501
 
482
- for member_name in obj.__dict__:
502
+ def member_names():
503
+ if hasattr(obj, "__slots__"):
504
+ return filter(lambda s: hasattr(obj, s), obj.__slots__)
505
+ else:
506
+ return dir(obj)
507
+
508
+ for member_name in member_names():
483
509
 
484
510
  member_location = self._child_location(location, member_name)
485
- default_value = obj.__dict__[member_name]
511
+ default_value = getattr(obj, member_name)
486
512
 
487
513
  if member_name in init_signature.parameters or member_name.startswith("_"):
488
514
  continue
@@ -510,7 +536,7 @@ class ConfigParser(tp.Generic[_T]):
510
536
 
511
537
  for raw_name in raw_dict.keys():
512
538
 
513
- if raw_name not in obj.__dict__:
539
+ if not hasattr(obj, raw_name):
514
540
  self._error(location, f"Unrecognised config parameter '{raw_name}'")
515
541
 
516
542
  if raw_name == "self" or raw_name.startswith("_"):