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.
- {tracdap_runtime-0.10.0.dev21/tracdap_runtime.egg-info → tracdap_runtime-0.10.1}/PKG-INFO +32 -31
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/README.md +20 -19
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/setup.cfg +12 -12
- tracdap_runtime-0.10.1/src/tracdap/rt/__init__.py +16 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/config_parser.py +4 -4
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/data.py +33 -445
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/guard_rails.py +10 -6
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/models.py +16 -3
- tracdap_runtime-0.10.1/src/tracdap/rt/_impl/core/network.py +300 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/plugins.py +11 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/repos.py +9 -2
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/resources.py +24 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/storage.py +520 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/type_system.py +16 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/util.py +35 -3
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/validation.py +30 -10
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/context.py +7 -17
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/dev_mode.py +90 -52
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/engine.py +11 -3
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/functions.py +58 -33
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/graph.py +14 -2
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/graph_builder.py +70 -38
- {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
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py +15 -15
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi +4 -2
- tracdap_runtime-0.10.1/src/tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py +73 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.pyi +17 -4
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.py +22 -22
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/job_pb2.pyi +4 -2
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.py +22 -18
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/model_pb2.pyi +17 -6
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.py +2 -2
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/storage_pb2.pyi +6 -2
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/runtime.py +11 -3
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/static_api.py +41 -8
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/repo_local.py +6 -6
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/__init__.py +1 -1
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/hook.py +3 -1
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/static_api.py +8 -2
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/__init__.py +3 -3
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/platform.py +10 -2
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/plugins.py +72 -0
- tracdap_runtime-0.10.1/src/tracdap/rt/ext/repos.py +98 -0
- tracdap_runtime-0.10.1/src/tracdap/rt/ext/util.py +141 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/data.py +2 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/flow.py +10 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/job.py +2 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/model.py +5 -1
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/storage.py +6 -2
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1/tracdap_runtime.egg-info}/PKG-INFO +32 -31
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/tracdap_runtime.egg-info/SOURCES.txt +1 -2
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/tracdap_runtime.egg-info/requires.txt +9 -10
- tracdap_runtime-0.10.0.dev21/src/tracdap/rt/__init__.py +0 -16
- tracdap_runtime-0.10.0.dev21/src/tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py +0 -69
- tracdap_runtime-0.10.0.dev21/src/tracdap/rt/_plugins/repo_git.py +0 -315
- tracdap_runtime-0.10.0.dev21/src/tracdap/rt/_plugins/repo_pypi.py +0 -360
- tracdap_runtime-0.10.0.dev21/src/tracdap/rt/ext/repos.py +0 -75
- tracdap_runtime-0.10.0.dev21/src/tracdap/rt/ext/util.py +0 -58
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/LICENSE +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/pyproject.toml +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/__init__.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/__init__.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/logging.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/schemas.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/shim.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/struct.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/__init__.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/exec/actors.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/ext/__init__.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/ext/sql.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/ext/storage.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/__init__.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/codec.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/server.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/config_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_id_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/object_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/resource_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/search_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/tag_update_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/grpc/tracdap/metadata/type_pb2.pyi +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/__init__.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/_helpers.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/config_local.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/format_arrow.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/format_csv.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/format_parquet.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_aws.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_azure.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_gcp.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_local.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_sql.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_plugins/storage_sql_dialects.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/constants.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/experimental.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/api/model_api.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/common.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/dynamic.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/job.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/result.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/runtime.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/config/tenant.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/exceptions.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/__init__.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/config.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/embed.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/external.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/ext/storage.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/launch/__init__.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/launch/__main__.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/launch/cli.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/launch/launch.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/__init__.py +28 -28
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/common.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/config.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/custom.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/file.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/object.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/object_id.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/resource.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/search.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/tag.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/tag_update.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/metadata/type.py +0 -0
- {tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/tracdap_runtime.egg-info/dependency_links.txt +0 -0
- {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.
|
|
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
|
-
Requires-Dist: pyarrow==
|
|
32
|
-
Requires-Dist: pyyaml==6.0.
|
|
33
|
-
Requires-Dist:
|
|
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.
|
|
40
|
-
Requires-Dist: numpy<2.
|
|
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.
|
|
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
|
-
|
|
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/
|
|
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
|
-
#
|
|
87
|
+
# Universal Model Runtime (Python)
|
|
88
88
|
|
|
89
|
-
The
|
|
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.
|
|
93
|
-
|
|
94
|
-
and
|
|
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
|
|
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.
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
213
|
-
where it is safe to do so, otherwise
|
|
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
|
|
239
|
-
including tutorials and
|
|
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 [
|
|
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
|
|
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
|
-
|
|
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/
|
|
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
|
-
#
|
|
26
|
+
# Universal Model Runtime (Python)
|
|
27
27
|
|
|
28
|
-
The
|
|
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.
|
|
32
|
-
|
|
33
|
-
and
|
|
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
|
|
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.
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
152
|
-
where it is safe to do so, otherwise
|
|
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
|
|
178
|
-
including tutorials and
|
|
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 [
|
|
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
|
|
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.
|
|
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.
|
|
55
|
-
pyarrow ==
|
|
56
|
-
pyyaml == 6.0.
|
|
57
|
-
|
|
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.
|
|
66
|
-
numpy >= 1.
|
|
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.
|
|
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"
|
{tracdap_runtime-0.10.0.dev21 → tracdap_runtime-0.10.1}/src/tracdap/rt/_impl/core/config_parser.py
RENAMED
|
@@ -65,7 +65,7 @@ class ConfigKeys:
|
|
|
65
65
|
class ConfigKDefaults:
|
|
66
66
|
|
|
67
67
|
STORAGE_DEFAULT_FORMAT = "CSV"
|
|
68
|
-
STORAGE_DEFAULT_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.
|
|
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.
|
|
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
|
|
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)
|