tracdap-runtime 0.10.0.dev21__tar.gz → 0.10.1__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.10.0.dev21/tracdap_runtime.egg-info → tracdap_runtime-0.10.1}/PKG-INFO +32 -31
  2. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/README.md +20 -19
  3. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/setup.cfg +12 -12
  4. tracdap_runtime-0.10.1/src/tracdap/rt/__init__.py +16 -0
  5. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/config_parser.py +4 -4
  6. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/data.py +33 -445
  7. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/guard_rails.py +10 -6
  8. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/models.py +16 -3
  9. tracdap_runtime-0.10.1/src/tracdap/rt/_impl/core/network.py +300 -0
  10. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/plugins.py +11 -0
  11. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/repos.py +9 -2
  12. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/resources.py +24 -0
  13. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/storage.py +520 -0
  14. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/type_system.py +16 -0
  15. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/util.py +35 -3
  16. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/validation.py +30 -10
  17. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/context.py +7 -17
  18. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/dev_mode.py +90 -52
  19. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/engine.py +11 -3
  20. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/functions.py +58 -33
  21. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/graph.py +14 -2
  22. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/graph_builder.py +70 -38
  23. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2_grpc.py +2 -2
  24. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py +15 -15
  25. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi +4 -2
  26. tracdap_runtime-0.10.1/src/tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py +73 -0
  27. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.pyi +17 -4
  28. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +22 -22
  29. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +4 -2
  30. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +22 -18
  31. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi +17 -6
  32. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.py +2 -2
  33. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.pyi +6 -2
  34. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/runtime.py +11 -3
  35. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/static_api.py +41 -8
  36. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/repo_local.py +6 -6
  37. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/__init__.py +1 -1
  38. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/hook.py +3 -1
  39. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/static_api.py +8 -2
  40. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/__init__.py +3 -3
  41. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/platform.py +10 -2
  42. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/plugins.py +72 -0
  43. tracdap_runtime-0.10.1/src/tracdap/rt/ext/repos.py +98 -0
  44. tracdap_runtime-0.10.1/src/tracdap/rt/ext/util.py +141 -0
  45. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/data.py +2 -0
  46. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/flow.py +10 -0
  47. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/job.py +2 -0
  48. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/model.py +5 -1
  49. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/storage.py +6 -2
  50. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1/tracdap_runtime.egg-info}/PKG-INFO +32 -31
  51. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/tracdap_runtime.egg-info/SOURCES.txt +1 -2
  52. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/tracdap_runtime.egg-info/requires.txt +9 -10
  53. tracdap_runtime-0.10.0.dev21/src/tracdap/rt/__init__.py +0 -16
  54. tracdap_runtime-0.10.0.dev21/src/tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py +0 -69
  55. tracdap_runtime-0.10.0.dev21/src/tracdap/rt/_plugins/repo_git.py +0 -315
  56. tracdap_runtime-0.10.0.dev21/src/tracdap/rt/_plugins/repo_pypi.py +0 -360
  57. tracdap_runtime-0.10.0.dev21/src/tracdap/rt/ext/repos.py +0 -75
  58. tracdap_runtime-0.10.0.dev21/src/tracdap/rt/ext/util.py +0 -58
  59. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/LICENSE +0 -0
  60. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/pyproject.toml +0 -0
  61. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/__init__.py +0 -0
  62. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/__init__.py +0 -0
  63. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/logging.py +0 -0
  64. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/schemas.py +0 -0
  65. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/shim.py +0 -0
  66. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/struct.py +0 -0
  67. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/__init__.py +0 -0
  68. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/actors.py +0 -0
  69. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/ext/__init__.py +0 -0
  70. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/ext/sql.py +0 -0
  71. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/ext/storage.py +0 -0
  72. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/__init__.py +0 -0
  73. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/codec.py +0 -0
  74. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/server.py +0 -0
  75. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py +0 -0
  76. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi +0 -0
  77. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py +0 -0
  78. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.pyi +0 -0
  79. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.py +0 -0
  80. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.pyi +0 -0
  81. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py +0 -0
  82. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.pyi +0 -0
  83. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py +0 -0
  84. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi +0 -0
  85. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +0 -0
  86. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi +0 -0
  87. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +0 -0
  88. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi +0 -0
  89. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py +0 -0
  90. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi +0 -0
  91. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py +0 -0
  92. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.pyi +0 -0
  93. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py +0 -0
  94. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.pyi +0 -0
  95. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py +0 -0
  96. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.pyi +0 -0
  97. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py +0 -0
  98. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.pyi +0 -0
  99. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/__init__.py +0 -0
  100. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/_helpers.py +0 -0
  101. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/config_local.py +0 -0
  102. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/format_arrow.py +0 -0
  103. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/format_csv.py +0 -0
  104. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/format_parquet.py +0 -0
  105. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_aws.py +0 -0
  106. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_azure.py +0 -0
  107. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_gcp.py +0 -0
  108. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_local.py +0 -0
  109. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_sql.py +0 -0
  110. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_sql_dialects.py +0 -0
  111. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/constants.py +0 -0
  112. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/experimental.py +0 -0
  113. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/model_api.py +0 -0
  114. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/common.py +0 -0
  115. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/dynamic.py +0 -0
  116. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/job.py +0 -0
  117. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/result.py +0 -0
  118. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/runtime.py +0 -0
  119. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/tenant.py +0 -0
  120. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/exceptions.py +0 -0
  121. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/__init__.py +0 -0
  122. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/config.py +0 -0
  123. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/embed.py +0 -0
  124. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/external.py +0 -0
  125. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/storage.py +0 -0
  126. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/launch/__init__.py +0 -0
  127. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/launch/__main__.py +0 -0
  128. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/launch/cli.py +0 -0
  129. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/launch/launch.py +0 -0
  130. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/__init__.py +28 -28
  131. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/common.py +0 -0
  132. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/config.py +0 -0
  133. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/custom.py +0 -0
  134. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/file.py +0 -0
  135. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/object.py +0 -0
  136. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/object_id.py +0 -0
  137. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/resource.py +0 -0
  138. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/search.py +0 -0
  139. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/tag.py +0 -0
  140. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/tag_update.py +0 -0
  141. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/type.py +0 -0
  142. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/tracdap_runtime.egg-info/dependency_links.txt +0 -0
  143. {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/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.10.0.dev21
3
+ Version: 0.10.1
4
4
  Summary: Portable, production-grade models in Python
5
5
  Home-page: https://www.fintrac.co.uk/
6
6
  Author: Martin Traverse
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
17
17
  Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
19
20
  Classifier: Intended Audience :: Developers
20
21
  Classifier: Intended Audience :: End Users/Desktop
21
22
  Classifier: Intended Audience :: Financial and Insurance Industry
@@ -27,17 +28,13 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
28
  Requires-Python: >=3.10
28
29
  Description-Content-Type: text/markdown
29
30
  License-File: LICENSE
30
- Requires-Dist: protobuf==6.31.1
31
- Requires-Dist: pyarrow==21.0.0
32
- Requires-Dist: pyyaml==6.0.2
33
- Requires-Dist: dulwich==0.23.2
34
- Requires-Dist: requests==2.32.4
35
- Provides-Extra: grpc
36
- Requires-Dist: grpcio==1.74.0; extra == "grpc"
37
- Requires-Dist: grpcio-status==1.74.0; extra == "grpc"
31
+ Requires-Dist: protobuf==6.33.5
32
+ Requires-Dist: pyarrow==23.0.1
33
+ Requires-Dist: pyyaml==6.0.3
34
+ Requires-Dist: certifi>=2025.1.31
38
35
  Provides-Extra: pandas
39
- Requires-Dist: pandas<2.3.0,>=1.2.0; extra == "pandas"
40
- Requires-Dist: numpy<2.3.0,>=1.20; extra == "pandas"
36
+ Requires-Dist: pandas<2.4.0,>=1.3.0; extra == "pandas"
37
+ Requires-Dist: numpy<2.4.0,>=1.22; extra == "pandas"
41
38
  Provides-Extra: polars
42
39
  Requires-Dist: polars<2.0.0,>=1.0.0; extra == "polars"
43
40
  Provides-Extra: pyspark
@@ -53,15 +50,18 @@ Requires-Dist: google-api-core==2.25.1; extra == "gcp"
53
50
  Requires-Dist: google-cloud-storage==3.2.0; extra == "gcp"
54
51
  Requires-Dist: gcsfs==2024.3.1; extra == "gcp"
55
52
  Provides-Extra: azure
56
- Requires-Dist: azure-core==1.35.0; extra == "azure"
53
+ Requires-Dist: azure-core==1.38.0; extra == "azure"
57
54
  Requires-Dist: azure-identity==1.23.1; extra == "azure"
58
55
  Requires-Dist: azure-storage-blob==12.26.0; extra == "azure"
59
56
  Requires-Dist: adlfs==2024.12.0; extra == "azure"
57
+ Provides-Extra: grpc
58
+ Requires-Dist: grpcio==1.76.0; extra == "grpc"
59
+ Requires-Dist: grpcio-status==1.76.0; extra == "grpc"
60
60
  Dynamic: license-file
61
61
 
62
62
  <div align="center">
63
63
 
64
- ![TRAC the modern model platform](https://github.com/finos/tracdap/raw/main/doc/_images/tracmmp_horizontal_400.png)
64
+ <img alt="tracdap-runtime" src="https://github.com/finos/tracdap/raw/main/doc/_images/runtime_logo.png" width="400" />
65
65
 
66
66
  <br />
67
67
 
@@ -70,7 +70,7 @@ Dynamic: license-file
70
70
  <a href="https://pypi.org/project/tracdap-runtime"><img alt="Python Versions" src="https://img.shields.io/pypi/pyversions/tracdap-runtime.svg?maxAge=3600" /></a>
71
71
  <a href="https://github.com/finos/tracdap/actions/workflows/packaging.yaml?query=branch%3Amain"><img alt="Packaging status" src="https://github.com/finos/tracdap/actions/workflows/packaging.yaml/badge.svg?branch:main&workflow:CI" /></a>
72
72
  <a href="https://github.com/finos/tracdap/actions/workflows/compliance.yaml?query=branch%3Amain"><img alt="Compliance status" src="https://github.com/finos/tracdap/actions/workflows/compliance.yaml/badge.svg?branch:main&workflow:CI" /></a>
73
- <a href="https://github.com/pandas-dev/pandas/blob/main/LICENSE"><img alt="License - Apache-2.0" src="https://img.shields.io/pypi/l/tracdap-runtime.svg" /></a>
73
+ <a href="https://github.com/finos/tracdap/blob/main/LICENSE"><img alt="License - Apache-2.0" src="https://img.shields.io/pypi/l/tracdap-runtime.svg" /></a>
74
74
  <a href="https://community.finos.org/docs/governance/software-projects/stages/incubating/"><img alt="FINOS - Incubating" src="https://cdn.jsdelivr.net/gh/finos/contrib-toolbox@master/images/badge-incubating.svg" /></a>
75
75
  </div>
76
76
 
@@ -84,14 +84,15 @@ Dynamic: license-file
84
84
  </div>
85
85
 
86
86
 
87
- # TRAC Model Runtime for Python
87
+ # Universal Model Runtime (Python)
88
88
 
89
- The TRAC Model Runtime is a lightweight package for building portable,
89
+ The tracdap-runtime is a lightweight package for building portable,
90
90
  production-grade Python models. Models created with the runtime can be
91
91
  executed anywhere, from local development environments to enterprise
92
- production systems. The runtime can be used independently of the broader
93
- TRAC platform and provides a simple framework in which to build, ship,
94
- and share models.
92
+ production systems.
93
+
94
+ The runtime can be used independently of the trac platform and provides a
95
+ simple framework in which to build, ship, and share models.
95
96
 
96
97
  Each model defines its parameters, inputs and outputs, and the runtime
97
98
  provides the execution context, ensuring that models always receive valid
@@ -100,7 +101,7 @@ and formatting out of the model code allows developers to focus on model
100
101
  logic, safe in the knowledge that the model will behave consistently
101
102
  across environments.
102
103
 
103
- For a complete guide to writing models in the TRAC framework, see the
104
+ For a complete guide to writing models in the trac framework, see the
104
105
  [online documentation](https://docs.fintrac.co.uk/versions/latest/modelling).
105
106
 
106
107
 
@@ -108,7 +109,7 @@ For a complete guide to writing models in the TRAC framework, see the
108
109
 
109
110
  * **Python :** 3.10 or later
110
111
  * **Tools :** Any popular IDE (PyCharm, VS Code, etc.)
111
- * **Pandas :** Version 1.2 and later are supported
112
+ * **Pandas :** Version 1.3 and later are supported
112
113
  * **Polars :** Version 1.0 and later are supported
113
114
 
114
115
  *Some 3rd party libraries may have additional version constraints,
@@ -117,7 +118,7 @@ for example, Pandas 1.5 is not available for Python 3.12 or later.*
117
118
 
118
119
  ## 🚀 Quick start
119
120
 
120
- TRAC can be added to a new or existing Python project using [pip](https://pip.pypa.io):
121
+ tracdap-runtime can be added to a new or existing Python project using [pip](https://pip.pypa.io):
121
122
 
122
123
  ```shell
123
124
  $ pip install tracdap-runtime
@@ -162,7 +163,7 @@ class QuickStartModel(trac.TracModel):
162
163
 
163
164
  def run_model(self, ctx: trac.TracContext):
164
165
 
165
- # Parameters and inputs are loaded and validated by TRAC
166
+ # Parameters and inputs are loaded and validated by the runtime
166
167
  exchange_rate = ctx.get_parameter("exchange_rate")
167
168
  customer_loans = ctx.get_pandas_table("customer_loans")
168
169
 
@@ -176,7 +177,7 @@ class QuickStartModel(trac.TracModel):
176
177
  # Logs written to ctx.log are captured by the platform
177
178
  ctx.log().info("Aggregated loans for %d regions", len(loans_by_region))
178
179
 
179
- # Outputs are handed back to TRAC for validation and saving
180
+ # Outputs are handed back to the runtime for validation and saving
180
181
  ctx.put_pandas_table("loans_by_region", loans_by_region)
181
182
 
182
183
  # Use the desktop launcher to run, test and debug models locally
@@ -209,8 +210,8 @@ resources:
209
210
 
210
211
  The job config file supplies the model with the parameters, inputs and outputs that it needs to run.
211
212
  The default data location from ``sys_config.yaml`` is used to load input data and save output data.
212
- TRAC checks the types and schemas of every parameter and input dataset, types are cast automatically
213
- where it is safe to do so, otherwise TRAC will raise an error if the inputs are not valid.
213
+ The runtime checks the types and schemas of every parameter and input dataset, types are cast automatically
214
+ where it is safe to do so, otherwise the runtime will raise an error if the inputs are not valid.
214
215
 
215
216
  *quick_start.yaml*
216
217
  ```yaml
@@ -235,8 +236,8 @@ will be created inside your data folder.
235
236
  ## 📖 Documentation
236
237
 
237
238
  See the [online documentation](https://docs.fintrac.co.uk/versions/latest/modelling)
238
- for a complete guide to writing models in the TRAC framework,
239
- including tutorials and an API reference.
239
+ for a complete guide to writing models in the trac framework,
240
+ including tutorials and the full Model API.
240
241
 
241
242
 
242
243
  ## ✋ Contributing
@@ -251,7 +252,7 @@ and the [FINOS code of conduct](https://www.finos.org/code-of-conduct).
251
252
 
252
253
  ## 📜 License
253
254
 
254
- The TRAC model runtime is maintained by [finTRAC Ltd](https://fintrac.co.uk/) in association with
255
+ The TRAC model runtime is maintained by [Fintrac Limited](https://fintrac.co.uk/) in association with
255
256
  the [Fintech Open Source Foundation](https://www.finos.org/) (FINOS) and distributed under the terms of
256
257
  the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
257
258
 
@@ -263,5 +264,5 @@ see the [NOTICE](https://github.com/finos/tracdap/blob/main/NOTICE) file.
263
264
 
264
265
  ## 🏢 Enterprise
265
266
 
266
- Professional support for TRAC is available from [finTRAC Ltd](https://fintrac.co.uk/),
267
- for more information please [contact us](https://fintrac.co.uk/contact).
267
+ Professional support for the trac platform is available from [Fintrac Limited](https://fintrac.co.uk/),
268
+ for more information about this please [contact us](https://fintrac.co.uk/contact).
@@ -1,6 +1,6 @@
1
1
  <div align="center">
2
2
 
3
- ![TRAC the modern model platform](https://github.com/finos/tracdap/raw/main/doc/_images/tracmmp_horizontal_400.png)
3
+ <img alt="tracdap-runtime" src="https://github.com/finos/tracdap/raw/main/doc/_images/runtime_logo.png" width="400" />
4
4
 
5
5
  <br />
6
6
 
@@ -9,7 +9,7 @@
9
9
  <a href="https://pypi.org/project/tracdap-runtime"><img alt="Python Versions" src="https://img.shields.io/pypi/pyversions/tracdap-runtime.svg?maxAge=3600" /></a>
10
10
  <a href="https://github.com/finos/tracdap/actions/workflows/packaging.yaml?query=branch%3Amain"><img alt="Packaging status" src="https://github.com/finos/tracdap/actions/workflows/packaging.yaml/badge.svg?branch:main&workflow:CI" /></a>
11
11
  <a href="https://github.com/finos/tracdap/actions/workflows/compliance.yaml?query=branch%3Amain"><img alt="Compliance status" src="https://github.com/finos/tracdap/actions/workflows/compliance.yaml/badge.svg?branch:main&workflow:CI" /></a>
12
- <a href="https://github.com/pandas-dev/pandas/blob/main/LICENSE"><img alt="License - Apache-2.0" src="https://img.shields.io/pypi/l/tracdap-runtime.svg" /></a>
12
+ <a href="https://github.com/finos/tracdap/blob/main/LICENSE"><img alt="License - Apache-2.0" src="https://img.shields.io/pypi/l/tracdap-runtime.svg" /></a>
13
13
  <a href="https://community.finos.org/docs/governance/software-projects/stages/incubating/"><img alt="FINOS - Incubating" src="https://cdn.jsdelivr.net/gh/finos/contrib-toolbox@master/images/badge-incubating.svg" /></a>
14
14
  </div>
15
15
 
@@ -23,14 +23,15 @@
23
23
  </div>
24
24
 
25
25
 
26
- # TRAC Model Runtime for Python
26
+ # Universal Model Runtime (Python)
27
27
 
28
- The TRAC Model Runtime is a lightweight package for building portable,
28
+ The tracdap-runtime is a lightweight package for building portable,
29
29
  production-grade Python models. Models created with the runtime can be
30
30
  executed anywhere, from local development environments to enterprise
31
- production systems. The runtime can be used independently of the broader
32
- TRAC platform and provides a simple framework in which to build, ship,
33
- and share models.
31
+ production systems.
32
+
33
+ The runtime can be used independently of the trac platform and provides a
34
+ simple framework in which to build, ship, and share models.
34
35
 
35
36
  Each model defines its parameters, inputs and outputs, and the runtime
36
37
  provides the execution context, ensuring that models always receive valid
@@ -39,7 +40,7 @@ and formatting out of the model code allows developers to focus on model
39
40
  logic, safe in the knowledge that the model will behave consistently
40
41
  across environments.
41
42
 
42
- For a complete guide to writing models in the TRAC framework, see the
43
+ For a complete guide to writing models in the trac framework, see the
43
44
  [online documentation](https://docs.fintrac.co.uk/versions/latest/modelling).
44
45
 
45
46
 
@@ -47,7 +48,7 @@ For a complete guide to writing models in the TRAC framework, see the
47
48
 
48
49
  * **Python :** 3.10 or later
49
50
  * **Tools :** Any popular IDE (PyCharm, VS Code, etc.)
50
- * **Pandas :** Version 1.2 and later are supported
51
+ * **Pandas :** Version 1.3 and later are supported
51
52
  * **Polars :** Version 1.0 and later are supported
52
53
 
53
54
  *Some 3rd party libraries may have additional version constraints,
@@ -56,7 +57,7 @@ for example, Pandas 1.5 is not available for Python 3.12 or later.*
56
57
 
57
58
  ## 🚀 Quick start
58
59
 
59
- TRAC can be added to a new or existing Python project using [pip](https://pip.pypa.io):
60
+ tracdap-runtime can be added to a new or existing Python project using [pip](https://pip.pypa.io):
60
61
 
61
62
  ```shell
62
63
  $ pip install tracdap-runtime
@@ -101,7 +102,7 @@ class QuickStartModel(trac.TracModel):
101
102
 
102
103
  def run_model(self, ctx: trac.TracContext):
103
104
 
104
- # Parameters and inputs are loaded and validated by TRAC
105
+ # Parameters and inputs are loaded and validated by the runtime
105
106
  exchange_rate = ctx.get_parameter("exchange_rate")
106
107
  customer_loans = ctx.get_pandas_table("customer_loans")
107
108
 
@@ -115,7 +116,7 @@ class QuickStartModel(trac.TracModel):
115
116
  # Logs written to ctx.log are captured by the platform
116
117
  ctx.log().info("Aggregated loans for %d regions", len(loans_by_region))
117
118
 
118
- # Outputs are handed back to TRAC for validation and saving
119
+ # Outputs are handed back to the runtime for validation and saving
119
120
  ctx.put_pandas_table("loans_by_region", loans_by_region)
120
121
 
121
122
  # Use the desktop launcher to run, test and debug models locally
@@ -148,8 +149,8 @@ resources:
148
149
 
149
150
  The job config file supplies the model with the parameters, inputs and outputs that it needs to run.
150
151
  The default data location from ``sys_config.yaml`` is used to load input data and save output data.
151
- TRAC checks the types and schemas of every parameter and input dataset, types are cast automatically
152
- where it is safe to do so, otherwise TRAC will raise an error if the inputs are not valid.
152
+ The runtime checks the types and schemas of every parameter and input dataset, types are cast automatically
153
+ where it is safe to do so, otherwise the runtime will raise an error if the inputs are not valid.
153
154
 
154
155
  *quick_start.yaml*
155
156
  ```yaml
@@ -174,8 +175,8 @@ will be created inside your data folder.
174
175
  ## 📖 Documentation
175
176
 
176
177
  See the [online documentation](https://docs.fintrac.co.uk/versions/latest/modelling)
177
- for a complete guide to writing models in the TRAC framework,
178
- including tutorials and an API reference.
178
+ for a complete guide to writing models in the trac framework,
179
+ including tutorials and the full Model API.
179
180
 
180
181
 
181
182
  ## ✋ Contributing
@@ -190,7 +191,7 @@ and the [FINOS code of conduct](https://www.finos.org/code-of-conduct).
190
191
 
191
192
  ## 📜 License
192
193
 
193
- The TRAC model runtime is maintained by [finTRAC Ltd](https://fintrac.co.uk/) in association with
194
+ The TRAC model runtime is maintained by [Fintrac Limited](https://fintrac.co.uk/) in association with
194
195
  the [Fintech Open Source Foundation](https://www.finos.org/) (FINOS) and distributed under the terms of
195
196
  the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
196
197
 
@@ -202,5 +203,5 @@ see the [NOTICE](https://github.com/finos/tracdap/blob/main/NOTICE) file.
202
203
 
203
204
  ## 🏢 Enterprise
204
205
 
205
- Professional support for TRAC is available from [finTRAC Ltd](https://fintrac.co.uk/),
206
- for more information please [contact us](https://fintrac.co.uk/contact).
206
+ Professional support for the trac platform is available from [Fintrac Limited](https://fintrac.co.uk/),
207
+ for more information about this please [contact us](https://fintrac.co.uk/contact).
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = tracdap-runtime
3
- version = 0.10.0.dev21
3
+ version = 0.10.1
4
4
  license = Apache-2.0
5
5
  platform = any
6
6
  description = Portable, production-grade models in Python
@@ -18,6 +18,7 @@ classifiers =
18
18
  Programming Language :: Python :: 3.11
19
19
  Programming Language :: Python :: 3.12
20
20
  Programming Language :: Python :: 3.13
21
+ Programming Language :: Python :: 3.14
21
22
  Intended Audience :: Developers
22
23
  Intended Audience :: End Users/Desktop
23
24
  Intended Audience :: Financial and Insurance Industry
@@ -51,19 +52,15 @@ package_dir =
51
52
  tracdap.rt = src/tracdap/rt
52
53
  python_requires = >= 3.10
53
54
  install_requires =
54
- protobuf == 6.31.1
55
- pyarrow == 21.0.0
56
- pyyaml == 6.0.2
57
- dulwich == 0.23.2
58
- requests == 2.32.4
55
+ protobuf == 6.33.5
56
+ pyarrow == 23.0.1
57
+ pyyaml == 6.0.3
58
+ certifi >= 2025.1.31
59
59
 
60
60
  [options.extras_require]
61
- grpc =
62
- grpcio == 1.74.0
63
- grpcio-status == 1.74.0
64
61
  pandas =
65
- pandas >= 1.2.0, < 2.3.0
66
- numpy >= 1.20, < 2.3.0
62
+ pandas >= 1.3.0, < 2.4.0
63
+ numpy >= 1.22, < 2.4.0
67
64
  polars =
68
65
  polars >= 1.0.0, < 2.0.0
69
66
  pyspark =
@@ -79,10 +76,13 @@ gcp =
79
76
  google-cloud-storage == 3.2.0
80
77
  gcsfs == 2024.3.1
81
78
  azure =
82
- azure-core == 1.35.0
79
+ azure-core == 1.38.0
83
80
  azure-identity == 1.23.1
84
81
  azure-storage-blob == 12.26.0
85
82
  adlfs == 2024.12.0
83
+ grpc =
84
+ grpcio == 1.76.0
85
+ grpcio-status == 1.76.0
86
86
 
87
87
  [egg_info]
88
88
  tag_build =
@@ -0,0 +1,16 @@
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
+ __version__ = "0.10.1"
@@ -65,7 +65,7 @@ class ConfigKeys:
65
65
  class ConfigKDefaults:
66
66
 
67
67
  STORAGE_DEFAULT_FORMAT = "CSV"
68
- STORAGE_DEFAULT_LAYOUT = "OBJECT_ID_LAYOUT"
68
+ STORAGE_DEFAULT_LAYOUT = "DATE_SNAP_LAYOUT"
69
69
 
70
70
  RUNTIME_LIMIT_RESOURCE_SIZE = 256 # KB
71
71
 
@@ -173,7 +173,7 @@ class ConfigManager:
173
173
  dev_mode_locations: tp.List[str] = None,
174
174
  config_file_name: tp.Optional[str] = None) -> _T:
175
175
 
176
- resolved_url = self._resolve_config_file(config_url)
176
+ resolved_url = self.resolve_config_url(config_url)
177
177
 
178
178
  if config_file_name is not None:
179
179
  self._log.info(f"Loading {config_file_name} config: {self._url_to_str(resolved_url)}")
@@ -189,7 +189,7 @@ class ConfigManager:
189
189
  self, config_url: tp.Union[str, pathlib.Path],
190
190
  config_file_name: tp.Optional[str] = None) -> bytes:
191
191
 
192
- resolved_url = self._resolve_config_file(config_url)
192
+ resolved_url = self.resolve_config_url(config_url)
193
193
 
194
194
  if config_file_name is not None:
195
195
  self._log.info(f"Loading {config_file_name} config: {self._url_to_str(resolved_url)}")
@@ -198,7 +198,7 @@ class ConfigManager:
198
198
 
199
199
  return self._load_config_file(resolved_url)
200
200
 
201
- def _resolve_config_file(self, config_url: tp.Union[str, pathlib.Path]) -> _urlp.ParseResult:
201
+ def resolve_config_url(self, config_url: tp.Union[str, pathlib.Path]) -> _urlp.ParseResult:
202
202
 
203
203
  # If the config URL defines a scheme, treat it as absolute
204
204
  # (This also works for Windows paths, C:\ is an absolute path)