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.
Files changed (30) hide show
  1. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/PKG-INFO +1 -1
  2. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/functions/spec.py +113 -13
  3. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/utils/inputs.py +1 -1
  4. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/utils/outputs.py +1 -1
  5. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python.egg-info/PKG-INFO +1 -1
  6. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/pyproject.toml +2 -2
  7. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/LICENSE.txt +0 -0
  8. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/README.md +0 -0
  9. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/__init__.py +0 -0
  10. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/__init__.py +0 -0
  11. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/functions/__init__.py +0 -0
  12. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/functions/status.py +0 -0
  13. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/runs/__init__.py +0 -0
  14. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/runs/spec.py +0 -0
  15. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/runs/status.py +0 -0
  16. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/tasks/__init__.py +0 -0
  17. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/tasks/models.py +0 -0
  18. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/tasks/spec.py +0 -0
  19. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/entities/tasks/status.py +0 -0
  20. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/runtimes/__init__.py +0 -0
  21. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/runtimes/kind_registry.py +0 -0
  22. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/runtimes/runtime.py +0 -0
  23. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/utils/configuration.py +0 -0
  24. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/utils/env.py +0 -0
  25. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python/utils/utils.py +0 -0
  26. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python.egg-info/SOURCES.txt +0 -0
  27. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python.egg-info/dependency_links.txt +0 -0
  28. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python.egg-info/requires.txt +0 -0
  29. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/digitalhub_runtime_python.egg-info/top_level.txt +0 -0
  30. {digitalhub_runtime_python-0.6.0b4 → digitalhub_runtime_python-0.6.0b6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: digitalhub-runtime-python
3
- Version: 0.6.0b4
3
+ Version: 0.6.0b6
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
@@ -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, SourceCodeStruct
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
- source = self._source_check(source)
33
- self.source = SourceCodeStruct(**source)
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
- python_version: Literal["PYTHON3_9", "PYTHON3_10"]
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, as used by the runtime"
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.generic_utils import parse_entity_key
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: digitalhub-runtime-python
3
- Version: 0.6.0b4
3
+ Version: 0.6.0b6
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "digitalhub-runtime-python"
7
- version = "0.6.0b4"
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.0b4"
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