tracdap-runtime 0.6.0rc3__tar.gz → 0.6.1.dev2__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.6.0rc3/tracdap_runtime.egg-info → tracdap_runtime-0.6.1.dev2}/PKG-INFO +3 -3
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/README.md +1 -1
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/setup.cfg +2 -2
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/models.py +12 -7
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/storage.py +4 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/util.py +20 -12
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/_helpers.py +11 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/repo_git.py +7 -1
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/repo_pypi.py +2 -1
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/storage_local.py +13 -8
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_version.py +1 -1
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/platform.py +2 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/platform_pb2.py +17 -17
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2/tracdap_runtime.egg-info}/PKG-INFO +3 -3
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/tracdap_runtime.egg-info/requires.txt +1 -1
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/LICENSE +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/pyproject.toml +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/__init__.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_exec/__init__.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_exec/actors.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_exec/context.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_exec/dev_mode.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_exec/engine.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_exec/functions.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_exec/graph.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_exec/graph_builder.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_exec/runtime.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/__init__.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/config_parser.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/data.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/guard_rails.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/repos.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/schemas.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/shim.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/static_api.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/type_system.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/validation.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/__init__.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/format_arrow.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/format_csv.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/format_parquet.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/repo_local.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/storage_aws.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/storage_azure.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/storage_gcp.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/api/__init__.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/api/hook.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/api/model_api.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/api/static_api.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/__init__.py +3 -3
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/common.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/common_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/job.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/job_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/result.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/result_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/runtime.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/runtime_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/exceptions.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/ext/__init__.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/ext/_guard.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/ext/embed.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/ext/plugins.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/ext/repos.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/ext/storage.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/launch/__init__.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/launch/__main__.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/launch/cli.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/launch/launch.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/__init__.py +20 -20
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/common.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/common_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/custom.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/custom_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/data.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/data_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/file.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/file_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/flow.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/flow_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/job.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/job_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/model.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/model_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/object.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/object_id.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/object_id_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/object_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/search.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/search_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/stoarge.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/stoarge_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/tag.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/tag_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/tag_update.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/tag_update_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/type.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/type_pb2.py +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/tracdap_runtime.egg-info/SOURCES.txt +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/tracdap_runtime.egg-info/dependency_links.txt +0 -0
- {tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/tracdap_runtime.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: tracdap-runtime
|
3
|
-
Version: 0.6.
|
3
|
+
Version: 0.6.1.dev2
|
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
|
@@ -21,7 +21,7 @@ Requires-Dist: pyarrow==16.0.0
|
|
21
21
|
Requires-Dist: pyyaml==6.0.1
|
22
22
|
Requires-Dist: dulwich==0.22.1
|
23
23
|
Requires-Dist: requests==2.32.3
|
24
|
-
Requires-Dist: pandas<2.
|
24
|
+
Requires-Dist: pandas<2.3.0,>=1.2.0
|
25
25
|
Requires-Dist: numpy<2.0.0
|
26
26
|
Provides-Extra: spark
|
27
27
|
Requires-Dist: pyspark<3.6.0,>=3.0.0; extra == "spark"
|
@@ -58,7 +58,7 @@ Documentation for the TRAC platform is available on our website at
|
|
58
58
|
The TRAC runtime for Python has these requirements:
|
59
59
|
|
60
60
|
* Python: 3.8 up to 3.12
|
61
|
-
* Pandas: 1.2 up to 2.
|
61
|
+
* Pandas: 1.2 up to 2.2
|
62
62
|
* PySpark 3.0 up to 3.5 (optional)
|
63
63
|
|
64
64
|
3rd party libraries may impose additional constraints on supported versions of Python, Pandas or PySpark.
|
@@ -17,7 +17,7 @@ Documentation for the TRAC platform is available on our website at
|
|
17
17
|
The TRAC runtime for Python has these requirements:
|
18
18
|
|
19
19
|
* Python: 3.8 up to 3.12
|
20
|
-
* Pandas: 1.2 up to 2.
|
20
|
+
* Pandas: 1.2 up to 2.2
|
21
21
|
* PySpark 3.0 up to 3.5 (optional)
|
22
22
|
|
23
23
|
3rd party libraries may impose additional constraints on supported versions of Python, Pandas or PySpark.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[metadata]
|
2
2
|
name = tracdap-runtime
|
3
|
-
version = 0.6.
|
3
|
+
version = 0.6.1.dev2
|
4
4
|
description = Runtime package for building models on the TRAC Data & Analytics Platform
|
5
5
|
long_description = file: README.md
|
6
6
|
long_description_content_type = text/markdown
|
@@ -40,7 +40,7 @@ install_requires =
|
|
40
40
|
dulwich == 0.22.1
|
41
41
|
requests == 2.32.3
|
42
42
|
|
43
|
-
pandas >= 1.2.0, < 2.
|
43
|
+
pandas >= 1.2.0, < 2.3.0
|
44
44
|
numpy < 2.0.0
|
45
45
|
|
46
46
|
[options.extras_require]
|
@@ -44,21 +44,24 @@ class ModelLoader:
|
|
44
44
|
self.__log = _util.logger_for_object(self)
|
45
45
|
|
46
46
|
self.__scratch_dir = scratch_dir.joinpath("models")
|
47
|
-
self.__scratch_dir.mkdir(exist_ok=True, parents=False, mode=0o750)
|
48
|
-
|
49
47
|
self.__repos = _repos.RepositoryManager(sys_config)
|
50
48
|
self.__scopes: tp.Dict[str, ModelLoader._ScopeState] = dict()
|
51
49
|
|
50
|
+
safe_scratch_dir = _util.windows_unc_path(self.__scratch_dir)
|
51
|
+
safe_scratch_dir.mkdir(exist_ok=True, parents=False, mode=0o750)
|
52
|
+
|
52
53
|
def create_scope(self, scope: str):
|
53
54
|
|
54
55
|
try:
|
55
56
|
|
56
57
|
self.__log.info(f"Creating model scope [{scope}]")
|
57
58
|
|
58
|
-
|
59
|
-
scope_scratch_dir.mkdir(exist_ok=False, parents=False, mode=0o750)
|
59
|
+
scope_dir = self.__scratch_dir.joinpath(scope)
|
60
60
|
|
61
|
-
|
61
|
+
safe_scope_dir = _util.windows_unc_path(scope_dir)
|
62
|
+
safe_scope_dir.mkdir(exist_ok=False, parents=False, mode=0o750)
|
63
|
+
|
64
|
+
scope_state = ModelLoader._ScopeState(scope_dir)
|
62
65
|
self.__scopes[scope] = scope_state
|
63
66
|
|
64
67
|
except FileExistsError as e:
|
@@ -152,7 +155,9 @@ class ModelLoader:
|
|
152
155
|
# What gets cached is the checkout, which may contain multiple packages depending on the repo type
|
153
156
|
|
154
157
|
else:
|
155
|
-
|
158
|
+
safe_checkout_dir = _util.windows_unc_path(checkout_dir)
|
159
|
+
safe_checkout_dir.mkdir(mode=0o750, parents=True, exist_ok=False)
|
160
|
+
|
156
161
|
package_dir = repo.do_checkout(model_def, checkout_dir)
|
157
162
|
|
158
163
|
scope_state.code_cache[code_cache_key] = checkout_dir
|
@@ -189,7 +194,7 @@ class ModelLoader:
|
|
189
194
|
|
190
195
|
try:
|
191
196
|
|
192
|
-
model: _api.TracModel =
|
197
|
+
model: _api.TracModel = _api.TracModel.__new__(model_class)
|
193
198
|
model_class.__init__(model)
|
194
199
|
|
195
200
|
attributes = model.define_attributes()
|
@@ -214,6 +214,10 @@ class CommonFileStorage(IFileStorage):
|
|
214
214
|
fs_impl = "arrow"
|
215
215
|
fs_root = fs.base_path
|
216
216
|
|
217
|
+
# On Windows, sanitise UNC root paths for logging
|
218
|
+
if _util.is_windows() and fs_root.startswith("//?/"):
|
219
|
+
fs_root = fs_root[4:]
|
220
|
+
|
217
221
|
# If this is an FSSpec implementation, take the protocol from FSSpec as the FS type
|
218
222
|
base_fs = fs.base_fs
|
219
223
|
if isinstance(base_fs, pa_fs.PyFileSystem):
|
@@ -264,27 +264,25 @@ def get_args(metaclass: type):
|
|
264
264
|
|
265
265
|
def try_clean_dir(dir_path: pathlib.Path, remove: bool = False) -> bool:
|
266
266
|
|
267
|
+
normalized_path = windows_unc_path(dir_path)
|
268
|
+
|
269
|
+
return __try_clean_dir(normalized_path, remove)
|
270
|
+
|
271
|
+
|
272
|
+
def __try_clean_dir(normalized_path, remove):
|
273
|
+
|
267
274
|
clean_ok = True
|
268
|
-
normalized_path = dir_path.resolve()
|
269
275
|
|
270
276
|
for item in normalized_path.iterdir():
|
271
277
|
|
272
278
|
if item.is_dir():
|
273
|
-
clean_ok &=
|
279
|
+
clean_ok &= __try_clean_dir(item, remove=True)
|
274
280
|
|
275
281
|
else:
|
276
282
|
try:
|
277
|
-
|
278
|
-
# In Python the path string does not include a nul, so we need to limit to 259 characters
|
279
|
-
if is_windows() and len(str(item)) >= 259 and not str(item).startswith("\\\\?\\"):
|
280
|
-
unc_item = pathlib.Path("\\\\?\\" + str(item))
|
281
|
-
unc_item.unlink()
|
282
|
-
return True
|
283
|
-
else:
|
284
|
-
item.unlink()
|
285
|
-
return True
|
283
|
+
item.unlink()
|
286
284
|
except Exception as e: # noqa
|
287
|
-
|
285
|
+
clean_ok = False
|
288
286
|
|
289
287
|
if remove:
|
290
288
|
try:
|
@@ -294,6 +292,16 @@ def try_clean_dir(dir_path: pathlib.Path, remove: bool = False) -> bool:
|
|
294
292
|
return False
|
295
293
|
|
296
294
|
|
295
|
+
def windows_unc_path(path: pathlib.Path) -> pathlib.Path:
|
296
|
+
|
297
|
+
# Convert a path to its UNC form on Windows
|
298
|
+
|
299
|
+
if is_windows() and not str(path).startswith("\\\\?\\"):
|
300
|
+
return pathlib.Path("\\\\?\\" + str(path.resolve()))
|
301
|
+
else:
|
302
|
+
return path
|
303
|
+
|
304
|
+
|
297
305
|
def error_details_from_trace(trace: tb.StackSummary):
|
298
306
|
last_frame = trace[len(trace) - 1]
|
299
307
|
filename = pathlib.PurePath(last_frame.filename).name
|
@@ -18,6 +18,7 @@
|
|
18
18
|
# And we don't want to put them .ext, those are public APIs that need to be maintained
|
19
19
|
|
20
20
|
import logging
|
21
|
+
import pathlib
|
21
22
|
import platform
|
22
23
|
import urllib.parse
|
23
24
|
import typing as tp
|
@@ -180,6 +181,16 @@ def is_windows():
|
|
180
181
|
return __IS_WINDOWS
|
181
182
|
|
182
183
|
|
184
|
+
def windows_unc_path(path: pathlib.Path) -> pathlib.Path:
|
185
|
+
|
186
|
+
# Convert a path to its UNC form on Windows
|
187
|
+
|
188
|
+
if is_windows() and not str(path).startswith("\\\\?\\"):
|
189
|
+
return pathlib.Path("\\\\?\\" + str(path.resolve()))
|
190
|
+
else:
|
191
|
+
return path
|
192
|
+
|
193
|
+
|
183
194
|
def logger_for_object(obj: object) -> logging.Logger:
|
184
195
|
return logger_for_class(obj.__class__)
|
185
196
|
|
@@ -93,6 +93,11 @@ class GitRepository(IModelRepository):
|
|
93
93
|
|
94
94
|
self._log.info(f"Checkout mechanism: [native]")
|
95
95
|
|
96
|
+
# Using windows_safe_path() to create UNC paths does not always work with Windows native Git
|
97
|
+
# So, use the regular checkout_dir, and set core.longpaths = true once the repo is created
|
98
|
+
# This will fail if the path for the repo config file exceeds the Windows MAX_PATH length
|
99
|
+
# I.e. checkout_dir/.git/config
|
100
|
+
|
96
101
|
git_cli = ["git", "-C", str(checkout_dir)]
|
97
102
|
|
98
103
|
git_cmds = [
|
@@ -169,7 +174,8 @@ class GitRepository(IModelRepository):
|
|
169
174
|
|
170
175
|
self._log.info("=> git init")
|
171
176
|
|
172
|
-
|
177
|
+
safe_checkout_dir = _helpers.windows_unc_path(checkout_dir)
|
178
|
+
repo = git_repo.Repo.init(str(safe_checkout_dir))
|
173
179
|
self._apply_config_from_properties(repo)
|
174
180
|
|
175
181
|
# Set up origin
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/repo_pypi.py
RENAMED
@@ -98,8 +98,9 @@ class PyPiRepository(IModelRepository):
|
|
98
98
|
|
99
99
|
self._log.info(f"Downloaded [{len(content) / 1024:.1f}] KB in [{elapsed.total_seconds():.1f}] seconds")
|
100
100
|
|
101
|
+
safe_checkout_dir = _helpers.windows_unc_path(checkout_dir)
|
101
102
|
download_whl = zipfile.ZipFile(io.BytesIO(download_req.content))
|
102
|
-
download_whl.extractall(
|
103
|
+
download_whl.extractall(safe_checkout_dir)
|
103
104
|
|
104
105
|
self._log.info(f"Unpacked [{len(download_whl.filelist)}] files")
|
105
106
|
self._log.info(f"PyPI checkout succeeded for {model_def.package} {model_def.version}")
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/storage_local.py
RENAMED
@@ -61,7 +61,9 @@ class LocalStorageProvider(IStorageProvider):
|
|
61
61
|
|
62
62
|
def get_arrow_native(self) -> afs.SubTreeFileSystem:
|
63
63
|
root_fs = afs.LocalFileSystem()
|
64
|
-
|
64
|
+
# Use a UNC root path on Windows to avoid max path length issues
|
65
|
+
sub_tree_path = _helpers.windows_unc_path(self._root_path)
|
66
|
+
return afs.SubTreeFileSystem(str(sub_tree_path), root_fs)
|
65
67
|
|
66
68
|
def get_file_storage(self) -> IFileStorage:
|
67
69
|
|
@@ -140,10 +142,9 @@ class LocalFileStorage(IFileStorage):
|
|
140
142
|
self._properties = config.properties
|
141
143
|
self._options = options # Not used
|
142
144
|
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
return self._root_path
|
145
|
+
# Use a UNC root path on Windows to avoid max path length issues
|
146
|
+
self._raw_root_path = LocalStorageProvider.check_root_path(self._properties, self._log)
|
147
|
+
self._root_path = _helpers.windows_unc_path(self._raw_root_path)
|
147
148
|
|
148
149
|
def exists(self, storage_path: str) -> bool:
|
149
150
|
|
@@ -358,8 +359,12 @@ class LocalFileStorage(IFileStorage):
|
|
358
359
|
if relative_path.is_absolute():
|
359
360
|
raise ex.EStorageValidation(f"Storage path is not relative: {operation_name} [{storage_path}]")
|
360
361
|
|
361
|
-
|
362
|
-
|
362
|
+
# UNC paths on Windows have different behaviour for join / resolve
|
363
|
+
# Work on the raw path, then convert back to UNC afterward
|
364
|
+
# For other OSes, this is a no-op
|
365
|
+
|
366
|
+
root_path = self._raw_root_path
|
367
|
+
absolute_path = self._raw_root_path.joinpath(relative_path).resolve(False)
|
363
368
|
|
364
369
|
# is_relative_to only supported in Python 3.9+, we need to support 3.7
|
365
370
|
if absolute_path != root_path and root_path not in absolute_path.parents:
|
@@ -368,7 +373,7 @@ class LocalFileStorage(IFileStorage):
|
|
368
373
|
if absolute_path == root_path and not allow_root_dir:
|
369
374
|
raise ex.EStorageValidation(f"Illegal operation for storage root: {operation_name} [{storage_path}]")
|
370
375
|
|
371
|
-
return absolute_path
|
376
|
+
return _helpers.windows_unc_path(absolute_path)
|
372
377
|
|
373
378
|
except ValueError as e:
|
374
379
|
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/platform_pb2.py
RENAMED
@@ -16,7 +16,7 @@ from tracdap.metadata import common_pb2 as tracdap_dot_metadata_dot_common__pb2
|
|
16
16
|
from tracdap.config import common_pb2 as tracdap_dot_config_dot_common__pb2
|
17
17
|
|
18
18
|
|
19
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dtracdap/config/platform.proto\x12\x0etracdap.config\x1a\x1dtracdap/metadata/common.proto\x1a\x1btracdap/config/common.proto\"\xa4\x08\n\x0ePlatformConfig\x12:\n\x06\x63onfig\x18\x01 \x03(\x0b\x32*.tracdap.config.PlatformConfig.ConfigEntry\x12\x32\n\x0cplatformInfo\x18\x02 \x01(\x0b\x32\x1c.tracdap.config.PlatformInfo\x12<\n\x0e\x61uthentication\x18\x05 \x01(\x0b\x32$.tracdap.config.AuthenticationConfig\x12\x30\n\x08metadata\x18\x06 \x01(\x0b\x32\x1e.tracdap.config.MetadataConfig\x12.\n\x07storage\x18\x07 \x01(\x0b\x32\x1d.tracdap.config.StorageConfig\x12\x46\n\x0crepositories\x18\x08 \x03(\x0b\x32\x30.tracdap.config.PlatformConfig.RepositoriesEntry\x12.\n\x08\x65xecutor\x18\t \x01(\x0b\x32\x1c.tracdap.config.PluginConfig\x12.\n\x08jobCache\x18\x0c \x01(\x0b\x32\x1c.tracdap.config.PluginConfig\x12<\n\x07tenants\x18\n \x03(\x0b\x32+.tracdap.config.PlatformConfig.TenantsEntry\x12\x37\n\twebServer\x18\x0b \x01(\x0b\x32\x1f.tracdap.config.WebServerConfigH\x00\x88\x01\x01\x12\x33\n\x07gateway\x18\r \x01(\x0b\x32\x1d.tracdap.config.GatewayConfigH\x01\x88\x01\x01\x12>\n\x08services\x18\x04 \x03(\x0b\x32,.tracdap.config.PlatformConfig.ServicesEntry\x12\x34\n\ndeployment\x18\x0e \x01(\x0b\x32 .tracdap.config.DeploymentConfig\x1a-\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aQ\n\x11RepositoriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.tracdap.config.PluginConfig:\x02\x38\x01\x1aL\n\x0cTenantsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.tracdap.config.TenantConfig:\x02\x38\x01\x1aN\n\rServicesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.config.ServiceConfig:\x02\x38\x01\x42\x0c\n\n_webServerB\n\n\x08_gateway\"r\n\x0eMetadataConfig\x12.\n\x08\x64\x61tabase\x18\x01 \x01(\x0b\x32\x1c.tracdap.config.PluginConfig\x12\x30\n\x06\x66ormat\x18\x02 \x01(\x0e\x32 .tracdap.metadata.MetadataFormat\"j\n\x0cTenantConfig\x12\x1a\n\rdefaultBucket\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rdefaultFormat\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x10\n\x0e_defaultBucketB\x10\n\x0e_defaultFormat\"\xc7\x01\n\x0fWebServerConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x31\n\x0b\x63ontentRoot\x18\x03 \x01(\x0b\x32\x1c.tracdap.config.PluginConfig\x12:\n\x0crewriteRules\x18\x04 \x03(\x0b\x32$.tracdap.config.WebServerRewriteRule\x12\x34\n\tredirects\x18\x05 \x03(\x0b\x32!.tracdap.config.WebServerRedirect\"6\n\x14WebServerRewriteRule\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\t\"C\n\x11WebServerRedirect\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\x05\"
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dtracdap/config/platform.proto\x12\x0etracdap.config\x1a\x1dtracdap/metadata/common.proto\x1a\x1btracdap/config/common.proto\"\xa4\x08\n\x0ePlatformConfig\x12:\n\x06\x63onfig\x18\x01 \x03(\x0b\x32*.tracdap.config.PlatformConfig.ConfigEntry\x12\x32\n\x0cplatformInfo\x18\x02 \x01(\x0b\x32\x1c.tracdap.config.PlatformInfo\x12<\n\x0e\x61uthentication\x18\x05 \x01(\x0b\x32$.tracdap.config.AuthenticationConfig\x12\x30\n\x08metadata\x18\x06 \x01(\x0b\x32\x1e.tracdap.config.MetadataConfig\x12.\n\x07storage\x18\x07 \x01(\x0b\x32\x1d.tracdap.config.StorageConfig\x12\x46\n\x0crepositories\x18\x08 \x03(\x0b\x32\x30.tracdap.config.PlatformConfig.RepositoriesEntry\x12.\n\x08\x65xecutor\x18\t \x01(\x0b\x32\x1c.tracdap.config.PluginConfig\x12.\n\x08jobCache\x18\x0c \x01(\x0b\x32\x1c.tracdap.config.PluginConfig\x12<\n\x07tenants\x18\n \x03(\x0b\x32+.tracdap.config.PlatformConfig.TenantsEntry\x12\x37\n\twebServer\x18\x0b \x01(\x0b\x32\x1f.tracdap.config.WebServerConfigH\x00\x88\x01\x01\x12\x33\n\x07gateway\x18\r \x01(\x0b\x32\x1d.tracdap.config.GatewayConfigH\x01\x88\x01\x01\x12>\n\x08services\x18\x04 \x03(\x0b\x32,.tracdap.config.PlatformConfig.ServicesEntry\x12\x34\n\ndeployment\x18\x0e \x01(\x0b\x32 .tracdap.config.DeploymentConfig\x1a-\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aQ\n\x11RepositoriesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.tracdap.config.PluginConfig:\x02\x38\x01\x1aL\n\x0cTenantsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12+\n\x05value\x18\x02 \x01(\x0b\x32\x1c.tracdap.config.TenantConfig:\x02\x38\x01\x1aN\n\rServicesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.tracdap.config.ServiceConfig:\x02\x38\x01\x42\x0c\n\n_webServerB\n\n\x08_gateway\"r\n\x0eMetadataConfig\x12.\n\x08\x64\x61tabase\x18\x01 \x01(\x0b\x32\x1c.tracdap.config.PluginConfig\x12\x30\n\x06\x66ormat\x18\x02 \x01(\x0e\x32 .tracdap.metadata.MetadataFormat\"j\n\x0cTenantConfig\x12\x1a\n\rdefaultBucket\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rdefaultFormat\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x10\n\x0e_defaultBucketB\x10\n\x0e_defaultFormat\"\xc7\x01\n\x0fWebServerConfig\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x31\n\x0b\x63ontentRoot\x18\x03 \x01(\x0b\x32\x1c.tracdap.config.PluginConfig\x12:\n\x0crewriteRules\x18\x04 \x03(\x0b\x32$.tracdap.config.WebServerRewriteRule\x12\x34\n\tredirects\x18\x05 \x03(\x0b\x32!.tracdap.config.WebServerRedirect\"6\n\x14WebServerRewriteRule\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\t\"C\n\x11WebServerRedirect\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\x05\"\x87\x01\n\rGatewayConfig\x12\x13\n\x0bidleTimeout\x18\x01 \x01(\r\x12+\n\x06routes\x18\x02 \x03(\x0b\x32\x1b.tracdap.config.RouteConfig\x12\x34\n\tredirects\x18\x03 \x03(\x0b\x32!.tracdap.config.WebServerRedirect\"\xe4\x01\n\x0bRouteConfig\x12\x11\n\trouteName\x18\x01 \x01(\t\x12\x32\n\trouteType\x18\x02 \x01(\x0e\x32\x1f.tracdap.config.RoutingProtocol\x12\x32\n\tprotocols\x18\x03 \x03(\x0e\x32\x1f.tracdap.config.RoutingProtocol\x12+\n\x05match\x18\x05 \x01(\x0b\x32\x1c.tracdap.config.RoutingMatch\x12-\n\x06target\x18\x06 \x01(\x0b\x32\x1d.tracdap.config.RoutingTarget\"*\n\x0cRoutingMatch\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"I\n\rRoutingTarget\x12\x0e\n\x06scheme\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x0c\n\x04path\x18\x04 \x01(\t\"N\n\rServiceConfig\x12\x14\n\x07\x65nabled\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\rB\n\n\x08_enabled\"D\n\x10\x44\x65ploymentConfig\x12\x30\n\x06layout\x18\x01 \x01(\x0e\x32 .tracdap.config.DeploymentLayout*S\n\x0fRoutingProtocol\x12\x14\n\x10PROTOCOL_NOT_SET\x10\x00\x12\x08\n\x04HTTP\x10\x01\x12\x08\n\x04GRPC\x10\x02\x12\x0c\n\x08GRPC_WEB\x10\x03\x12\x08\n\x04REST\x10\x04*K\n\x10\x44\x65ploymentLayout\x12\x12\n\x0eLAYOUT_NOT_SET\x10\x00\x12\x0b\n\x07SANDBOX\x10\x01\x12\n\n\x06HOSTED\x10\x02\x12\n\n\x06\x43USTOM\x10\x03\x42\x1c\n\x18org.finos.tracdap.configP\x01\x62\x06proto3')
|
20
20
|
|
21
21
|
_globals = globals()
|
22
22
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -32,10 +32,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
32
32
|
_globals['_PLATFORMCONFIG_TENANTSENTRY']._serialized_options = b'8\001'
|
33
33
|
_globals['_PLATFORMCONFIG_SERVICESENTRY']._options = None
|
34
34
|
_globals['_PLATFORMCONFIG_SERVICESENTRY']._serialized_options = b'8\001'
|
35
|
-
_globals['_ROUTINGPROTOCOL']._serialized_start=
|
36
|
-
_globals['_ROUTINGPROTOCOL']._serialized_end=
|
37
|
-
_globals['_DEPLOYMENTLAYOUT']._serialized_start=
|
38
|
-
_globals['_DEPLOYMENTLAYOUT']._serialized_end=
|
35
|
+
_globals['_ROUTINGPROTOCOL']._serialized_start=2361
|
36
|
+
_globals['_ROUTINGPROTOCOL']._serialized_end=2444
|
37
|
+
_globals['_DEPLOYMENTLAYOUT']._serialized_start=2446
|
38
|
+
_globals['_DEPLOYMENTLAYOUT']._serialized_end=2521
|
39
39
|
_globals['_PLATFORMCONFIG']._serialized_start=110
|
40
40
|
_globals['_PLATFORMCONFIG']._serialized_end=1170
|
41
41
|
_globals['_PLATFORMCONFIG_CONFIGENTRY']._serialized_start=858
|
@@ -56,16 +56,16 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
56
56
|
_globals['_WEBSERVERREWRITERULE']._serialized_end=1652
|
57
57
|
_globals['_WEBSERVERREDIRECT']._serialized_start=1654
|
58
58
|
_globals['_WEBSERVERREDIRECT']._serialized_end=1721
|
59
|
-
_globals['_GATEWAYCONFIG']._serialized_start=
|
60
|
-
_globals['_GATEWAYCONFIG']._serialized_end=
|
61
|
-
_globals['_ROUTECONFIG']._serialized_start=
|
62
|
-
_globals['_ROUTECONFIG']._serialized_end=
|
63
|
-
_globals['_ROUTINGMATCH']._serialized_start=
|
64
|
-
_globals['_ROUTINGMATCH']._serialized_end=
|
65
|
-
_globals['_ROUTINGTARGET']._serialized_start=
|
66
|
-
_globals['_ROUTINGTARGET']._serialized_end=
|
67
|
-
_globals['_SERVICECONFIG']._serialized_start=
|
68
|
-
_globals['_SERVICECONFIG']._serialized_end=
|
69
|
-
_globals['_DEPLOYMENTCONFIG']._serialized_start=
|
70
|
-
_globals['_DEPLOYMENTCONFIG']._serialized_end=
|
59
|
+
_globals['_GATEWAYCONFIG']._serialized_start=1724
|
60
|
+
_globals['_GATEWAYCONFIG']._serialized_end=1859
|
61
|
+
_globals['_ROUTECONFIG']._serialized_start=1862
|
62
|
+
_globals['_ROUTECONFIG']._serialized_end=2090
|
63
|
+
_globals['_ROUTINGMATCH']._serialized_start=2092
|
64
|
+
_globals['_ROUTINGMATCH']._serialized_end=2134
|
65
|
+
_globals['_ROUTINGTARGET']._serialized_start=2136
|
66
|
+
_globals['_ROUTINGTARGET']._serialized_end=2209
|
67
|
+
_globals['_SERVICECONFIG']._serialized_start=2211
|
68
|
+
_globals['_SERVICECONFIG']._serialized_end=2289
|
69
|
+
_globals['_DEPLOYMENTCONFIG']._serialized_start=2291
|
70
|
+
_globals['_DEPLOYMENTCONFIG']._serialized_end=2359
|
71
71
|
# @@protoc_insertion_point(module_scope)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: tracdap-runtime
|
3
|
-
Version: 0.6.
|
3
|
+
Version: 0.6.1.dev2
|
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
|
@@ -21,7 +21,7 @@ Requires-Dist: pyarrow==16.0.0
|
|
21
21
|
Requires-Dist: pyyaml==6.0.1
|
22
22
|
Requires-Dist: dulwich==0.22.1
|
23
23
|
Requires-Dist: requests==2.32.3
|
24
|
-
Requires-Dist: pandas<2.
|
24
|
+
Requires-Dist: pandas<2.3.0,>=1.2.0
|
25
25
|
Requires-Dist: numpy<2.0.0
|
26
26
|
Provides-Extra: spark
|
27
27
|
Requires-Dist: pyspark<3.6.0,>=3.0.0; extra == "spark"
|
@@ -58,7 +58,7 @@ Documentation for the TRAC platform is available on our website at
|
|
58
58
|
The TRAC runtime for Python has these requirements:
|
59
59
|
|
60
60
|
* Python: 3.8 up to 3.12
|
61
|
-
* Pandas: 1.2 up to 2.
|
61
|
+
* Pandas: 1.2 up to 2.2
|
62
62
|
* PySpark 3.0 up to 3.5 (optional)
|
63
63
|
|
64
64
|
3rd party libraries may impose additional constraints on supported versions of Python, Pandas or PySpark.
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_exec/graph_builder.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_impl/config_parser.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/format_arrow.py
RENAMED
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/format_csv.py
RENAMED
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/format_parquet.py
RENAMED
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/repo_local.py
RENAMED
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/storage_aws.py
RENAMED
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/storage_azure.py
RENAMED
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/_plugins/storage_gcp.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -6,6 +6,9 @@ from .common import PlatformInfo
|
|
6
6
|
from .common import AuthenticationConfig
|
7
7
|
from .common import StorageConfig
|
8
8
|
|
9
|
+
from .runtime import RuntimeConfig
|
10
|
+
from .runtime import SparkSettings
|
11
|
+
|
9
12
|
from .platform import RoutingProtocol
|
10
13
|
from .platform import DeploymentLayout
|
11
14
|
from .platform import PlatformConfig
|
@@ -24,7 +27,4 @@ from .platform import DeploymentConfig
|
|
24
27
|
from .result import TagUpdateList
|
25
28
|
from .result import JobResult
|
26
29
|
|
27
|
-
from .runtime import RuntimeConfig
|
28
|
-
from .runtime import SparkSettings
|
29
|
-
|
30
30
|
from .job import JobConfig
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/config/runtime_pb2.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# Code generated by TRAC
|
2
2
|
|
3
|
+
from .custom import CustomDefinition
|
4
|
+
|
3
5
|
from .common import MetadataFormat
|
4
6
|
from .common import MetadataVersion
|
5
7
|
from .common import TenantInfo
|
@@ -17,12 +19,10 @@ from .object_id import ObjectType
|
|
17
19
|
from .object_id import TagHeader
|
18
20
|
from .object_id import TagSelector
|
19
21
|
|
20
|
-
from .
|
21
|
-
|
22
|
-
from .
|
23
|
-
from .
|
24
|
-
from .search import SearchExpression
|
25
|
-
from .search import SearchParameters
|
22
|
+
from .file import FileDefinition
|
23
|
+
|
24
|
+
from .tag_update import TagOperation
|
25
|
+
from .tag_update import TagUpdate
|
26
26
|
|
27
27
|
from .data import SchemaType
|
28
28
|
from .data import PartType
|
@@ -32,29 +32,31 @@ from .data import SchemaDefinition
|
|
32
32
|
from .data import PartKey
|
33
33
|
from .data import DataDefinition
|
34
34
|
|
35
|
-
from .file import FileDefinition
|
36
|
-
|
37
|
-
from .stoarge import CopyStatus
|
38
|
-
from .stoarge import IncarnationStatus
|
39
|
-
from .stoarge import StorageCopy
|
40
|
-
from .stoarge import StorageIncarnation
|
41
|
-
from .stoarge import StorageItem
|
42
|
-
from .stoarge import StorageDefinition
|
43
|
-
|
44
|
-
from .tag_update import TagOperation
|
45
|
-
from .tag_update import TagUpdate
|
46
|
-
|
47
35
|
from .model import ModelParameter
|
48
36
|
from .model import ModelInputSchema
|
49
37
|
from .model import ModelOutputSchema
|
50
38
|
from .model import ModelDefinition
|
51
39
|
|
40
|
+
from .search import SearchOperator
|
41
|
+
from .search import LogicalOperator
|
42
|
+
from .search import SearchTerm
|
43
|
+
from .search import LogicalExpression
|
44
|
+
from .search import SearchExpression
|
45
|
+
from .search import SearchParameters
|
46
|
+
|
52
47
|
from .flow import FlowNodeType
|
53
48
|
from .flow import FlowNode
|
54
49
|
from .flow import FlowSocket
|
55
50
|
from .flow import FlowEdge
|
56
51
|
from .flow import FlowDefinition
|
57
52
|
|
53
|
+
from .stoarge import CopyStatus
|
54
|
+
from .stoarge import IncarnationStatus
|
55
|
+
from .stoarge import StorageCopy
|
56
|
+
from .stoarge import StorageIncarnation
|
57
|
+
from .stoarge import StorageItem
|
58
|
+
from .stoarge import StorageDefinition
|
59
|
+
|
58
60
|
from .job import JobType
|
59
61
|
from .job import JobStatusCode
|
60
62
|
from .job import JobDefinition
|
@@ -62,8 +64,6 @@ from .job import RunModelJob
|
|
62
64
|
from .job import RunFlowJob
|
63
65
|
from .job import ImportModelJob
|
64
66
|
|
65
|
-
from .custom import CustomDefinition
|
66
|
-
|
67
67
|
from .object import ObjectDefinition
|
68
68
|
|
69
69
|
from .tag import Tag
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/common_pb2.py
RENAMED
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/custom_pb2.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/model_pb2.py
RENAMED
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/object_id.py
RENAMED
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/object_id_pb2.py
RENAMED
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/object_pb2.py
RENAMED
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/search_pb2.py
RENAMED
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/stoarge_pb2.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/tag_update.py
RENAMED
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/src/tracdap/rt/metadata/tag_update_pb2.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/tracdap_runtime.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{tracdap_runtime-0.6.0rc3 → tracdap_runtime-0.6.1.dev2}/tracdap_runtime.egg-info/top_level.txt
RENAMED
File without changes
|