digitalhub-runtime-python 0.6.1__tar.gz → 0.7.0__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.
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/PKG-INFO +2 -2
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/__init__.py +6 -6
- {digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/functions → digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/function}/models.py +1 -1
- {digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/functions → digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/function}/spec.py +2 -2
- {digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/functions → digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/function}/status.py +1 -1
- {digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/runs → digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/run}/spec.py +4 -2
- digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/run/status.py +39 -0
- {digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/tasks → digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/task}/spec.py +1 -1
- {digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/tasks → digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/task}/status.py +1 -1
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/runtimes/runtime.py +5 -8
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/utils/inputs.py +9 -9
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/utils/outputs.py +32 -55
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python.egg-info/PKG-INFO +2 -2
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python.egg-info/SOURCES.txt +11 -11
- digitalhub_runtime_python-0.7.0/digitalhub_runtime_python.egg-info/requires.txt +1 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/pyproject.toml +5 -5
- digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/runs/status.py +0 -9
- digitalhub_runtime_python-0.6.1/digitalhub_runtime_python.egg-info/requires.txt +0 -1
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/LICENSE.txt +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/README.md +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/entities/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/functions → digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/function}/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/runs → digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/run}/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/tasks → digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/task}/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.1/digitalhub_runtime_python/entities/tasks → digitalhub_runtime_python-0.7.0/digitalhub_runtime_python/entities/task}/models.py +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/runtimes/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/runtimes/kind_registry.py +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/utils/configuration.py +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/utils/env.py +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/utils/nuclio_configuration.py +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python/utils/utils.py +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python.egg-info/dependency_links.txt +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/digitalhub_runtime_python.egg-info/top_level.txt +0 -0
- {digitalhub_runtime_python-0.6.1 → digitalhub_runtime_python-0.7.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: digitalhub-runtime-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: Python runtime for DHCore
|
|
5
5
|
Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
|
|
6
6
|
License: Apache License
|
|
@@ -228,6 +228,6 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
228
228
|
Requires-Python: >=3.9
|
|
229
229
|
Description-Content-Type: text/markdown
|
|
230
230
|
License-File: LICENSE.txt
|
|
231
|
-
Requires-Dist: digitalhub[ml]
|
|
231
|
+
Requires-Dist: digitalhub[ml]<0.8,>=0.7.0b
|
|
232
232
|
|
|
233
233
|
# SDK for DHCore
|
|
@@ -17,28 +17,28 @@ root_ent = f"{root}.entities"
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
# Function
|
|
20
|
-
entity_type = EntityTypes.
|
|
20
|
+
entity_type = EntityTypes.FUNCTION.value
|
|
21
21
|
func_kind = "python"
|
|
22
|
-
prefix = entity_type.
|
|
22
|
+
prefix = entity_type.capitalize()
|
|
23
23
|
suffix = func_kind.capitalize()
|
|
24
24
|
func_info = create_info(root_ent, entity_type, prefix, suffix, runtime_info)
|
|
25
25
|
registry.register(func_kind, func_info)
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
# Tasks
|
|
29
|
-
entity_type = EntityTypes.
|
|
29
|
+
entity_type = EntityTypes.TASK.value
|
|
30
30
|
for i in ["job", "build", "serve"]:
|
|
31
31
|
task_kind = f"{func_kind}+{i}"
|
|
32
|
-
prefix = entity_type.
|
|
32
|
+
prefix = entity_type.capitalize()
|
|
33
33
|
suffix = i.capitalize()
|
|
34
34
|
task_info = create_info(root_ent, entity_type, prefix, suffix, runtime_info)
|
|
35
35
|
registry.register(task_kind, task_info)
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
# Runs
|
|
39
|
-
entity_type = EntityTypes.
|
|
39
|
+
entity_type = EntityTypes.RUN.value
|
|
40
40
|
run_kind = f"{func_kind}+run"
|
|
41
|
-
prefix = entity_type.
|
|
41
|
+
prefix = entity_type.capitalize()
|
|
42
42
|
suffix = func_kind.capitalize()
|
|
43
43
|
run_info = create_info(root_ent, entity_type, prefix, suffix, runtime_info)
|
|
44
44
|
registry.register(run_kind, run_info)
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
|
|
5
|
-
from digitalhub_core.entities.
|
|
5
|
+
from digitalhub_core.entities.function.models import SourceCodeParams, SourceCodeStruct
|
|
6
6
|
from digitalhub_core.utils.exceptions import EntityError
|
|
7
7
|
from digitalhub_core.utils.generic_utils import encode_source, encode_string
|
|
8
8
|
from digitalhub_core.utils.uri_utils import map_uri_scheme
|
|
@@ -2,8 +2,8 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import Literal
|
|
4
4
|
|
|
5
|
-
from digitalhub_core.entities.
|
|
6
|
-
from digitalhub_runtime_python.entities.
|
|
5
|
+
from digitalhub_core.entities.function.spec import FunctionParams, FunctionSpec
|
|
6
|
+
from digitalhub_runtime_python.entities.function.models import SourceCodeParamsPython, SourceCodeStructPython
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class FunctionSpecPython(FunctionSpec):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from digitalhub_ml.entities.
|
|
3
|
+
from digitalhub_ml.entities.run.spec import RunParamsMl, RunSpecMl
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class RunSpecPython(RunSpecMl):
|
|
@@ -28,6 +28,7 @@ class RunSpecPython(RunSpecMl):
|
|
|
28
28
|
self.tolerations = kwargs.get("tolerations")
|
|
29
29
|
self.env = kwargs.get("env")
|
|
30
30
|
self.secrets = kwargs.get("secrets")
|
|
31
|
+
self.profile = kwargs.get("profile")
|
|
31
32
|
self.backoff_limit = kwargs.get("backoff_limit")
|
|
32
33
|
self.schedule = kwargs.get("schedule")
|
|
33
34
|
self.replicas = kwargs.get("replicas")
|
|
@@ -56,11 +57,12 @@ class RunParamsPython(RunParamsMl):
|
|
|
56
57
|
function: str = None
|
|
57
58
|
node_selector: list[dict] = None
|
|
58
59
|
volumes: list[dict] = None
|
|
59
|
-
resources:
|
|
60
|
+
resources: dict = None
|
|
60
61
|
affinity: dict = None
|
|
61
62
|
tolerations: list[dict] = None
|
|
62
63
|
env: list[dict] = None
|
|
63
64
|
secrets: list[str] = None
|
|
65
|
+
profile: str = None
|
|
64
66
|
|
|
65
67
|
# Task job
|
|
66
68
|
backoff_limit: int = None
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import requests
|
|
4
|
+
from digitalhub_core.utils.exceptions import EntityError
|
|
5
|
+
from digitalhub_ml.entities.run.status import RunStatusMl
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class RunStatusPython(RunStatusMl):
|
|
9
|
+
"""
|
|
10
|
+
Run Python status.
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
def invoke(self, local: bool, **kwargs) -> requests.Response:
|
|
14
|
+
"""
|
|
15
|
+
Invoke running process.
|
|
16
|
+
|
|
17
|
+
Parameters
|
|
18
|
+
----------
|
|
19
|
+
kwargs
|
|
20
|
+
Keyword arguments to pass to the request.
|
|
21
|
+
|
|
22
|
+
Returns
|
|
23
|
+
-------
|
|
24
|
+
requests.Response
|
|
25
|
+
Response from service.
|
|
26
|
+
"""
|
|
27
|
+
try:
|
|
28
|
+
if local:
|
|
29
|
+
raise EntityError("Invoke not supported locally.")
|
|
30
|
+
|
|
31
|
+
method = kwargs.pop("method", "POST")
|
|
32
|
+
url = kwargs.get("url", "http://" + self.service.get("url"))
|
|
33
|
+
|
|
34
|
+
response = requests.request(method=method, url=url, **kwargs)
|
|
35
|
+
response.raise_for_status()
|
|
36
|
+
return response
|
|
37
|
+
except Exception as e:
|
|
38
|
+
msg = f"Something got wrong during model serving. Exception: {e.__class__}. Error: {e.args}"
|
|
39
|
+
raise EntityError(msg)
|
|
@@ -22,11 +22,8 @@ class RuntimePython(Runtime):
|
|
|
22
22
|
def __init__(self, kind_registry: KindRegistry, project: str) -> None:
|
|
23
23
|
super().__init__(kind_registry, project)
|
|
24
24
|
ctx = get_context(self.project)
|
|
25
|
-
self.
|
|
26
|
-
self.
|
|
27
|
-
|
|
28
|
-
self.root.mkdir(parents=True, exist_ok=True)
|
|
29
|
-
self.tmp_dir.mkdir(parents=True, exist_ok=True)
|
|
25
|
+
self.runtime_dir = ctx.root / "runtime_python"
|
|
26
|
+
self.runtime_dir.mkdir(parents=True, exist_ok=True)
|
|
30
27
|
|
|
31
28
|
def build(self, function: dict, task: dict, run: dict) -> dict:
|
|
32
29
|
"""
|
|
@@ -129,9 +126,9 @@ class RuntimePython(Runtime):
|
|
|
129
126
|
LOGGER.exception(msg)
|
|
130
127
|
raise RuntimeError(msg)
|
|
131
128
|
|
|
132
|
-
|
|
129
|
+
##############################
|
|
133
130
|
# Configuration
|
|
134
|
-
|
|
131
|
+
##############################
|
|
135
132
|
|
|
136
133
|
def _configure_execution(self, spec: dict) -> tuple[Callable, bool]:
|
|
137
134
|
"""
|
|
@@ -148,7 +145,7 @@ class RuntimePython(Runtime):
|
|
|
148
145
|
Function to execute.
|
|
149
146
|
"""
|
|
150
147
|
fnc = get_function_from_source(
|
|
151
|
-
self.
|
|
148
|
+
self.runtime_dir,
|
|
152
149
|
spec.get("source", {}),
|
|
153
150
|
)
|
|
154
151
|
return fnc, hasattr(fnc, "__wrapped__")
|
|
@@ -5,17 +5,17 @@ import typing
|
|
|
5
5
|
from typing import Any, Callable
|
|
6
6
|
|
|
7
7
|
from digitalhub_core.context.builder import get_context
|
|
8
|
-
from digitalhub_core.entities.
|
|
8
|
+
from digitalhub_core.entities.artifact.crud import artifact_from_dict
|
|
9
9
|
from digitalhub_core.entities.utils import parse_entity_key
|
|
10
10
|
from digitalhub_core.utils.logger import LOGGER
|
|
11
|
-
from digitalhub_data.entities.
|
|
11
|
+
from digitalhub_data.entities.dataitem.crud import dataitem_from_dict
|
|
12
12
|
from digitalhub_ml.entities.entity_types import EntityTypes
|
|
13
|
-
from digitalhub_ml.entities.
|
|
14
|
-
from digitalhub_ml.entities.
|
|
13
|
+
from digitalhub_ml.entities.model.crud import model_from_dict
|
|
14
|
+
from digitalhub_ml.entities.project.crud import get_project
|
|
15
15
|
|
|
16
16
|
if typing.TYPE_CHECKING:
|
|
17
|
-
from digitalhub_core.entities._base.entity import Entity
|
|
18
|
-
from digitalhub_core.entities.
|
|
17
|
+
from digitalhub_core.entities._base.entity.base import Entity
|
|
18
|
+
from digitalhub_core.entities.project.entity._base import Project
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
def get_project_(project_name: str) -> Project:
|
|
@@ -63,11 +63,11 @@ def get_entity_inputs(inputs: dict) -> dict[str, Entity]:
|
|
|
63
63
|
inputs_objects = {}
|
|
64
64
|
for k, v in inputs.items():
|
|
65
65
|
_, entity_type, _, _, _ = parse_entity_key(v.get("key"))
|
|
66
|
-
if entity_type == EntityTypes.
|
|
66
|
+
if entity_type == EntityTypes.DATAITEM.value:
|
|
67
67
|
inputs_objects[k] = dataitem_from_dict(v)
|
|
68
|
-
elif entity_type == EntityTypes.
|
|
68
|
+
elif entity_type == EntityTypes.ARTIFACT.value:
|
|
69
69
|
inputs_objects[k] = artifact_from_dict(v)
|
|
70
|
-
elif entity_type == EntityTypes.
|
|
70
|
+
elif entity_type == EntityTypes.MODEL.value:
|
|
71
71
|
inputs_objects[k] = model_from_dict(v)
|
|
72
72
|
return inputs_objects
|
|
73
73
|
except Exception as e:
|
|
@@ -3,17 +3,13 @@ from __future__ import annotations
|
|
|
3
3
|
import pickle
|
|
4
4
|
from typing import Any
|
|
5
5
|
|
|
6
|
-
from digitalhub_core.entities._base.
|
|
7
|
-
from digitalhub_core.entities.
|
|
8
|
-
from digitalhub_core.entities.
|
|
9
|
-
from digitalhub_core.entities.artifacts.entity import Artifact
|
|
6
|
+
from digitalhub_core.entities._base.state import State
|
|
7
|
+
from digitalhub_core.entities.artifact.crud import log_artifact
|
|
8
|
+
from digitalhub_core.entities.artifact.entity._base import Artifact
|
|
10
9
|
from digitalhub_core.utils.logger import LOGGER
|
|
11
|
-
from digitalhub_data.entities.
|
|
12
|
-
from digitalhub_data.entities.
|
|
13
|
-
from digitalhub_data.readers.builder import get_reader_by_object
|
|
10
|
+
from digitalhub_data.entities.dataitem.crud import log_dataitem
|
|
11
|
+
from digitalhub_data.entities.dataitem.entity.table import DataitemTable
|
|
14
12
|
from digitalhub_data.readers.registry import DATAFRAME_TYPES
|
|
15
|
-
from digitalhub_ml.entities.entity_types import EntityTypes
|
|
16
|
-
from digitalhub_runtime_python.utils.env import S3_BUCKET
|
|
17
13
|
|
|
18
14
|
|
|
19
15
|
def collect_outputs(results: Any, outputs: list[str], project_name: str) -> dict:
|
|
@@ -45,10 +41,10 @@ def collect_outputs(results: Any, outputs: list[str], project_name: str) -> dict
|
|
|
45
41
|
objects[name] = item
|
|
46
42
|
|
|
47
43
|
elif f"{item.__class__.__module__}.{item.__class__.__name__}" in DATAFRAME_TYPES:
|
|
48
|
-
objects[name] =
|
|
44
|
+
objects[name] = _log_dataitem(name, project_name, item)
|
|
49
45
|
|
|
50
46
|
else:
|
|
51
|
-
objects[name] =
|
|
47
|
+
objects[name] = _log_artifact(name, project_name, item)
|
|
52
48
|
|
|
53
49
|
return objects
|
|
54
50
|
|
|
@@ -102,9 +98,9 @@ def listify_results(results: Any) -> list:
|
|
|
102
98
|
return results
|
|
103
99
|
|
|
104
100
|
|
|
105
|
-
def
|
|
101
|
+
def _log_dataitem(name: str, project_name: str, data: Any) -> DataitemTable:
|
|
106
102
|
"""
|
|
107
|
-
|
|
103
|
+
Log dataitem.
|
|
108
104
|
|
|
109
105
|
Parameters
|
|
110
106
|
----------
|
|
@@ -113,7 +109,7 @@ def build_and_load_dataitem(name: str, project_name: str, data: Any) -> Dataitem
|
|
|
113
109
|
project_name : str
|
|
114
110
|
Project name.
|
|
115
111
|
data : Any
|
|
116
|
-
|
|
112
|
+
Dataframe.
|
|
117
113
|
|
|
118
114
|
Returns
|
|
119
115
|
-------
|
|
@@ -121,33 +117,21 @@ def build_and_load_dataitem(name: str, project_name: str, data: Any) -> Dataitem
|
|
|
121
117
|
Dataitem key.
|
|
122
118
|
"""
|
|
123
119
|
try:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
kwargs["path"] = f"s3://{S3_BUCKET}/{project_name}/{EntityTypes.DATAITEMS.value}/{new_id}/data.parquet"
|
|
131
|
-
|
|
132
|
-
di: DataitemTable = create_dataitem(**kwargs)
|
|
133
|
-
|
|
134
|
-
reader = get_reader_by_object(data)
|
|
135
|
-
di.spec.schema = reader.get_schema(data)
|
|
136
|
-
di.status.preview = reader.get_preview(data)
|
|
137
|
-
|
|
138
|
-
di.save()
|
|
139
|
-
|
|
140
|
-
di.write_df(df=data)
|
|
141
|
-
return di
|
|
120
|
+
return log_dataitem(
|
|
121
|
+
project=project_name,
|
|
122
|
+
name=name,
|
|
123
|
+
kind="table",
|
|
124
|
+
data=data,
|
|
125
|
+
)
|
|
142
126
|
except Exception as e:
|
|
143
|
-
msg = f"Some error occurred while
|
|
127
|
+
msg = f"Some error occurred while logging dataitem. Exception: {e.__class__}. Error: {e.args}"
|
|
144
128
|
LOGGER.exception(msg)
|
|
145
129
|
raise RuntimeError(msg)
|
|
146
130
|
|
|
147
131
|
|
|
148
|
-
def
|
|
132
|
+
def _log_artifact(name: str, project_name: str, data: Any) -> Artifact:
|
|
149
133
|
"""
|
|
150
|
-
|
|
134
|
+
Log artifact.
|
|
151
135
|
|
|
152
136
|
Parameters
|
|
153
137
|
----------
|
|
@@ -164,25 +148,19 @@ def build_and_load_artifact(name: str, project_name: str, data: Any) -> Artifact
|
|
|
164
148
|
Artifact key.
|
|
165
149
|
"""
|
|
166
150
|
try:
|
|
167
|
-
kwargs = {}
|
|
168
|
-
kwargs["project"] = project_name
|
|
169
|
-
kwargs["name"] = name
|
|
170
|
-
kwargs["kind"] = "artifact"
|
|
171
|
-
new_id = build_uuid()
|
|
172
|
-
kwargs["uuid"] = new_id
|
|
173
|
-
pickle_file = f"{name}.pickle"
|
|
174
|
-
kwargs["path"] = f"s3://{S3_BUCKET}/{project_name}/{EntityTypes.ARTIFACTS.value}/{new_id}/{pickle_file}"
|
|
175
|
-
|
|
176
151
|
# Dump item to pickle
|
|
152
|
+
pickle_file = f"{name}.pickle"
|
|
177
153
|
with open(pickle_file, "wb") as f:
|
|
178
154
|
f.write(pickle.dumps(data))
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
155
|
+
return log_artifact(
|
|
156
|
+
project=project_name,
|
|
157
|
+
name=name,
|
|
158
|
+
kind="artifact",
|
|
159
|
+
source=pickle_file,
|
|
160
|
+
)
|
|
183
161
|
|
|
184
162
|
except Exception as e:
|
|
185
|
-
msg = f"Some error occurred while
|
|
163
|
+
msg = f"Some error occurred while logging artifact. Exception: {e.__class__}. Error: {e.args}"
|
|
186
164
|
LOGGER.exception(msg)
|
|
187
165
|
raise RuntimeError(msg)
|
|
188
166
|
|
|
@@ -212,12 +190,11 @@ def build_status(
|
|
|
212
190
|
mapped_outputs = {}
|
|
213
191
|
|
|
214
192
|
try:
|
|
215
|
-
for key,
|
|
216
|
-
if
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
results[key] = parsed_execution[key]
|
|
193
|
+
for key, value in parsed_execution.items():
|
|
194
|
+
if isinstance(value, (DataitemTable, Artifact)):
|
|
195
|
+
outputs[key] = value.key
|
|
196
|
+
else:
|
|
197
|
+
results[key] = value
|
|
221
198
|
return {
|
|
222
199
|
"state": State.COMPLETED.value,
|
|
223
200
|
"outputs": outputs,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: digitalhub-runtime-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: Python runtime for DHCore
|
|
5
5
|
Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
|
|
6
6
|
License: Apache License
|
|
@@ -228,6 +228,6 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
228
228
|
Requires-Python: >=3.9
|
|
229
229
|
Description-Content-Type: text/markdown
|
|
230
230
|
License-File: LICENSE.txt
|
|
231
|
-
Requires-Dist: digitalhub[ml]
|
|
231
|
+
Requires-Dist: digitalhub[ml]<0.8,>=0.7.0b
|
|
232
232
|
|
|
233
233
|
# SDK for DHCore
|
|
@@ -8,17 +8,17 @@ digitalhub_runtime_python.egg-info/dependency_links.txt
|
|
|
8
8
|
digitalhub_runtime_python.egg-info/requires.txt
|
|
9
9
|
digitalhub_runtime_python.egg-info/top_level.txt
|
|
10
10
|
digitalhub_runtime_python/entities/__init__.py
|
|
11
|
-
digitalhub_runtime_python/entities/
|
|
12
|
-
digitalhub_runtime_python/entities/
|
|
13
|
-
digitalhub_runtime_python/entities/
|
|
14
|
-
digitalhub_runtime_python/entities/
|
|
15
|
-
digitalhub_runtime_python/entities/
|
|
16
|
-
digitalhub_runtime_python/entities/
|
|
17
|
-
digitalhub_runtime_python/entities/
|
|
18
|
-
digitalhub_runtime_python/entities/
|
|
19
|
-
digitalhub_runtime_python/entities/
|
|
20
|
-
digitalhub_runtime_python/entities/
|
|
21
|
-
digitalhub_runtime_python/entities/
|
|
11
|
+
digitalhub_runtime_python/entities/function/__init__.py
|
|
12
|
+
digitalhub_runtime_python/entities/function/models.py
|
|
13
|
+
digitalhub_runtime_python/entities/function/spec.py
|
|
14
|
+
digitalhub_runtime_python/entities/function/status.py
|
|
15
|
+
digitalhub_runtime_python/entities/run/__init__.py
|
|
16
|
+
digitalhub_runtime_python/entities/run/spec.py
|
|
17
|
+
digitalhub_runtime_python/entities/run/status.py
|
|
18
|
+
digitalhub_runtime_python/entities/task/__init__.py
|
|
19
|
+
digitalhub_runtime_python/entities/task/models.py
|
|
20
|
+
digitalhub_runtime_python/entities/task/spec.py
|
|
21
|
+
digitalhub_runtime_python/entities/task/status.py
|
|
22
22
|
digitalhub_runtime_python/runtimes/__init__.py
|
|
23
23
|
digitalhub_runtime_python/runtimes/kind_registry.py
|
|
24
24
|
digitalhub_runtime_python/runtimes/runtime.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
digitalhub[ml]<0.8,>=0.7.0b
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "digitalhub-runtime-python"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.7.0"
|
|
8
8
|
description = "Python runtime for DHCore"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -20,7 +20,7 @@ classifiers = [
|
|
|
20
20
|
keywords = ["data", "dataops", "kubernetes"]
|
|
21
21
|
requires-python = ">=3.9"
|
|
22
22
|
dependencies = [
|
|
23
|
-
"digitalhub[ml]>=0.
|
|
23
|
+
"digitalhub[ml]>=0.7.0b, <0.8",
|
|
24
24
|
]
|
|
25
25
|
|
|
26
26
|
[project.urls]
|
|
@@ -32,14 +32,14 @@ max-line-length = 120
|
|
|
32
32
|
[tool.ruff]
|
|
33
33
|
line-length = 120
|
|
34
34
|
|
|
35
|
-
[tool.ruff.extend-per-file-ignores]
|
|
35
|
+
[tool.ruff.lint.extend-per-file-ignores]
|
|
36
36
|
"__init__.py" = ["F401"]
|
|
37
37
|
|
|
38
|
-
[tool.ruff.pydocstyle]
|
|
38
|
+
[tool.ruff.lint.pydocstyle]
|
|
39
39
|
convention = "numpy"
|
|
40
40
|
|
|
41
41
|
[tool.bumpver]
|
|
42
|
-
current_version = "0.
|
|
42
|
+
current_version = "0.7.0"
|
|
43
43
|
version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
|
|
44
44
|
commit_message = "Bump version {old_version} -> {new_version}"
|
|
45
45
|
commit = false
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
digitalhub[ml]>=0.6.0b
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|