digitalhub-runtime-python 0.6.0b4__tar.gz → 0.6.0b6__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.0b4 → digitalhub_runtime_python-0.6.0b6}/PKG-INFO +1 -1
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/functions/spec.py +113 -13
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/utils/inputs.py +1 -1
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/utils/outputs.py +1 -1
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python.egg-info/PKG-INFO +1 -1
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/pyproject.toml +2 -2
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/LICENSE.txt +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/README.md +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/functions/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/functions/status.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/runs/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/runs/spec.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/runs/status.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/tasks/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/tasks/models.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/tasks/spec.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/tasks/status.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/runtimes/__init__.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/runtimes/kind_registry.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/runtimes/runtime.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/utils/configuration.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/utils/env.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/utils/utils.py +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python.egg-info/SOURCES.txt +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python.egg-info/dependency_links.txt +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python.egg-info/requires.txt +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python.egg-info/top_level.txt +0 -0
- {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/setup.cfg +0 -0
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
from typing import Literal
|
|
5
5
|
|
|
6
|
-
from digitalhub_core.entities.functions.spec import FunctionParams, FunctionSpec
|
|
6
|
+
from digitalhub_core.entities.functions.spec import FunctionParams, FunctionSpec
|
|
7
7
|
from digitalhub_core.utils.exceptions import EntityError
|
|
8
8
|
from digitalhub_core.utils.generic_utils import decode_string, encode_source, encode_string
|
|
9
9
|
from digitalhub_core.utils.uri_utils import map_uri_scheme
|
|
@@ -16,7 +16,13 @@ class FunctionSpecPython(FunctionSpec):
|
|
|
16
16
|
|
|
17
17
|
def __init__(
|
|
18
18
|
self,
|
|
19
|
-
source: dict,
|
|
19
|
+
source: str | dict | None = None,
|
|
20
|
+
code_src: str | None = None,
|
|
21
|
+
handler: str | None = None,
|
|
22
|
+
code: str | None = None,
|
|
23
|
+
base64: str | None = None,
|
|
24
|
+
init_function: str | None = None,
|
|
25
|
+
lang: str | None = None,
|
|
20
26
|
image: str | None = None,
|
|
21
27
|
base_image: str | None = None,
|
|
22
28
|
python_version: str | None = None,
|
|
@@ -29,8 +35,21 @@ class FunctionSpecPython(FunctionSpec):
|
|
|
29
35
|
self.python_version = python_version
|
|
30
36
|
self.requirements = requirements
|
|
31
37
|
|
|
32
|
-
|
|
33
|
-
|
|
38
|
+
# Give source precedence
|
|
39
|
+
if source is not None:
|
|
40
|
+
source_dict = source
|
|
41
|
+
else:
|
|
42
|
+
source_dict = {
|
|
43
|
+
"source": code_src,
|
|
44
|
+
"handler": handler,
|
|
45
|
+
"code": code,
|
|
46
|
+
"base64": base64,
|
|
47
|
+
"init_function": init_function,
|
|
48
|
+
"lang": lang,
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
source_checked = self._source_check(source_dict)
|
|
52
|
+
self.source = SourceCodeStruct(**source_checked)
|
|
34
53
|
|
|
35
54
|
@staticmethod
|
|
36
55
|
def _source_check(source: dict) -> dict:
|
|
@@ -47,9 +66,6 @@ class FunctionSpecPython(FunctionSpec):
|
|
|
47
66
|
dict
|
|
48
67
|
Checked source.
|
|
49
68
|
"""
|
|
50
|
-
if source is None:
|
|
51
|
-
raise EntityError("Source must be provided.")
|
|
52
|
-
|
|
53
69
|
# Source check
|
|
54
70
|
source_path = source.get("source")
|
|
55
71
|
code = source.get("code")
|
|
@@ -123,17 +139,101 @@ class FunctionParamsPython(FunctionParams):
|
|
|
123
139
|
Function python parameters model.
|
|
124
140
|
"""
|
|
125
141
|
|
|
126
|
-
source: dict
|
|
127
|
-
"Source code"
|
|
142
|
+
source: dict = None
|
|
143
|
+
"Source code details as dictionary"
|
|
144
|
+
|
|
145
|
+
code_src: str = None
|
|
146
|
+
"Pointer to source code"
|
|
147
|
+
|
|
148
|
+
handler: str = None
|
|
149
|
+
"Function entrypoint"
|
|
150
|
+
|
|
151
|
+
code: str = None
|
|
152
|
+
"Source code (plain text)"
|
|
128
153
|
|
|
129
|
-
|
|
154
|
+
base64: str = None
|
|
155
|
+
"Source code (base64 encoded)"
|
|
156
|
+
|
|
157
|
+
init_function: str = None
|
|
158
|
+
"Init function for remote nuclio execution"
|
|
159
|
+
|
|
160
|
+
lang: str = None
|
|
161
|
+
"Source code language (hint)"
|
|
162
|
+
|
|
163
|
+
python_version: Literal["PYTHON3_9", "PYTHON3_10", "PYTHON3_11"]
|
|
130
164
|
"Python version"
|
|
131
165
|
|
|
132
166
|
image: str = None
|
|
133
|
-
"Image"
|
|
167
|
+
"Image where the function will be executed"
|
|
134
168
|
|
|
135
169
|
base_image: str = None
|
|
136
|
-
"Base image"
|
|
170
|
+
"Base image used to build the image where the function will be executed"
|
|
137
171
|
|
|
138
172
|
requirements: list = None
|
|
139
|
-
"Requirements list
|
|
173
|
+
"Requirements list to be installed in the image where the function will be executed"
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
class SourceCodeStruct:
|
|
177
|
+
"""
|
|
178
|
+
Source code struct.
|
|
179
|
+
"""
|
|
180
|
+
|
|
181
|
+
def __init__(
|
|
182
|
+
self,
|
|
183
|
+
source: str | None = None,
|
|
184
|
+
handler: str | None = None,
|
|
185
|
+
code: str | None = None,
|
|
186
|
+
base64: str | None = None,
|
|
187
|
+
init_function: str | None = None,
|
|
188
|
+
lang: str | None = None,
|
|
189
|
+
) -> None:
|
|
190
|
+
"""
|
|
191
|
+
Constructor.
|
|
192
|
+
|
|
193
|
+
Parameters
|
|
194
|
+
----------
|
|
195
|
+
source : str
|
|
196
|
+
Source reference.
|
|
197
|
+
handler : str
|
|
198
|
+
Function entrypoint.
|
|
199
|
+
code : str
|
|
200
|
+
Source code (plain).
|
|
201
|
+
base64 : str
|
|
202
|
+
Source code (base64 encoded).
|
|
203
|
+
init_function : str
|
|
204
|
+
Init function for remote execution.
|
|
205
|
+
lang : str
|
|
206
|
+
Source code language (hint).
|
|
207
|
+
"""
|
|
208
|
+
self.source = source
|
|
209
|
+
self.handler = handler
|
|
210
|
+
self.code = code
|
|
211
|
+
self.base64 = base64
|
|
212
|
+
self.init_function = init_function
|
|
213
|
+
self.lang = lang
|
|
214
|
+
|
|
215
|
+
def to_dict(self) -> dict:
|
|
216
|
+
"""
|
|
217
|
+
Convert to dictionary.
|
|
218
|
+
|
|
219
|
+
Returns
|
|
220
|
+
-------
|
|
221
|
+
dict
|
|
222
|
+
Dictionary representation of the object.
|
|
223
|
+
"""
|
|
224
|
+
dict_ = {}
|
|
225
|
+
if self.source is not None:
|
|
226
|
+
dict_["source"] = self.source
|
|
227
|
+
if self.handler is not None:
|
|
228
|
+
dict_["handler"] = self.handler
|
|
229
|
+
if self.base64 is not None:
|
|
230
|
+
dict_["base64"] = self.base64
|
|
231
|
+
if self.init_function is not None:
|
|
232
|
+
dict_["init_function"] = self.init_function
|
|
233
|
+
if self.lang is not None:
|
|
234
|
+
dict_["lang"] = self.lang
|
|
235
|
+
|
|
236
|
+
return dict_
|
|
237
|
+
|
|
238
|
+
def __repr__(self) -> str:
|
|
239
|
+
return str(self.to_dict())
|
|
@@ -6,7 +6,7 @@ from typing import Any, Callable
|
|
|
6
6
|
|
|
7
7
|
from digitalhub_core.context.builder import get_context
|
|
8
8
|
from digitalhub_core.entities.artifacts.crud import artifact_from_dict
|
|
9
|
-
from digitalhub_core.utils
|
|
9
|
+
from digitalhub_core.entities.utils import parse_entity_key
|
|
10
10
|
from digitalhub_core.utils.logger import LOGGER
|
|
11
11
|
from digitalhub_data.entities.dataitems.crud import dataitem_from_dict
|
|
12
12
|
from digitalhub_ml.entities.entity_types import EntityTypes
|
|
@@ -4,9 +4,9 @@ import pickle
|
|
|
4
4
|
from typing import Any
|
|
5
5
|
|
|
6
6
|
from digitalhub_core.entities._base.status import State
|
|
7
|
+
from digitalhub_core.entities._builders.uuid import build_uuid
|
|
7
8
|
from digitalhub_core.entities.artifacts.crud import new_artifact
|
|
8
9
|
from digitalhub_core.entities.artifacts.entity import Artifact
|
|
9
|
-
from digitalhub_core.utils.generic_utils import build_uuid
|
|
10
10
|
from digitalhub_core.utils.logger import LOGGER
|
|
11
11
|
from digitalhub_data.entities.dataitems.crud import create_dataitem
|
|
12
12
|
from digitalhub_data.entities.dataitems.entity.table import DataitemTable
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "digitalhub-runtime-python"
|
|
7
|
-
version = "0.6.
|
|
7
|
+
version = "0.6.0b6"
|
|
8
8
|
description = "Python runtime for DHCore"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -39,7 +39,7 @@ line-length = 120
|
|
|
39
39
|
convention = "numpy"
|
|
40
40
|
|
|
41
41
|
[tool.bumpver]
|
|
42
|
-
current_version = "0.6.
|
|
42
|
+
current_version = "0.6.0b6"
|
|
43
43
|
version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
|
|
44
44
|
commit_message = "Bump version {old_version} -> {new_version}"
|
|
45
45
|
commit = false
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|