tracdap-runtime 0.8.0b2__py3-none-any.whl → 0.8.0b4__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.
- tracdap/rt/_impl/core/__init__.py +14 -0
- tracdap/rt/_impl/{config_parser.py → core/config_parser.py} +59 -35
- tracdap/rt/_impl/{data.py → core/data.py} +64 -33
- tracdap/rt/_impl/{models.py → core/models.py} +6 -6
- tracdap/rt/_impl/{repos.py → core/repos.py} +1 -1
- tracdap/rt/_impl/{schemas.py → core/schemas.py} +4 -4
- tracdap/rt/_impl/{shim.py → core/shim.py} +3 -3
- tracdap/rt/_impl/{storage.py → core/storage.py} +8 -5
- tracdap/rt/_impl/core/struct.py +547 -0
- tracdap/rt/_impl/{type_system.py → core/type_system.py} +73 -33
- tracdap/rt/_impl/{validation.py → core/validation.py} +58 -17
- tracdap/rt/_impl/exec/__init__.py +14 -0
- tracdap/rt/{_exec → _impl/exec}/actors.py +9 -12
- tracdap/rt/{_exec → _impl/exec}/context.py +70 -16
- tracdap/rt/{_exec → _impl/exec}/dev_mode.py +31 -20
- tracdap/rt/{_exec → _impl/exec}/engine.py +9 -9
- tracdap/rt/{_exec → _impl/exec}/functions.py +89 -40
- tracdap/rt/{_exec → _impl/exec}/graph.py +1 -1
- tracdap/rt/{_exec → _impl/exec}/graph_builder.py +2 -2
- tracdap/rt/{_exec → _impl/grpc}/server.py +4 -4
- tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py +2 -2
- tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2_grpc.py +1 -1
- tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py +31 -19
- tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi +48 -2
- tracdap/rt/{_exec → _impl}/runtime.py +13 -13
- tracdap/rt/_impl/static_api.py +13 -5
- tracdap/rt/_plugins/format_csv.py +1 -1
- tracdap/rt/_plugins/storage_sql.py +13 -6
- tracdap/rt/_version.py +1 -1
- tracdap/rt/api/experimental.py +32 -0
- tracdap/rt/api/hook.py +11 -0
- tracdap/rt/config/__init__.py +8 -10
- tracdap/rt/config/common.py +0 -34
- tracdap/rt/config/platform.py +14 -26
- tracdap/rt/ext/embed.py +2 -2
- tracdap/rt/ext/plugins.py +2 -2
- tracdap/rt/launch/launch.py +3 -3
- tracdap/rt/metadata/__init__.py +11 -9
- tracdap/rt/metadata/data.py +40 -0
- {tracdap_runtime-0.8.0b2.dist-info → tracdap_runtime-0.8.0b4.dist-info}/METADATA +15 -13
- {tracdap_runtime-0.8.0b2.dist-info → tracdap_runtime-0.8.0b4.dist-info}/RECORD +47 -45
- {tracdap_runtime-0.8.0b2.dist-info → tracdap_runtime-0.8.0b4.dist-info}/WHEEL +1 -1
- tracdap/rt/_exec/__init__.py +0 -0
- /tracdap/rt/_impl/{guard_rails.py → core/guard_rails.py} +0 -0
- /tracdap/rt/_impl/{logging.py → core/logging.py} +0 -0
- /tracdap/rt/_impl/{util.py → core/util.py} +0 -0
- {tracdap_runtime-0.8.0b2.dist-info → tracdap_runtime-0.8.0b4.dist-info}/LICENSE +0 -0
- {tracdap_runtime-0.8.0b2.dist-info → tracdap_runtime-0.8.0b4.dist-info}/top_level.txt +0 -0
tracdap/rt/api/experimental.py
CHANGED
@@ -70,6 +70,8 @@ PANDAS = DataFramework.pandas()
|
|
70
70
|
POLARS = DataFramework.polars()
|
71
71
|
"""Data framework constant for the Polars data library"""
|
72
72
|
|
73
|
+
STRUCT_TYPE = _tp.TypeVar('STRUCT_TYPE')
|
74
|
+
|
73
75
|
|
74
76
|
class TracContext(TracContext):
|
75
77
|
|
@@ -83,6 +85,14 @@ class TracContext(TracContext):
|
|
83
85
|
|
84
86
|
pass
|
85
87
|
|
88
|
+
def get_struct(self, struct_name: str, python_class: _tp.Type[STRUCT_TYPE]) -> STRUCT_TYPE:
|
89
|
+
|
90
|
+
pass
|
91
|
+
|
92
|
+
def put_struct(self, struct_name: str, struct_data: STRUCT_TYPE):
|
93
|
+
|
94
|
+
pass
|
95
|
+
|
86
96
|
|
87
97
|
def init_static():
|
88
98
|
"""Ensure TRAC's static model API is available to use (for static definitions at module or class scope)"""
|
@@ -108,6 +118,28 @@ def map_type(entry_type: BasicType) -> TypeDescriptor:
|
|
108
118
|
return sa.map_type(entry_type)
|
109
119
|
|
110
120
|
|
121
|
+
def define_struct(python_type: _tp.Type[STRUCT_TYPE]) -> SchemaDefinition:
|
122
|
+
"""Build schema definition for a STRUCT"""
|
123
|
+
sa = _StaticApiHook.get_instance()
|
124
|
+
return sa.define_struct(python_type)
|
125
|
+
|
126
|
+
def define_input_struct(
|
127
|
+
python_type: _tp.Type[STRUCT_TYPE], *,
|
128
|
+
label: _tp.Optional[str] = None, optional: bool = False,
|
129
|
+
input_props: _tp.Optional[_tp.Dict[str, _tp.Any]] = None) -> ModelInputSchema:
|
130
|
+
|
131
|
+
schema = define_struct(python_type)
|
132
|
+
return define_input(schema, label=label, optional=optional, input_props=input_props)
|
133
|
+
|
134
|
+
def define_output_struct(
|
135
|
+
python_type: _tp.Type[STRUCT_TYPE], *,
|
136
|
+
label: _tp.Optional[str] = None, optional: bool = False,
|
137
|
+
output_props: _tp.Optional[_tp.Dict[str, _tp.Any]] = None) -> ModelOutputSchema:
|
138
|
+
|
139
|
+
schema = define_struct(python_type)
|
140
|
+
return define_output(schema, label=label, optional=optional, output_props=output_props)
|
141
|
+
|
142
|
+
|
111
143
|
class FileType(_enum.Enum):
|
112
144
|
|
113
145
|
FILE = 1
|
tracdap/rt/api/hook.py
CHANGED
@@ -121,6 +121,11 @@ class _StaticApiHook:
|
|
121
121
|
|
122
122
|
pass
|
123
123
|
|
124
|
+
@_abc.abstractmethod
|
125
|
+
def define_struct(self, python_type: type) -> _meta.SchemaDefinition:
|
126
|
+
|
127
|
+
pass
|
128
|
+
|
124
129
|
@_abc.abstractmethod
|
125
130
|
def load_schema(
|
126
131
|
self, package: _tp.Union[_ts.ModuleType, str], schema_file: str,
|
@@ -158,3 +163,9 @@ class _StaticApiHook:
|
|
158
163
|
-> _meta.ModelOutputSchema:
|
159
164
|
|
160
165
|
pass
|
166
|
+
|
167
|
+
X = _tp.TypeVar("X")
|
168
|
+
|
169
|
+
def do_x(x: type[X]) -> X:
|
170
|
+
|
171
|
+
return x.__new__(x)
|
tracdap/rt/config/__init__.py
CHANGED
@@ -1,30 +1,28 @@
|
|
1
1
|
# Code generated by TRAC
|
2
2
|
|
3
|
-
from .job import JobConfig
|
4
|
-
|
5
3
|
from .common import _ConfigFile
|
6
4
|
from .common import PluginConfig
|
7
5
|
from .common import PlatformInfo
|
8
|
-
from .common import AuthenticationConfig
|
9
6
|
from .common import StorageConfig
|
10
7
|
from .common import ServiceConfig
|
11
8
|
|
12
|
-
from .
|
13
|
-
from .
|
9
|
+
from .runtime import RuntimeConfig
|
10
|
+
from .runtime import SparkSettings
|
11
|
+
|
12
|
+
from .job import JobConfig
|
14
13
|
|
15
14
|
from .platform import RoutingProtocol
|
16
15
|
from .platform import DeploymentLayout
|
17
16
|
from .platform import PlatformConfig
|
18
17
|
from .platform import MetadataConfig
|
19
18
|
from .platform import TenantConfig
|
20
|
-
from .platform import WebServerConfig
|
21
|
-
from .platform import WebServerRewriteRule
|
22
|
-
from .platform import WebServerRedirect
|
23
19
|
from .platform import GatewayConfig
|
20
|
+
from .platform import GatewayRedirect
|
24
21
|
from .platform import RouteConfig
|
25
22
|
from .platform import RoutingMatch
|
26
23
|
from .platform import RoutingTarget
|
27
24
|
from .platform import DeploymentConfig
|
25
|
+
from .platform import ClientConfig
|
28
26
|
|
29
|
-
from .
|
30
|
-
from .
|
27
|
+
from .result import TagUpdateList
|
28
|
+
from .result import JobResult
|
tracdap/rt/config/common.py
CHANGED
@@ -33,40 +33,6 @@ class PlatformInfo:
|
|
33
33
|
deploymentInfo: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
|
34
34
|
|
35
35
|
|
36
|
-
@_dc.dataclass
|
37
|
-
class AuthenticationConfig:
|
38
|
-
|
39
|
-
jwtIssuer: "str" = ""
|
40
|
-
|
41
|
-
jwtExpiry: "int" = 0
|
42
|
-
|
43
|
-
jwtLimit: "int" = 0
|
44
|
-
|
45
|
-
jwtRefresh: "int" = 0
|
46
|
-
|
47
|
-
provider: "PluginConfig" = _dc.field(default_factory=lambda: PluginConfig())
|
48
|
-
|
49
|
-
loginPath: "_tp.Optional[str]" = None
|
50
|
-
|
51
|
-
refreshPath: "_tp.Optional[str]" = None
|
52
|
-
|
53
|
-
returnPath: "_tp.Optional[str]" = None
|
54
|
-
|
55
|
-
disableAuth: "bool" = False
|
56
|
-
|
57
|
-
disableSigning: "bool" = False
|
58
|
-
|
59
|
-
systemUserId: "str" = ""
|
60
|
-
|
61
|
-
systemUserName: "str" = ""
|
62
|
-
|
63
|
-
systemTicketDuration: "int" = 0
|
64
|
-
|
65
|
-
systemTicketRefresh: "int" = 0
|
66
|
-
|
67
|
-
externalSystems: "_tp.Dict[str, PluginConfig]" = _dc.field(default_factory=dict)
|
68
|
-
|
69
|
-
|
70
36
|
@_dc.dataclass
|
71
37
|
class StorageConfig:
|
72
38
|
|
tracdap/rt/config/platform.py
CHANGED
@@ -39,8 +39,6 @@ class PlatformConfig:
|
|
39
39
|
|
40
40
|
platformInfo: "PlatformInfo" = _dc.field(default_factory=lambda: PlatformInfo())
|
41
41
|
|
42
|
-
authentication: "AuthenticationConfig" = _dc.field(default_factory=lambda: AuthenticationConfig())
|
43
|
-
|
44
42
|
metadata: "MetadataConfig" = _dc.field(default_factory=lambda: MetadataConfig())
|
45
43
|
|
46
44
|
storage: "StorageConfig" = _dc.field(default_factory=lambda: StorageConfig())
|
@@ -53,14 +51,16 @@ class PlatformConfig:
|
|
53
51
|
|
54
52
|
tenants: "_tp.Dict[str, TenantConfig]" = _dc.field(default_factory=dict)
|
55
53
|
|
56
|
-
webServer: "WebServerConfig" = _dc.field(default_factory=lambda: WebServerConfig())
|
57
|
-
|
58
54
|
gateway: "GatewayConfig" = _dc.field(default_factory=lambda: GatewayConfig())
|
59
55
|
|
60
56
|
services: "_tp.Dict[str, ServiceConfig]" = _dc.field(default_factory=dict)
|
61
57
|
|
62
58
|
deployment: "DeploymentConfig" = _dc.field(default_factory=lambda: DeploymentConfig())
|
63
59
|
|
60
|
+
clientConfig: "_tp.Dict[str, ClientConfig]" = _dc.field(default_factory=dict)
|
61
|
+
|
62
|
+
extensions: "_tp.Dict[str, protobuf.Any]" = _dc.field(default_factory=dict)
|
63
|
+
|
64
64
|
|
65
65
|
@_dc.dataclass
|
66
66
|
class MetadataConfig:
|
@@ -79,25 +79,15 @@ class TenantConfig:
|
|
79
79
|
|
80
80
|
|
81
81
|
@_dc.dataclass
|
82
|
-
class
|
83
|
-
|
84
|
-
contentRoot: "PluginConfig" = _dc.field(default_factory=lambda: PluginConfig())
|
82
|
+
class GatewayConfig:
|
85
83
|
|
86
|
-
|
84
|
+
routes: "_tp.List[RouteConfig]" = _dc.field(default_factory=list)
|
87
85
|
|
88
|
-
redirects: "_tp.List[
|
86
|
+
redirects: "_tp.List[GatewayRedirect]" = _dc.field(default_factory=list)
|
89
87
|
|
90
88
|
|
91
89
|
@_dc.dataclass
|
92
|
-
class
|
93
|
-
|
94
|
-
source: "str" = ""
|
95
|
-
|
96
|
-
target: "str" = ""
|
97
|
-
|
98
|
-
|
99
|
-
@_dc.dataclass
|
100
|
-
class WebServerRedirect:
|
90
|
+
class GatewayRedirect:
|
101
91
|
|
102
92
|
source: "str" = ""
|
103
93
|
|
@@ -106,14 +96,6 @@ class WebServerRedirect:
|
|
106
96
|
status: "int" = 0
|
107
97
|
|
108
98
|
|
109
|
-
@_dc.dataclass
|
110
|
-
class GatewayConfig:
|
111
|
-
|
112
|
-
routes: "_tp.List[RouteConfig]" = _dc.field(default_factory=list)
|
113
|
-
|
114
|
-
redirects: "_tp.List[WebServerRedirect]" = _dc.field(default_factory=list)
|
115
|
-
|
116
|
-
|
117
99
|
@_dc.dataclass
|
118
100
|
class RouteConfig:
|
119
101
|
|
@@ -154,3 +136,9 @@ class RoutingTarget:
|
|
154
136
|
class DeploymentConfig:
|
155
137
|
|
156
138
|
layout: "DeploymentLayout" = DeploymentLayout.LAYOUT_NOT_SET
|
139
|
+
|
140
|
+
|
141
|
+
@_dc.dataclass
|
142
|
+
class ClientConfig:
|
143
|
+
|
144
|
+
properties: "_tp.Dict[str, str]" = _dc.field(default_factory=dict)
|
tracdap/rt/ext/embed.py
CHANGED
@@ -14,8 +14,8 @@
|
|
14
14
|
# limitations under the License.
|
15
15
|
|
16
16
|
import tracdap.rt.config as _cfg
|
17
|
-
import tracdap.rt._impl.guard_rails as _guard # noqa
|
18
|
-
import tracdap.rt.
|
17
|
+
import tracdap.rt._impl.core.guard_rails as _guard # noqa
|
18
|
+
import tracdap.rt._impl.runtime as _rt # noqa
|
19
19
|
|
20
20
|
|
21
21
|
class __EmbeddedRuntime:
|
tracdap/rt/ext/plugins.py
CHANGED
@@ -19,8 +19,8 @@ import importlib as _il
|
|
19
19
|
|
20
20
|
import tracdap.rt.config as _cfg
|
21
21
|
import tracdap.rt.exceptions as _ex
|
22
|
-
import tracdap.rt._impl.guard_rails as _guard # noqa
|
23
|
-
import tracdap.rt._impl.logging as _logging # noqa
|
22
|
+
import tracdap.rt._impl.core.guard_rails as _guard # noqa
|
23
|
+
import tracdap.rt._impl.core.logging as _logging # noqa
|
24
24
|
from tracdap.rt.exceptions import EStartup
|
25
25
|
|
26
26
|
|
tracdap/rt/launch/launch.py
CHANGED
@@ -20,9 +20,9 @@ import pathlib as _pathlib
|
|
20
20
|
import typing as _tp
|
21
21
|
|
22
22
|
import tracdap.rt.api as _api
|
23
|
-
import tracdap.rt._impl.config_parser as _cparse # noqa
|
24
|
-
import tracdap.rt._impl.util as _util # noqa
|
25
|
-
import tracdap.rt.
|
23
|
+
import tracdap.rt._impl.core.config_parser as _cparse # noqa
|
24
|
+
import tracdap.rt._impl.core.util as _util # noqa
|
25
|
+
import tracdap.rt._impl.runtime as _runtime # noqa
|
26
26
|
|
27
27
|
from .cli import _cli_args
|
28
28
|
|
tracdap/rt/metadata/__init__.py
CHANGED
@@ -9,6 +9,8 @@ from .type import Value
|
|
9
9
|
from .type import ArrayValue
|
10
10
|
from .type import MapValue
|
11
11
|
|
12
|
+
from .custom import CustomDefinition
|
13
|
+
|
12
14
|
from .object_id import ObjectType
|
13
15
|
from .object_id import TagHeader
|
14
16
|
from .object_id import TagSelector
|
@@ -17,10 +19,19 @@ from .data import SchemaType
|
|
17
19
|
from .data import PartType
|
18
20
|
from .data import FieldSchema
|
19
21
|
from .data import TableSchema
|
22
|
+
from .data import StructField
|
23
|
+
from .data import StructSchema
|
20
24
|
from .data import SchemaDefinition
|
21
25
|
from .data import PartKey
|
22
26
|
from .data import DataDefinition
|
23
27
|
|
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
|
+
|
24
35
|
from .file import FileDefinition
|
25
36
|
from .file import FileType
|
26
37
|
|
@@ -64,15 +75,6 @@ from .common import MetadataFormat
|
|
64
75
|
from .common import MetadataVersion
|
65
76
|
from .common import TenantInfo
|
66
77
|
|
67
|
-
from .stoarge import CopyStatus
|
68
|
-
from .stoarge import IncarnationStatus
|
69
|
-
from .stoarge import StorageCopy
|
70
|
-
from .stoarge import StorageIncarnation
|
71
|
-
from .stoarge import StorageItem
|
72
|
-
from .stoarge import StorageDefinition
|
73
|
-
|
74
|
-
from .custom import CustomDefinition
|
75
|
-
|
76
78
|
from .object import ObjectDefinition
|
77
79
|
|
78
80
|
from .tag import Tag
|
tracdap/rt/metadata/data.py
CHANGED
@@ -25,6 +25,10 @@ class SchemaType(_enum.Enum):
|
|
25
25
|
|
26
26
|
"""Tabular data"""
|
27
27
|
|
28
|
+
STRUCT = 2
|
29
|
+
|
30
|
+
"""Structured objects"""
|
31
|
+
|
28
32
|
|
29
33
|
class PartType(_enum.Enum):
|
30
34
|
|
@@ -80,6 +84,40 @@ class TableSchema:
|
|
80
84
|
fields: "_tp.List[FieldSchema]" = _dc.field(default_factory=list)
|
81
85
|
|
82
86
|
|
87
|
+
@_dc.dataclass
|
88
|
+
class StructField:
|
89
|
+
|
90
|
+
"""* Schema for an individual field in a structured object dataset"""
|
91
|
+
|
92
|
+
fieldType: "TypeDescriptor" = _dc.field(default_factory=lambda: TypeDescriptor())
|
93
|
+
|
94
|
+
label: "str" = ""
|
95
|
+
|
96
|
+
businessKey: "bool" = False
|
97
|
+
|
98
|
+
categorical: "bool" = False
|
99
|
+
|
100
|
+
notNull: "_tp.Optional[bool]" = None
|
101
|
+
|
102
|
+
"""This could become mandatory with the next metadata update"""
|
103
|
+
|
104
|
+
formatCode: "_tp.Optional[str]" = None
|
105
|
+
|
106
|
+
defaultValue: "Value" = _dc.field(default_factory=lambda: Value())
|
107
|
+
|
108
|
+
structType: "_tp.Optional[str]" = None
|
109
|
+
|
110
|
+
|
111
|
+
@_dc.dataclass
|
112
|
+
class StructSchema:
|
113
|
+
|
114
|
+
"""* Schema for a structured object dataset"""
|
115
|
+
|
116
|
+
fields: "_tp.Dict[str, StructField]" = _dc.field(default_factory=dict)
|
117
|
+
|
118
|
+
namedTypes: "_tp.Dict[str, StructSchema]" = _dc.field(default_factory=dict)
|
119
|
+
|
120
|
+
|
83
121
|
@_dc.dataclass
|
84
122
|
class SchemaDefinition:
|
85
123
|
|
@@ -103,6 +141,8 @@ class SchemaDefinition:
|
|
103
141
|
|
104
142
|
table: "_tp.Optional[TableSchema]" = None
|
105
143
|
|
144
|
+
struct: "_tp.Optional[StructSchema]" = None
|
145
|
+
|
106
146
|
|
107
147
|
@_dc.dataclass
|
108
148
|
class PartKey:
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: tracdap-runtime
|
3
|
-
Version: 0.8.
|
3
|
+
Version: 0.8.0b4
|
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
|
@@ -13,19 +13,20 @@ Platform: any
|
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
14
14
|
Classifier: License :: OSI Approved :: Apache Software License
|
15
15
|
Classifier: Operating System :: OS Independent
|
16
|
-
Requires-Python: <3.
|
16
|
+
Requires-Python: <3.14,>=3.9
|
17
17
|
Description-Content-Type: text/markdown
|
18
18
|
License-File: LICENSE
|
19
|
-
Requires-Dist: protobuf==5.
|
20
|
-
Requires-Dist: pyarrow==
|
19
|
+
Requires-Dist: protobuf==5.29.3
|
20
|
+
Requires-Dist: pyarrow==18.1.0
|
21
21
|
Requires-Dist: pyyaml==6.0.2
|
22
|
-
Requires-Dist: dulwich==0.22.
|
22
|
+
Requires-Dist: dulwich==0.22.7
|
23
23
|
Requires-Dist: requests==2.32.3
|
24
|
-
Requires-Dist: pandas<2.3.0,>=1.2.0
|
25
|
-
Requires-Dist: numpy<2.0.0
|
26
24
|
Provides-Extra: grpc
|
27
|
-
Requires-Dist: grpcio==1.
|
28
|
-
Requires-Dist: grpcio-status==1.
|
25
|
+
Requires-Dist: grpcio==1.70.0; extra == "grpc"
|
26
|
+
Requires-Dist: grpcio-status==1.70.0; extra == "grpc"
|
27
|
+
Provides-Extra: pandas
|
28
|
+
Requires-Dist: pandas<2.3.0,>=1.2.0; extra == "pandas"
|
29
|
+
Requires-Dist: numpy<2.3.0,>=1.20; extra == "pandas"
|
29
30
|
Provides-Extra: polars
|
30
31
|
Requires-Dist: polars<2.0.0,>=1.0.0; extra == "polars"
|
31
32
|
Provides-Extra: pyspark
|
@@ -64,12 +65,13 @@ Documentation for the TRAC platform is available on our website at
|
|
64
65
|
|
65
66
|
The TRAC runtime for Python has these requirements:
|
66
67
|
|
67
|
-
* Python: 3.
|
68
|
+
* Python: 3.9 up to 3.13
|
68
69
|
* Pandas: 1.2 up to 2.2
|
69
70
|
* PySpark 3.0 up to 3.5 (optional)
|
70
71
|
|
71
|
-
3rd party libraries may impose additional constraints on supported versions of
|
72
|
-
|
72
|
+
3rd party libraries may impose additional constraints on supported versions of key libraries.
|
73
|
+
For example, Pandas 1.5 is not available for Python 3.12 or 3.13, while NumPy 2.0 is only
|
74
|
+
compatible with Pandas 2.1 and later.
|
73
75
|
|
74
76
|
## Installing the runtime
|
75
77
|
|
@@ -1,44 +1,46 @@
|
|
1
1
|
tracdap/rt/__init__.py,sha256=4aCSENdKNrf9nC1lUULwmHpI1D3K74_4CJzpG_OjA4Q,830
|
2
|
-
tracdap/rt/_version.py,sha256=
|
2
|
+
tracdap/rt/_version.py,sha256=_roHKrPP9_ydWZxKJle4XXi0Wb6Ky3E0pFlWcTeY8QM,820
|
3
3
|
tracdap/rt/exceptions.py,sha256=PsB4fExDI-bliqJZD-ESrr9MeLPDW7R5VN_JcWg7TqU,8175
|
4
|
-
tracdap/rt/_exec/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
|
-
tracdap/rt/_exec/actors.py,sha256=xbPHp4kC3egHAHELWcbBAhTK2nnBx9EHtjjxprxhPRs,35209
|
6
|
-
tracdap/rt/_exec/context.py,sha256=6eAf41PUU5Bo4TCihbo-H6hlePMiPlovwXBFGLKZ9yU,44304
|
7
|
-
tracdap/rt/_exec/dev_mode.py,sha256=9LAUNE_hKaAKlHyoG7u8oOHqUWjocXOpijsyiaa2Nt0,42620
|
8
|
-
tracdap/rt/_exec/engine.py,sha256=GRLlNS7AmQYdLqy01S_7OPOXorT-FpoZHBqZubO8NdI,48104
|
9
|
-
tracdap/rt/_exec/functions.py,sha256=dSyTMBiGfGceywgryZudK5ebg4APug40n9fWSdJgf48,31806
|
10
|
-
tracdap/rt/_exec/graph.py,sha256=WKlF4ZK9k7EN6Zi-EmMOOWeILLdCHnhQ-pJPueMJ_Fw,11921
|
11
|
-
tracdap/rt/_exec/graph_builder.py,sha256=pHP48iDLhl3bflHlpfhJuZnOcUaxVG_OXLIfMF9EOos,47705
|
12
|
-
tracdap/rt/_exec/runtime.py,sha256=9sAeFAXpLgvRQrKL9yLCiOJPl61fiZrDCjpjfqN4Y1o,16949
|
13
|
-
tracdap/rt/_exec/server.py,sha256=wU62x7yIdRFS9MZy3pZsB4fjUb2Adt0gegQaQu242Bk,12644
|
14
4
|
tracdap/rt/_impl/__init__.py,sha256=nFn00zysNlcEFHQJWs4l6vLm9RS5zsJ_IF9-eRwEXlo,796
|
15
|
-
tracdap/rt/_impl/
|
16
|
-
tracdap/rt/_impl/
|
17
|
-
tracdap/rt/_impl/
|
18
|
-
tracdap/rt/_impl/
|
19
|
-
tracdap/rt/_impl/
|
20
|
-
tracdap/rt/_impl/
|
21
|
-
tracdap/rt/_impl/
|
22
|
-
tracdap/rt/_impl/
|
23
|
-
tracdap/rt/_impl/
|
24
|
-
tracdap/rt/_impl/
|
25
|
-
tracdap/rt/_impl/
|
26
|
-
tracdap/rt/_impl/
|
27
|
-
tracdap/rt/_impl/
|
5
|
+
tracdap/rt/_impl/runtime.py,sha256=FX5dqV-KfyvLfQvksv0RTle8N6kd_6-oaIJqSu32S6w,16955
|
6
|
+
tracdap/rt/_impl/static_api.py,sha256=EN-ANv5SEoJnzS7o-x97or36plSfFRZYWN6cfZghEVs,11298
|
7
|
+
tracdap/rt/_impl/core/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
|
8
|
+
tracdap/rt/_impl/core/config_parser.py,sha256=R0OhSxU3VKHi8neGXZPOFj0C8WxQgu-t0nfcJ-c4qRE,24129
|
9
|
+
tracdap/rt/_impl/core/data.py,sha256=Qe4-s14qtbxptw4BhFH_rISTdUrZrnuyEPIEar7ZrpM,47018
|
10
|
+
tracdap/rt/_impl/core/guard_rails.py,sha256=eixt5hqFuAMmPlzDQyWBXSKDYt12d954qfk-lwkdQmI,11611
|
11
|
+
tracdap/rt/_impl/core/logging.py,sha256=AdE_KtZ1HiiEuLwg6C_xcAgq0XULbaxHv3MWuv3GT_A,6505
|
12
|
+
tracdap/rt/_impl/core/models.py,sha256=u2ZIql8Xm1kcG_Bu4lGaAsaLhxYEKxrZAkzYP3lBl88,11103
|
13
|
+
tracdap/rt/_impl/core/repos.py,sha256=BoW4C7Urejr8YPiW8DFe9e5GynLhvhT2iYeUsDDUuTs,2289
|
14
|
+
tracdap/rt/_impl/core/schemas.py,sha256=w9Vk1yNg1-LaAqQkrL1mxY5TCwtKHcJJzpoz23AclwE,7625
|
15
|
+
tracdap/rt/_impl/core/shim.py,sha256=Ek9dlbCSyTyt_B-gCJLR21SRRTZig7XluCCRHFv9pbE,23388
|
16
|
+
tracdap/rt/_impl/core/storage.py,sha256=AFTdSXeKti67tdTspBQ4V7RlqAGu_S7DZb1rJDlZrdM,36114
|
17
|
+
tracdap/rt/_impl/core/struct.py,sha256=4hnwG099BqD3wACXOEUeMBkLhAgNUWkG8lJwIXKSF9c,19144
|
18
|
+
tracdap/rt/_impl/core/type_system.py,sha256=KGO32QvppRP_35y_pwapxWdJd-YS6VQ7NCSR-3VsMbM,15371
|
19
|
+
tracdap/rt/_impl/core/util.py,sha256=Ro23tt4cjvgvPtiya932poPe5xW9q-vbb_t5u9fGV3Y,7620
|
20
|
+
tracdap/rt/_impl/core/validation.py,sha256=XmRaaiBIYu5iqGPnBzU8SPSCYrCwGKfgEJITj5VKOpk,25029
|
21
|
+
tracdap/rt/_impl/exec/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
|
22
|
+
tracdap/rt/_impl/exec/actors.py,sha256=ebPBsIsgok02YM-Ql277Tbz8s-_xDhsteMa3sLV0xFw,35135
|
23
|
+
tracdap/rt/_impl/exec/context.py,sha256=8RziSSoQRezq_-kCmci81xaoy-6Jaef6FOxPOcXnDws,47126
|
24
|
+
tracdap/rt/_impl/exec/dev_mode.py,sha256=W7uXFmK-bgNowJZXQf4Sgcmw53bZ2j3lYlRws0T-BXY,43246
|
25
|
+
tracdap/rt/_impl/exec/engine.py,sha256=WwSuuAy0PXtI53aIEF85rbHkD4yxX2wvNxwZZSOFBUo,48101
|
26
|
+
tracdap/rt/_impl/exec/functions.py,sha256=lZl_6pqa1Huyq5wIt_zPbPxbER_rnPqSlKyWyU6fYCI,33829
|
27
|
+
tracdap/rt/_impl/exec/graph.py,sha256=2r2ojPjxBDphyCqfWksaCBEW77o6ZmxZWAKzpAQiopA,11918
|
28
|
+
tracdap/rt/_impl/exec/graph_builder.py,sha256=KLbQuY7TAHUwOTgorTnYvV-h07a1wip5WiRcOR9ZTiM,47699
|
28
29
|
tracdap/rt/_impl/ext/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
|
29
30
|
tracdap/rt/_impl/ext/sql.py,sha256=wDlSixuDWErDlDSXo55Ti5gpHXJ5oe75Lsb4ttlrUL0,2938
|
30
31
|
tracdap/rt/_impl/ext/storage.py,sha256=HvMHAT5pE6XhUaUfyeZ7ej8JNz2jYsu0UQAEh0Iqnsw,1763
|
31
32
|
tracdap/rt/_impl/grpc/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
|
32
33
|
tracdap/rt/_impl/grpc/codec.py,sha256=2Uo-j-tbAyD47eCCSpkq6cPN2P80xu-q5v5l_lwMxIU,3970
|
33
|
-
tracdap/rt/_impl/grpc/
|
34
|
+
tracdap/rt/_impl/grpc/server.py,sha256=Q18O5yRAT-Jqr9wDXuUraOYhpEH-rfnFk9tvvb-o3Os,12635
|
35
|
+
tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.py,sha256=5KCfcaSZ9ydp26z78-iuM2jCmFRmqgDqMuxAg7Xgcx0,5174
|
34
36
|
tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2.pyi,sha256=78VhnLgm_m6HSgQT0bg7j86O9g8GNMADkm3SotQ39lg,3227
|
35
|
-
tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2_grpc.py,sha256=
|
37
|
+
tracdap/rt/_impl/grpc/tracdap/api/internal/runtime_pb2_grpc.py,sha256=dQod-kQYoAJwpIPHgGRiZBx4q_419JppjqELv7cUJrE,8461
|
36
38
|
tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.py,sha256=oql1naNGBKxpPIQZViewQSzUmMpt9U8gB-qSJpxkBwo,1945
|
37
39
|
tracdap/rt/_impl/grpc/tracdap/metadata/common_pb2.pyi,sha256=R7fTC8HV0j8zB2E2KVtLWXSAeu5MVLrgeL-PnnOsUxg,1275
|
38
40
|
tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.py,sha256=DfHhxxvKU_htkLjUdvsVfxl8Gj8z5GenAuhCSuMT6Ps,1421
|
39
41
|
tracdap/rt/_impl/grpc/tracdap/metadata/custom_pb2.pyi,sha256=_GubsAG9rpuV_QhhXKTDOPeWIpkAkg5jlHkSZxaILak,702
|
40
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py,sha256=
|
41
|
-
tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi,sha256=
|
42
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.py,sha256=dLU42LwRw6m8Fcp3Q-f4Hb2a6-7ryUN6SB01zqy_iNA,7060
|
43
|
+
tracdap/rt/_impl/grpc/tracdap/metadata/data_pb2.pyi,sha256=ZbHX2-NFqeYzJqpz62MPwL7Q6Ayu_4d5AimRI68Lo8A,8167
|
42
44
|
tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.py,sha256=lKLP3cIzZX3mSdRMmwPBNdYjwunAs-BvzpqK29WJVak,1933
|
43
45
|
tracdap/rt/_impl/grpc/tracdap/metadata/file_pb2.pyi,sha256=3JX6Vcc6cHlLXcihq0R_BDdvLQ2Ubob0XHzZnNCD7as,1385
|
44
46
|
tracdap/rt/_impl/grpc/tracdap/metadata/flow_pb2.py,sha256=GyY4iaqp9wtZ29byMllPmk4o2nosUgdazdqf9KKUg-g,5799
|
@@ -67,7 +69,7 @@ tracdap/rt/_plugins/__init__.py,sha256=nFn00zysNlcEFHQJWs4l6vLm9RS5zsJ_IF9-eRwEX
|
|
67
69
|
tracdap/rt/_plugins/_helpers.py,sha256=--AkQUDvC0P_of_FRF5_xPd6er72yWI1G4GNYHUTX8w,6027
|
68
70
|
tracdap/rt/_plugins/config_local.py,sha256=SemksOXRPsUMNoTinjWe00F-Q4o-5X2ql3eswjjVUgM,1944
|
69
71
|
tracdap/rt/_plugins/format_arrow.py,sha256=TQb6WR2MrjXem1gJg4EZQy3NGP-hEe1GneiSkvSAqeM,2397
|
70
|
-
tracdap/rt/_plugins/format_csv.py,sha256=
|
72
|
+
tracdap/rt/_plugins/format_csv.py,sha256=NJ-8XeZH5ZplNUv7iLZBgVXzbXJ9jutU0cqXSdyM-Mo,17015
|
71
73
|
tracdap/rt/_plugins/format_parquet.py,sha256=VwmrcEvaGczzdaWFgmpT9kYDKDk5UwQ6BQF31vm7D-g,2346
|
72
74
|
tracdap/rt/_plugins/repo_git.py,sha256=5snP5IkzEQP_XdhAM5U3IkV8wv-yZGLHzN-d6BL1h2k,10464
|
73
75
|
tracdap/rt/_plugins/repo_local.py,sha256=PZGDeRA2SLJTO-Z-YV9CHeXPUB0zt_fzIElCsw8zR-c,2913
|
@@ -76,34 +78,34 @@ tracdap/rt/_plugins/storage_aws.py,sha256=yxDYw0jL-hXoUgqBlPhL1I_8i8LehOMjZKtG_n
|
|
76
78
|
tracdap/rt/_plugins/storage_azure.py,sha256=G8gwrK_irwqodQmfzzOGiWigp9nQK1RvweDAbWFxwBs,6000
|
77
79
|
tracdap/rt/_plugins/storage_gcp.py,sha256=D0ReW2ZZ6IDqRdF-lowL43ceaupmf4tJGo7jvWHk8DQ,6651
|
78
80
|
tracdap/rt/_plugins/storage_local.py,sha256=KY1CsT0GzjYWo5YYetTnQDWu18RhVrmEGBrEUSQHPKU,15742
|
79
|
-
tracdap/rt/_plugins/storage_sql.py,sha256=
|
81
|
+
tracdap/rt/_plugins/storage_sql.py,sha256=QoSDLpxzeAQP-jb3IW9E6cLVXGq9wnVEPAk0JY6Jz1w,16080
|
80
82
|
tracdap/rt/_plugins/storage_sql_dialects.py,sha256=4HWx5Gm50TRf5BTmc3hMREJIFsFgqo4g7wkVEVZzPz0,3550
|
81
83
|
tracdap/rt/api/__init__.py,sha256=QqbrCINnOe0fP8E1496pCjUHKS2ysTRzis3n6CWCLeI,2105
|
82
|
-
tracdap/rt/api/experimental.py,sha256=
|
84
|
+
tracdap/rt/api/experimental.py,sha256=ycD7xpMyXBI6W2UCirCbYtQ0rVVCNByAsA0p3euXmo8,9100
|
83
85
|
tracdap/rt/api/file_types.py,sha256=9d8zBI74ALADYKHevGkSnqJlng2Zd4Y7dto4iregnnE,1349
|
84
|
-
tracdap/rt/api/hook.py,sha256=
|
86
|
+
tracdap/rt/api/hook.py,sha256=0TA_pu-22IoVNacf38dq3Aaz4sHoau1IdhabfxgKtOE,5243
|
85
87
|
tracdap/rt/api/model_api.py,sha256=ONDU0ocNnejGi2r9nCKTlblqw847Yz4vtGo4M8inc9Q,22435
|
86
88
|
tracdap/rt/api/static_api.py,sha256=XfmWy1dFP3xS7Z4kTtSl8dtAscMF25vfQbHHtpFpvpw,29938
|
87
|
-
tracdap/rt/config/__init__.py,sha256=
|
88
|
-
tracdap/rt/config/common.py,sha256=
|
89
|
+
tracdap/rt/config/__init__.py,sha256=evT6_wwpLS6JOMWUneXenjFJNlZ8DmVyYJOIjAJlvbw,796
|
90
|
+
tracdap/rt/config/common.py,sha256=uKdwvfAKUzi8Wag4NpIYIZyL3D-Ed-KN1sqYuOpOROw,1187
|
89
91
|
tracdap/rt/config/job.py,sha256=B-aVIq0vJUY41-vPuIOLIq4A2hdfL9EJN0X9--nGfcI,656
|
90
|
-
tracdap/rt/config/platform.py,sha256=
|
92
|
+
tracdap/rt/config/platform.py,sha256=aU7sVInAcf7NxPk6KufaHqDbM_NZRQ9qOb3w4rDT4qI,3005
|
91
93
|
tracdap/rt/config/result.py,sha256=cKFz9ql_6Ru6qj7UP_VJZ2HJORf52dmi1dnK7eBxD-g,612
|
92
94
|
tracdap/rt/config/runtime.py,sha256=ENzEEiAOEmHOgaTVXO9j6WOX6Vv0cVSdYcFxJb_CTnQ,707
|
93
95
|
tracdap/rt/ext/__init__.py,sha256=7VEb_giQUbvBBO8OSTjTtgFgu7WSA43qslcZvhweO10,795
|
94
96
|
tracdap/rt/ext/config.py,sha256=5LM1IuRjoVe43oLSgn02LAv1uvDl_lBfZrLjjiduCBU,1223
|
95
|
-
tracdap/rt/ext/embed.py,sha256=
|
96
|
-
tracdap/rt/ext/plugins.py,sha256=
|
97
|
+
tracdap/rt/ext/embed.py,sha256=QmxDnoRK8jYN664jqEQFQlYBPX81Q7wpHKdKsRqNiDo,2297
|
98
|
+
tracdap/rt/ext/plugins.py,sha256=AqscyHdgV1AAxaenDR9HJH8fnG-Db72LEk01dZ0OXVM,4610
|
97
99
|
tracdap/rt/ext/repos.py,sha256=gqMSRX8GhhS5kdUwOEPlzrWPw4alTB-tpIJl23wJlss,3297
|
98
100
|
tracdap/rt/ext/storage.py,sha256=O0gvjB2taZpBJ_a3rZfKzh8B1PxUYwPxug6jHNSpm8Q,4980
|
99
101
|
tracdap/rt/launch/__init__.py,sha256=SPIwj5Bwa-IlhrfY1OJspYnL_mPLvz4F9XTAYKeu6IE,907
|
100
102
|
tracdap/rt/launch/__main__.py,sha256=tfr5wL1gHm0oj4tcX6pv6bl-3Z1K7VMpmmNMQzfMFzU,841
|
101
103
|
tracdap/rt/launch/cli.py,sha256=jGySYBawTDFJrhHgwYnplXb9VPcgfrBVB2UURqx5s-s,2638
|
102
|
-
tracdap/rt/launch/launch.py,sha256=
|
103
|
-
tracdap/rt/metadata/__init__.py,sha256=
|
104
|
+
tracdap/rt/launch/launch.py,sha256=BogIdacUhIvr_Ay-LU2eik8Y1DvGr-GrOiOi40XqZ1A,7806
|
105
|
+
tracdap/rt/metadata/__init__.py,sha256=rqOLFTMY4_Jw4H8aGfI-2CNA-v28eoKLCPr-GwS1FjA,2154
|
104
106
|
tracdap/rt/metadata/common.py,sha256=J24poYPHSJfORPqqhyJGTAmepdhVaT0V0RblWiW9jCI,1404
|
105
107
|
tracdap/rt/metadata/custom.py,sha256=GhCO8xjjsjZzlfSefqmCFX80rXJnxDCDq_STWi0ZL_0,352
|
106
|
-
tracdap/rt/metadata/data.py,sha256=
|
108
|
+
tracdap/rt/metadata/data.py,sha256=C8rkWVw9lO62Y-LsGebKORseTIaTN-hRNvZjFY2AgIw,4428
|
107
109
|
tracdap/rt/metadata/file.py,sha256=yZenBUoeBATCq1CsIqpC-98HL6MiQdxKBJLR9ukRF7w,544
|
108
110
|
tracdap/rt/metadata/flow.py,sha256=IgZTh62xndAAFG1Y44JORrVKOV7Bd4dEqtWjf1CGeHU,3491
|
109
111
|
tracdap/rt/metadata/job.py,sha256=r8IBe-IumI_An1jrg-h8mM2bZPEew8evpXp5GkfEfNo,6390
|
@@ -116,8 +118,8 @@ tracdap/rt/metadata/stoarge.py,sha256=-WYc3aJskSCF_ETFQDavG3fTck__WPGMOfzWEBv55p
|
|
116
118
|
tracdap/rt/metadata/tag.py,sha256=cjKF5gdNECHDtA9sc09Dc2Q4WNZQA_7iJsUEHSKFXiQ,5097
|
117
119
|
tracdap/rt/metadata/tag_update.py,sha256=I7iDJiHEcSQ2vhOlhIc0fzeOoqTg6N1LJZU1R6tG_8g,3779
|
118
120
|
tracdap/rt/metadata/type.py,sha256=7XOGlLVvxd6DEmKRBYTANBsu9lmxDOsMKE0aNvzsB3M,9568
|
119
|
-
tracdap_runtime-0.8.
|
120
|
-
tracdap_runtime-0.8.
|
121
|
-
tracdap_runtime-0.8.
|
122
|
-
tracdap_runtime-0.8.
|
123
|
-
tracdap_runtime-0.8.
|
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,,
|
tracdap/rt/_exec/__init__.py
DELETED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|