digitalhub 0.11.0b7__py3-none-any.whl → 0.13.0__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.
Potentially problematic release.
This version of digitalhub might be problematic. Click here for more details.
- digitalhub/__init__.py +4 -1
- digitalhub/context/api.py +9 -5
- digitalhub/context/builder.py +7 -5
- digitalhub/context/context.py +13 -1
- digitalhub/entities/__init__.py +3 -0
- digitalhub/entities/_base/__init__.py +3 -0
- digitalhub/entities/_base/_base/__init__.py +3 -0
- digitalhub/entities/_base/_base/entity.py +4 -0
- digitalhub/entities/_base/context/__init__.py +3 -0
- digitalhub/entities/_base/context/entity.py +4 -0
- digitalhub/entities/_base/entity/__init__.py +3 -0
- digitalhub/entities/_base/entity/_constructors/__init__.py +3 -0
- digitalhub/entities/_base/entity/_constructors/metadata.py +4 -0
- digitalhub/entities/_base/entity/_constructors/name.py +4 -0
- digitalhub/entities/_base/entity/_constructors/spec.py +4 -0
- digitalhub/entities/_base/entity/_constructors/status.py +4 -0
- digitalhub/entities/_base/entity/_constructors/uuid.py +4 -0
- digitalhub/entities/_base/entity/builder.py +4 -0
- digitalhub/entities/_base/entity/entity.py +4 -0
- digitalhub/entities/_base/entity/metadata.py +4 -0
- digitalhub/entities/_base/entity/spec.py +4 -0
- digitalhub/entities/_base/entity/status.py +4 -0
- digitalhub/entities/_base/executable/__init__.py +3 -0
- digitalhub/entities/_base/executable/entity.py +109 -57
- digitalhub/entities/_base/material/__init__.py +3 -0
- digitalhub/entities/_base/material/entity.py +15 -18
- digitalhub/entities/_base/material/spec.py +4 -0
- digitalhub/entities/_base/material/status.py +4 -0
- digitalhub/entities/_base/material/utils.py +5 -1
- digitalhub/entities/_base/runtime_entity/__init__.py +3 -0
- digitalhub/entities/_base/runtime_entity/builder.py +4 -0
- digitalhub/entities/_base/unversioned/__init__.py +3 -0
- digitalhub/entities/_base/unversioned/builder.py +4 -0
- digitalhub/entities/_base/unversioned/entity.py +4 -0
- digitalhub/entities/_base/versioned/__init__.py +3 -0
- digitalhub/entities/_base/versioned/builder.py +4 -0
- digitalhub/entities/_base/versioned/entity.py +4 -0
- digitalhub/entities/_commons/__init__.py +3 -0
- digitalhub/entities/_commons/enums.py +4 -0
- digitalhub/entities/_commons/metrics.py +68 -30
- digitalhub/entities/_commons/utils.py +40 -9
- digitalhub/entities/_processors/__init__.py +3 -0
- digitalhub/entities/_processors/base.py +154 -79
- digitalhub/entities/_processors/context.py +370 -215
- digitalhub/entities/_processors/utils.py +78 -30
- digitalhub/entities/artifact/__init__.py +3 -0
- digitalhub/entities/artifact/_base/__init__.py +3 -0
- digitalhub/entities/artifact/_base/builder.py +4 -0
- digitalhub/entities/artifact/_base/entity.py +4 -0
- digitalhub/entities/artifact/_base/spec.py +4 -0
- digitalhub/entities/artifact/_base/status.py +4 -0
- digitalhub/entities/artifact/artifact/__init__.py +3 -0
- digitalhub/entities/artifact/artifact/builder.py +4 -0
- digitalhub/entities/artifact/artifact/entity.py +4 -0
- digitalhub/entities/artifact/artifact/spec.py +4 -0
- digitalhub/entities/artifact/artifact/status.py +4 -0
- digitalhub/entities/artifact/crud.py +8 -0
- digitalhub/entities/artifact/utils.py +32 -13
- digitalhub/entities/builders.py +4 -0
- digitalhub/entities/dataitem/__init__.py +3 -0
- digitalhub/entities/dataitem/_base/__init__.py +3 -0
- digitalhub/entities/dataitem/_base/builder.py +4 -0
- digitalhub/entities/dataitem/_base/entity.py +4 -0
- digitalhub/entities/dataitem/_base/spec.py +4 -0
- digitalhub/entities/dataitem/_base/status.py +4 -0
- digitalhub/entities/dataitem/crud.py +18 -2
- digitalhub/entities/dataitem/dataitem/__init__.py +3 -0
- digitalhub/entities/dataitem/dataitem/builder.py +4 -0
- digitalhub/entities/dataitem/dataitem/entity.py +4 -0
- digitalhub/entities/dataitem/dataitem/spec.py +4 -0
- digitalhub/entities/dataitem/dataitem/status.py +4 -0
- digitalhub/entities/dataitem/iceberg/__init__.py +3 -0
- digitalhub/entities/dataitem/iceberg/builder.py +4 -0
- digitalhub/entities/dataitem/iceberg/entity.py +4 -0
- digitalhub/entities/dataitem/iceberg/spec.py +4 -0
- digitalhub/entities/dataitem/iceberg/status.py +4 -0
- digitalhub/entities/dataitem/table/__init__.py +3 -0
- digitalhub/entities/dataitem/table/builder.py +4 -0
- digitalhub/entities/dataitem/table/entity.py +7 -3
- digitalhub/entities/dataitem/table/models.py +4 -0
- digitalhub/entities/dataitem/table/spec.py +4 -0
- digitalhub/entities/dataitem/table/status.py +4 -0
- digitalhub/entities/dataitem/table/utils.py +4 -0
- digitalhub/entities/dataitem/utils.py +88 -35
- digitalhub/entities/function/__init__.py +3 -0
- digitalhub/entities/function/_base/__init__.py +3 -0
- digitalhub/entities/function/_base/builder.py +4 -0
- digitalhub/entities/function/_base/entity.py +4 -0
- digitalhub/entities/function/_base/spec.py +4 -0
- digitalhub/entities/function/_base/status.py +4 -0
- digitalhub/entities/function/crud.py +4 -0
- digitalhub/entities/model/__init__.py +3 -0
- digitalhub/entities/model/_base/__init__.py +3 -0
- digitalhub/entities/model/_base/builder.py +4 -0
- digitalhub/entities/model/_base/entity.py +4 -0
- digitalhub/entities/model/_base/spec.py +4 -0
- digitalhub/entities/model/_base/status.py +4 -0
- digitalhub/entities/model/crud.py +8 -0
- digitalhub/entities/model/huggingface/__init__.py +3 -0
- digitalhub/entities/model/huggingface/builder.py +4 -0
- digitalhub/entities/model/huggingface/entity.py +4 -0
- digitalhub/entities/model/huggingface/spec.py +4 -0
- digitalhub/entities/model/huggingface/status.py +4 -0
- digitalhub/entities/model/mlflow/__init__.py +3 -0
- digitalhub/entities/model/mlflow/builder.py +4 -0
- digitalhub/entities/model/mlflow/entity.py +4 -0
- digitalhub/entities/model/mlflow/models.py +4 -0
- digitalhub/entities/model/mlflow/spec.py +4 -0
- digitalhub/entities/model/mlflow/status.py +4 -0
- digitalhub/entities/model/mlflow/utils.py +4 -0
- digitalhub/entities/model/model/__init__.py +3 -0
- digitalhub/entities/model/model/builder.py +4 -0
- digitalhub/entities/model/model/entity.py +4 -0
- digitalhub/entities/model/model/spec.py +4 -0
- digitalhub/entities/model/model/status.py +4 -0
- digitalhub/entities/model/sklearn/__init__.py +3 -0
- digitalhub/entities/model/sklearn/builder.py +4 -0
- digitalhub/entities/model/sklearn/entity.py +4 -0
- digitalhub/entities/model/sklearn/spec.py +4 -0
- digitalhub/entities/model/sklearn/status.py +4 -0
- digitalhub/entities/model/utils.py +32 -13
- digitalhub/entities/project/__init__.py +3 -0
- digitalhub/entities/project/_base/__init__.py +3 -0
- digitalhub/entities/project/_base/builder.py +4 -0
- digitalhub/entities/project/_base/entity.py +4 -2
- digitalhub/entities/project/_base/models.py +4 -0
- digitalhub/entities/project/_base/spec.py +4 -0
- digitalhub/entities/project/_base/status.py +4 -0
- digitalhub/entities/project/crud.py +4 -0
- digitalhub/entities/project/utils.py +4 -0
- digitalhub/entities/run/__init__.py +3 -0
- digitalhub/entities/run/_base/__init__.py +3 -0
- digitalhub/entities/run/_base/builder.py +4 -0
- digitalhub/entities/run/_base/entity.py +6 -2
- digitalhub/entities/run/_base/spec.py +4 -0
- digitalhub/entities/run/_base/status.py +4 -0
- digitalhub/entities/run/crud.py +4 -0
- digitalhub/entities/secret/__init__.py +3 -0
- digitalhub/entities/secret/_base/__init__.py +3 -0
- digitalhub/entities/secret/_base/builder.py +4 -0
- digitalhub/entities/secret/_base/entity.py +4 -0
- digitalhub/entities/secret/_base/spec.py +4 -0
- digitalhub/entities/secret/_base/status.py +4 -0
- digitalhub/entities/secret/crud.py +4 -0
- digitalhub/entities/task/__init__.py +3 -0
- digitalhub/entities/task/_base/__init__.py +3 -0
- digitalhub/entities/task/_base/builder.py +4 -0
- digitalhub/entities/task/_base/entity.py +4 -0
- digitalhub/entities/task/_base/models.py +16 -3
- digitalhub/entities/task/_base/spec.py +4 -0
- digitalhub/entities/task/_base/status.py +4 -0
- digitalhub/entities/task/_base/utils.py +4 -0
- digitalhub/entities/task/crud.py +4 -0
- digitalhub/entities/trigger/__init__.py +3 -0
- digitalhub/entities/trigger/_base/__init__.py +3 -0
- digitalhub/entities/trigger/_base/builder.py +4 -0
- digitalhub/entities/trigger/_base/entity.py +15 -0
- digitalhub/entities/trigger/_base/spec.py +4 -0
- digitalhub/entities/trigger/_base/status.py +4 -0
- digitalhub/entities/trigger/crud.py +4 -0
- digitalhub/entities/trigger/lifecycle/__init__.py +3 -0
- digitalhub/entities/trigger/lifecycle/builder.py +4 -0
- digitalhub/entities/trigger/lifecycle/entity.py +4 -0
- digitalhub/entities/trigger/lifecycle/spec.py +4 -0
- digitalhub/entities/trigger/lifecycle/status.py +4 -0
- digitalhub/entities/trigger/scheduler/__init__.py +3 -0
- digitalhub/entities/trigger/scheduler/builder.py +4 -0
- digitalhub/entities/trigger/scheduler/entity.py +4 -0
- digitalhub/entities/trigger/scheduler/spec.py +4 -0
- digitalhub/entities/trigger/scheduler/status.py +4 -0
- digitalhub/entities/workflow/__init__.py +3 -0
- digitalhub/entities/workflow/_base/__init__.py +3 -0
- digitalhub/entities/workflow/_base/builder.py +4 -0
- digitalhub/entities/workflow/_base/entity.py +4 -0
- digitalhub/entities/workflow/_base/spec.py +4 -0
- digitalhub/entities/workflow/_base/status.py +4 -0
- digitalhub/entities/workflow/crud.py +4 -0
- digitalhub/factory/__init__.py +3 -0
- digitalhub/factory/factory.py +29 -3
- digitalhub/factory/utils.py +15 -3
- digitalhub/runtimes/__init__.py +3 -0
- digitalhub/runtimes/_base.py +5 -1
- digitalhub/runtimes/builder.py +22 -1
- digitalhub/runtimes/enums.py +4 -0
- digitalhub/stores/__init__.py +3 -0
- digitalhub/stores/client/__init__.py +15 -0
- digitalhub/stores/client/_base/__init__.py +3 -0
- digitalhub/stores/client/_base/api_builder.py +18 -0
- digitalhub/stores/client/_base/client.py +97 -0
- digitalhub/stores/client/_base/key_builder.py +32 -0
- digitalhub/stores/client/_base/params_builder.py +18 -0
- digitalhub/stores/client/api.py +14 -5
- digitalhub/stores/client/builder.py +7 -1
- digitalhub/stores/client/dhcore/__init__.py +3 -0
- digitalhub/stores/client/dhcore/api_builder.py +21 -0
- digitalhub/stores/client/dhcore/client.py +329 -70
- digitalhub/stores/client/dhcore/configurator.py +489 -193
- digitalhub/stores/client/dhcore/enums.py +7 -0
- digitalhub/stores/client/dhcore/error_parser.py +39 -1
- digitalhub/stores/client/dhcore/key_builder.py +4 -0
- digitalhub/stores/client/dhcore/models.py +4 -0
- digitalhub/stores/client/dhcore/params_builder.py +117 -17
- digitalhub/stores/client/dhcore/utils.py +44 -22
- digitalhub/stores/client/local/__init__.py +3 -0
- digitalhub/stores/client/local/api_builder.py +21 -0
- digitalhub/stores/client/local/client.py +10 -8
- digitalhub/stores/client/local/enums.py +4 -0
- digitalhub/stores/client/local/key_builder.py +4 -0
- digitalhub/stores/client/local/params_builder.py +4 -0
- digitalhub/stores/credentials/__init__.py +3 -0
- digitalhub/stores/credentials/api.py +35 -0
- digitalhub/stores/credentials/configurator.py +210 -0
- digitalhub/stores/credentials/enums.py +68 -0
- digitalhub/stores/credentials/handler.py +176 -0
- digitalhub/stores/credentials/ini_module.py +164 -0
- digitalhub/stores/credentials/store.py +81 -0
- digitalhub/stores/data/__init__.py +3 -0
- digitalhub/stores/data/_base/__init__.py +3 -0
- digitalhub/stores/data/_base/store.py +31 -9
- digitalhub/stores/data/api.py +53 -9
- digitalhub/stores/data/builder.py +94 -41
- digitalhub/stores/data/enums.py +4 -0
- digitalhub/stores/data/local/__init__.py +3 -0
- digitalhub/stores/data/local/store.py +8 -7
- digitalhub/stores/data/remote/__init__.py +3 -0
- digitalhub/stores/data/remote/store.py +8 -7
- digitalhub/stores/data/s3/__init__.py +3 -0
- digitalhub/stores/data/s3/configurator.py +69 -80
- digitalhub/stores/data/s3/store.py +73 -81
- digitalhub/stores/data/s3/utils.py +14 -10
- digitalhub/stores/data/sql/__init__.py +3 -0
- digitalhub/stores/data/sql/configurator.py +80 -73
- digitalhub/stores/data/sql/store.py +195 -102
- digitalhub/stores/readers/__init__.py +3 -0
- digitalhub/stores/readers/data/__init__.py +3 -0
- digitalhub/stores/readers/data/_base/__init__.py +3 -0
- digitalhub/stores/readers/data/_base/builder.py +4 -0
- digitalhub/stores/readers/data/_base/reader.py +4 -0
- digitalhub/stores/readers/data/api.py +4 -0
- digitalhub/stores/readers/data/factory.py +4 -0
- digitalhub/stores/readers/data/pandas/__init__.py +3 -0
- digitalhub/stores/readers/data/pandas/builder.py +4 -0
- digitalhub/stores/readers/data/pandas/reader.py +4 -0
- digitalhub/stores/readers/query/__init__.py +3 -0
- digitalhub/utils/__init__.py +3 -0
- digitalhub/utils/enums.py +4 -0
- digitalhub/utils/exceptions.py +10 -0
- digitalhub/utils/file_utils.py +57 -30
- digitalhub/utils/generic_utils.py +45 -33
- digitalhub/utils/git_utils.py +28 -14
- digitalhub/utils/io_utils.py +23 -18
- digitalhub/utils/logger.py +4 -0
- digitalhub/utils/types.py +4 -0
- digitalhub/utils/uri_utils.py +35 -31
- digitalhub-0.13.0.dist-info/METADATA +301 -0
- digitalhub-0.13.0.dist-info/RECORD +259 -0
- digitalhub-0.13.0.dist-info/licenses/AUTHORS +5 -0
- digitalhub-0.13.0.dist-info/licenses/LICENSE +201 -0
- digitalhub/entities/_commons/types.py +0 -5
- digitalhub/stores/configurator/__init__.py +0 -0
- digitalhub/stores/configurator/api.py +0 -31
- digitalhub/stores/configurator/configurator.py +0 -198
- digitalhub/stores/configurator/credentials_store.py +0 -65
- digitalhub/stores/configurator/enums.py +0 -21
- digitalhub/stores/configurator/ini_module.py +0 -128
- digitalhub/stores/data/s3/enums.py +0 -16
- digitalhub/stores/data/sql/enums.py +0 -16
- digitalhub/stores/data/utils.py +0 -34
- digitalhub-0.11.0b7.dist-info/METADATA +0 -259
- digitalhub-0.11.0b7.dist-info/RECORD +0 -261
- digitalhub-0.11.0b7.dist-info/licenses/LICENSE.txt +0 -216
- {digitalhub-0.11.0b7.dist-info → digitalhub-0.13.0.dist-info}/WHEEL +0 -0
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
1
5
|
from __future__ import annotations
|
|
2
6
|
|
|
3
7
|
import shutil
|
|
@@ -29,16 +33,39 @@ def eval_source(
|
|
|
29
33
|
project: str | None = None,
|
|
30
34
|
) -> Any:
|
|
31
35
|
"""
|
|
32
|
-
Evaluate
|
|
36
|
+
Evaluate and process data source for dataitem creation.
|
|
37
|
+
|
|
38
|
+
Determines the appropriate source handling based on whether a source
|
|
39
|
+
path or data object is provided. For table dataitems with data objects,
|
|
40
|
+
writes the data to a Parquet file and returns the file path.
|
|
33
41
|
|
|
34
42
|
Parameters
|
|
35
43
|
----------
|
|
36
|
-
source : SourcesOrListOfSources
|
|
37
|
-
|
|
44
|
+
source : SourcesOrListOfSources, optional
|
|
45
|
+
The source specification(s) for the dataitem. Can be file paths,
|
|
46
|
+
URLs, or other source identifiers.
|
|
47
|
+
data : Any, optional
|
|
48
|
+
The data object to process (e.g., DataFrame). Alternative to source.
|
|
49
|
+
Exactly one of source or data must be provided.
|
|
50
|
+
kind : str, optional
|
|
51
|
+
The kind of dataitem being created (e.g., 'table').
|
|
52
|
+
name : str, optional
|
|
53
|
+
The name of the dataitem, used for generating file paths.
|
|
54
|
+
project : str, optional
|
|
55
|
+
The project name, used for context and path generation.
|
|
38
56
|
|
|
39
57
|
Returns
|
|
40
58
|
-------
|
|
41
|
-
|
|
59
|
+
Any
|
|
60
|
+
The processed source. Returns the original source if provided,
|
|
61
|
+
or the path to a generated file if data was processed.
|
|
62
|
+
|
|
63
|
+
Raises
|
|
64
|
+
------
|
|
65
|
+
ValueError
|
|
66
|
+
If both source and data are provided or both are None.
|
|
67
|
+
NotImplementedError
|
|
68
|
+
If the specified kind is not supported for data processing.
|
|
42
69
|
"""
|
|
43
70
|
if (source is None) == (data is None):
|
|
44
71
|
raise ValueError("You must provide source or data.")
|
|
@@ -58,7 +85,6 @@ def eval_source(
|
|
|
58
85
|
|
|
59
86
|
|
|
60
87
|
def eval_data(
|
|
61
|
-
project: str,
|
|
62
88
|
kind: str,
|
|
63
89
|
source: SourcesOrListOfSources,
|
|
64
90
|
data: Any | None = None,
|
|
@@ -66,28 +92,36 @@ def eval_data(
|
|
|
66
92
|
engine: str | None = None,
|
|
67
93
|
) -> Any:
|
|
68
94
|
"""
|
|
69
|
-
Evaluate data
|
|
95
|
+
Evaluate and load data from source or return provided data.
|
|
96
|
+
|
|
97
|
+
For table dataitems, loads data from the source using the appropriate
|
|
98
|
+
store and reader. For other kinds, returns the data as-is.
|
|
70
99
|
|
|
71
100
|
Parameters
|
|
72
101
|
----------
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
102
|
+
kind : str
|
|
103
|
+
The kind of dataitem (e.g., 'table') that determines
|
|
104
|
+
how data should be processed.
|
|
105
|
+
source : SourcesOrListOfSources
|
|
106
|
+
The source specification(s) to load data from.
|
|
107
|
+
data : Any, optional
|
|
108
|
+
Pre-loaded data object. If provided, may be returned directly
|
|
109
|
+
depending on the dataitem kind.
|
|
110
|
+
file_format : str, optional
|
|
111
|
+
The file format specification for reading the source
|
|
112
|
+
(e.g., 'parquet', 'csv').
|
|
113
|
+
engine : str, optional
|
|
114
|
+
The engine to use for reading the data (e.g., 'pandas', 'polars').
|
|
83
115
|
|
|
84
116
|
Returns
|
|
85
117
|
-------
|
|
86
|
-
|
|
118
|
+
Any
|
|
119
|
+
The loaded data object for table dataitems, or the original
|
|
120
|
+
data parameter for other kinds.
|
|
87
121
|
"""
|
|
88
122
|
if kind == EntityKinds.DATAITEM_TABLE.value:
|
|
89
123
|
if data is None:
|
|
90
|
-
return get_store(
|
|
124
|
+
return get_store(source).read_df(
|
|
91
125
|
source,
|
|
92
126
|
file_format=file_format,
|
|
93
127
|
engine=engine,
|
|
@@ -105,29 +139,37 @@ def process_kwargs(
|
|
|
105
139
|
**kwargs,
|
|
106
140
|
) -> dict:
|
|
107
141
|
"""
|
|
108
|
-
Process
|
|
142
|
+
Process and enhance specification parameters for dataitem creation.
|
|
143
|
+
|
|
144
|
+
Processes the keyword arguments for dataitem specification, handling
|
|
145
|
+
schema extraction for table dataitems and path generation. Extracts
|
|
146
|
+
schema information from data objects when available.
|
|
109
147
|
|
|
110
148
|
Parameters
|
|
111
149
|
----------
|
|
112
150
|
project : str
|
|
113
|
-
|
|
151
|
+
The name of the project.
|
|
114
152
|
name : str
|
|
115
|
-
|
|
153
|
+
The name of the dataitem entity.
|
|
116
154
|
kind : str
|
|
117
|
-
|
|
155
|
+
The kind of dataitem being created (e.g., 'table').
|
|
118
156
|
source : SourcesOrListOfSources
|
|
119
|
-
|
|
120
|
-
data : Any
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
157
|
+
The source specification(s) for the dataitem content.
|
|
158
|
+
data : Any, optional
|
|
159
|
+
The data object for schema extraction and processing.
|
|
160
|
+
Used as an alternative to source for table dataitems.
|
|
161
|
+
path : str, optional
|
|
162
|
+
The destination path for the dataitem entity.
|
|
163
|
+
If None, a path will be automatically generated.
|
|
124
164
|
**kwargs : dict
|
|
125
|
-
|
|
165
|
+
Additional specification parameters to be processed
|
|
166
|
+
and passed to the dataitem creation.
|
|
126
167
|
|
|
127
168
|
Returns
|
|
128
169
|
-------
|
|
129
170
|
dict
|
|
130
|
-
|
|
171
|
+
The updated kwargs dictionary with processed path,
|
|
172
|
+
UUID, and schema information included.
|
|
131
173
|
"""
|
|
132
174
|
if data is not None:
|
|
133
175
|
if kind == EntityKinds.DATAITEM_TABLE.value:
|
|
@@ -144,12 +186,17 @@ def process_kwargs(
|
|
|
144
186
|
|
|
145
187
|
def clean_tmp_path(pth: SourcesOrListOfSources) -> None:
|
|
146
188
|
"""
|
|
147
|
-
Clean temporary
|
|
189
|
+
Clean up temporary files and directories.
|
|
190
|
+
|
|
191
|
+
Removes temporary files or directories created during dataitem
|
|
192
|
+
processing. Handles both single paths and lists of paths,
|
|
193
|
+
ignoring any errors that occur during cleanup.
|
|
148
194
|
|
|
149
195
|
Parameters
|
|
150
196
|
----------
|
|
151
197
|
pth : SourcesOrListOfSources
|
|
152
|
-
|
|
198
|
+
The path or list of paths to clean up. Can be file paths
|
|
199
|
+
or directory paths that need to be removed.
|
|
153
200
|
|
|
154
201
|
Returns
|
|
155
202
|
-------
|
|
@@ -164,19 +211,25 @@ def clean_tmp_path(pth: SourcesOrListOfSources) -> None:
|
|
|
164
211
|
|
|
165
212
|
def post_process(obj: Dataitem, data: Any) -> Dataitem:
|
|
166
213
|
"""
|
|
167
|
-
Post
|
|
214
|
+
Post-process dataitem object with additional metadata and previews.
|
|
215
|
+
|
|
216
|
+
Enhances the dataitem object with additional information extracted
|
|
217
|
+
from the data. For table dataitems, generates and stores a data
|
|
218
|
+
preview in the object's status.
|
|
168
219
|
|
|
169
220
|
Parameters
|
|
170
221
|
----------
|
|
171
222
|
obj : Dataitem
|
|
172
|
-
The object.
|
|
223
|
+
The dataitem object to post-process and enhance.
|
|
173
224
|
data : Any
|
|
174
|
-
The data
|
|
225
|
+
The data object used to generate previews and extract
|
|
226
|
+
additional metadata information.
|
|
175
227
|
|
|
176
228
|
Returns
|
|
177
229
|
-------
|
|
178
230
|
Dataitem
|
|
179
|
-
The object
|
|
231
|
+
The enhanced dataitem object with updated status information
|
|
232
|
+
and saved changes.
|
|
180
233
|
"""
|
|
181
234
|
if obj.kind == EntityKinds.DATAITEM_TABLE.value:
|
|
182
235
|
reader = get_reader_by_object(data)
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
1
5
|
from __future__ import annotations
|
|
2
6
|
|
|
3
7
|
import typing
|
|
@@ -306,6 +310,7 @@ def delete_model(
|
|
|
306
310
|
project: str | None = None,
|
|
307
311
|
entity_id: str | None = None,
|
|
308
312
|
delete_all_versions: bool = False,
|
|
313
|
+
cascade: bool = True,
|
|
309
314
|
**kwargs,
|
|
310
315
|
) -> dict:
|
|
311
316
|
"""
|
|
@@ -321,6 +326,8 @@ def delete_model(
|
|
|
321
326
|
Entity ID.
|
|
322
327
|
delete_all_versions : bool
|
|
323
328
|
Delete all versions of the named entity. If True, use entity name instead of entity key as identifier.
|
|
329
|
+
cascade : bool
|
|
330
|
+
Cascade delete.
|
|
324
331
|
**kwargs : dict
|
|
325
332
|
Parameters to pass to the API call.
|
|
326
333
|
|
|
@@ -345,5 +352,6 @@ def delete_model(
|
|
|
345
352
|
project=project,
|
|
346
353
|
entity_id=entity_id,
|
|
347
354
|
delete_all_versions=delete_all_versions,
|
|
355
|
+
cascade=cascade,
|
|
348
356
|
**kwargs,
|
|
349
357
|
)
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
1
5
|
from __future__ import annotations
|
|
2
6
|
|
|
3
7
|
from typing import Any
|
|
@@ -11,16 +15,23 @@ def eval_source(
|
|
|
11
15
|
source: str | list[str] | None = None,
|
|
12
16
|
) -> Any:
|
|
13
17
|
"""
|
|
14
|
-
Evaluate
|
|
18
|
+
Evaluate whether the source is local or remote.
|
|
19
|
+
|
|
20
|
+
Determines if the provided source(s) reference local files or
|
|
21
|
+
remote resources. This evaluation affects how the model
|
|
22
|
+
will be processed and stored.
|
|
15
23
|
|
|
16
24
|
Parameters
|
|
17
25
|
----------
|
|
18
|
-
source : str
|
|
19
|
-
|
|
26
|
+
source : str, list[str], or None, optional
|
|
27
|
+
The source specification(s) to evaluate. Can be a single
|
|
28
|
+
source string, a list of source strings, or None.
|
|
20
29
|
|
|
21
30
|
Returns
|
|
22
31
|
-------
|
|
23
|
-
|
|
32
|
+
Any
|
|
33
|
+
The result of the local source evaluation, indicating
|
|
34
|
+
whether the source is local or remote.
|
|
24
35
|
"""
|
|
25
36
|
return eval_local_source(source)
|
|
26
37
|
|
|
@@ -33,25 +44,33 @@ def process_kwargs(
|
|
|
33
44
|
**kwargs,
|
|
34
45
|
) -> dict:
|
|
35
46
|
"""
|
|
36
|
-
Process
|
|
47
|
+
Process and enhance specification parameters for model creation.
|
|
48
|
+
|
|
49
|
+
Processes the keyword arguments for model specification, handling
|
|
50
|
+
path generation and UUID assignment. If no path is provided, generates
|
|
51
|
+
a unique path based on project, entity type, name, and source.
|
|
37
52
|
|
|
38
53
|
Parameters
|
|
39
54
|
----------
|
|
40
55
|
project : str
|
|
41
|
-
|
|
56
|
+
The name of the project containing the model.
|
|
42
57
|
name : str
|
|
43
|
-
|
|
44
|
-
source : str
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
58
|
+
The name of the model entity.
|
|
59
|
+
source : str or list[str]
|
|
60
|
+
The source specification(s) for the model content.
|
|
61
|
+
Can be a single source or multiple sources.
|
|
62
|
+
path : str, optional
|
|
63
|
+
The destination path for the model entity.
|
|
64
|
+
If None, a path will be automatically generated.
|
|
48
65
|
**kwargs : dict
|
|
49
|
-
|
|
66
|
+
Additional specification parameters to be processed
|
|
67
|
+
and passed to the model creation.
|
|
50
68
|
|
|
51
69
|
Returns
|
|
52
70
|
-------
|
|
53
71
|
dict
|
|
54
|
-
|
|
72
|
+
The updated kwargs dictionary with processed path
|
|
73
|
+
and UUID information included.
|
|
55
74
|
"""
|
|
56
75
|
if path is None:
|
|
57
76
|
uuid = build_uuid()
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
1
5
|
from __future__ import annotations
|
|
2
6
|
|
|
3
7
|
import typing
|
|
@@ -2088,8 +2092,6 @@ class Project(Entity):
|
|
|
2088
2092
|
--------
|
|
2089
2093
|
>>> objs = project.list_runs()
|
|
2090
2094
|
"""
|
|
2091
|
-
if kwargs is None:
|
|
2092
|
-
kwargs = {}
|
|
2093
2095
|
return list_runs(self.name, **kwargs)
|
|
2094
2096
|
|
|
2095
2097
|
def delete_run(
|