digitalhub-runtime-python 0.15.0b6__tar.gz → 0.15.0b7__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.15.0b6 → digitalhub_runtime_python-0.15.0b7}/PKG-INFO +1 -1
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/utils/configuration.py +31 -34
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/pyproject.toml +2 -2
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/.github/scripts/bump.sh +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/.github/scripts/changelog.sh +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/.github/scripts/cliff.toml +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/.github/workflows/release.yml +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/.github/workflows/run_local_test.yml +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/.github/workflows/test_release.yml +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/.gitignore +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/AUTHORS +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/CONTRIBUTING +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/COPYRIGHT +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/LICENSE +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/README.md +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/_base/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/_base/runtime_entity/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/_base/runtime_entity/builder.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/_commons/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/_commons/enums.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/function/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/function/python/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/function/python/builder.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/function/python/entity.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/function/python/models.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/function/python/spec.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/function/python/status.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/function/python/utils.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/_base/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/_base/builder.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/_base/entity.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/_base/spec.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/_base/status.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/_base/utils.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/build/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/build/builder.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/build/entity.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/build/spec.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/build/status.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/job/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/job/builder.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/job/entity.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/job/spec.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/job/status.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/serve/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/serve/builder.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/serve/entity.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/serve/spec.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/run/serve/status.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/build/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/build/builder.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/build/entity.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/build/spec.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/build/status.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/job/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/job/builder.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/job/entity.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/job/models.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/job/spec.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/job/status.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/serve/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/serve/builder.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/serve/entity.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/serve/spec.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/entities/task/serve/status.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/runtimes/__init__.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/runtimes/builder.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/runtimes/runtime.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/utils/inputs.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/utils/outputs.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/digitalhub_runtime_python/utils/utils.py +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/test/instances/entities/function/function-python-git.json +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/test/instances/entities/function/function-python-local.json +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/test/instances/entities/function/function-python-zip.json +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/test/instances/entities/run/run-python+build:run.json +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/test/instances/entities/run/run-python+job:run.json +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/test/instances/entities/run/run-python+serve:run.json +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/test/instances/entities/task/task-python+build.json +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/test/instances/entities/task/task-python+job.json +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/test/instances/entities/task/task-python+serve.json +0 -0
- {digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/test/instances/test_validate.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: digitalhub-runtime-python
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.0b7
|
|
4
4
|
Summary: Python runtime for DHCore
|
|
5
5
|
Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk-runtime-python
|
|
6
6
|
Author-email: Fondazione Bruno Kessler <digitalhub@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
|
+
from importlib import import_module
|
|
7
8
|
from pathlib import Path
|
|
8
|
-
from typing import Callable
|
|
9
|
+
from typing import Callable
|
|
9
10
|
|
|
10
11
|
from digitalhub.stores.data.api import get_store
|
|
11
12
|
from digitalhub.utils.generic_utils import (
|
|
@@ -19,10 +20,10 @@ from digitalhub.utils.logger import LOGGER
|
|
|
19
20
|
from digitalhub.utils.uri_utils import (
|
|
20
21
|
get_filename_from_uri,
|
|
21
22
|
has_git_scheme,
|
|
22
|
-
has_local_scheme,
|
|
23
23
|
has_remote_scheme,
|
|
24
24
|
has_s3_scheme,
|
|
25
25
|
has_zip_scheme,
|
|
26
|
+
has_local_scheme
|
|
26
27
|
)
|
|
27
28
|
|
|
28
29
|
DEFAULT_PY_FILE = "main.py"
|
|
@@ -276,52 +277,43 @@ def save_function_source(path: Path, source_spec: dict) -> Path:
|
|
|
276
277
|
raise RuntimeError(f"Unable to collect source from: {source}")
|
|
277
278
|
|
|
278
279
|
|
|
279
|
-
def
|
|
280
|
+
def _get_function_to_import(handler: str, source_code: str | None) -> tuple[str, str]:
|
|
280
281
|
"""
|
|
281
|
-
Get function
|
|
282
|
+
Get function name from handler string.
|
|
282
283
|
|
|
283
284
|
Parameters
|
|
284
285
|
----------
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
286
|
+
handler : str
|
|
287
|
+
Function handler in format 'module:function' or 'path.to.module:function'.
|
|
288
|
+
source_code : str | None
|
|
289
|
+
Source code (used to infer function name if handler is just a function name).
|
|
289
290
|
|
|
290
291
|
Returns
|
|
291
292
|
-------
|
|
292
|
-
tuple
|
|
293
|
-
Function
|
|
293
|
+
tuple
|
|
294
|
+
Function module and function name.
|
|
294
295
|
"""
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
if
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
if has_local_scheme(source):
|
|
305
|
-
return source_path / Path(source), function_name
|
|
306
|
-
|
|
307
|
-
# Otherwise, use default main.py
|
|
308
|
-
return source_path / Path(DEFAULT_PY_FILE), function_name
|
|
296
|
+
# If handler is not specified, assume function module is in main
|
|
297
|
+
try:
|
|
298
|
+
function_module, function_name = handler.split(":")
|
|
299
|
+
except ValueError:
|
|
300
|
+
function_name = handler
|
|
301
|
+
if source_code is not None and has_local_scheme(source_code):
|
|
302
|
+
function_module = get_filename_from_uri(source_code).removesuffix(".py")
|
|
303
|
+
else:
|
|
304
|
+
function_module = DEFAULT_PY_FILE.removesuffix(".py")
|
|
309
305
|
|
|
310
|
-
|
|
311
|
-
return (source_path / handler_path).with_suffix(".py"), function_name
|
|
306
|
+
return function_module, function_name
|
|
312
307
|
|
|
313
308
|
|
|
314
309
|
def import_function_and_init_from_source(
|
|
315
|
-
path: Path,
|
|
316
310
|
source_spec: dict,
|
|
317
|
-
) -> tuple[Callable,
|
|
311
|
+
) -> tuple[Callable, Callable | None]:
|
|
318
312
|
"""
|
|
319
313
|
Import main function and optional init function from source.
|
|
320
314
|
|
|
321
315
|
Parameters
|
|
322
316
|
----------
|
|
323
|
-
path : Path
|
|
324
|
-
Root path where the function source is downloaded.
|
|
325
317
|
source_spec : dict
|
|
326
318
|
Function source spec.
|
|
327
319
|
|
|
@@ -330,14 +322,19 @@ def import_function_and_init_from_source(
|
|
|
330
322
|
tuple
|
|
331
323
|
Main function and optional init function.
|
|
332
324
|
"""
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
325
|
+
handler = source_spec.get("handler")
|
|
326
|
+
source_code = source_spec.get("source")
|
|
327
|
+
|
|
328
|
+
function_module, function_name = _get_function_to_import(handler, source_code)
|
|
329
|
+
|
|
330
|
+
# Import module and get main function
|
|
331
|
+
module = import_module(function_module)
|
|
332
|
+
main_function = getattr(module, function_name)
|
|
336
333
|
|
|
337
334
|
# Import init function if specified
|
|
338
335
|
init_function: Callable | None = None
|
|
339
336
|
init_handler: str | None = source_spec.get("init_function")
|
|
340
337
|
if init_handler is not None:
|
|
341
|
-
init_function =
|
|
338
|
+
init_function = getattr(module, init_handler)
|
|
342
339
|
|
|
343
340
|
return main_function, init_function
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "digitalhub-runtime-python"
|
|
7
|
-
version = "0.15.
|
|
7
|
+
version = "0.15.0b7"
|
|
8
8
|
description = "Python runtime for DHCore"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -51,7 +51,7 @@ docstring-code-line-length = 120
|
|
|
51
51
|
convention = "numpy"
|
|
52
52
|
|
|
53
53
|
[tool.bumpver]
|
|
54
|
-
current_version = "0.15.
|
|
54
|
+
current_version = "0.15.0b7"
|
|
55
55
|
version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
|
|
56
56
|
commit_message = "Bump version {old_version} -> {new_version}"
|
|
57
57
|
commit = false
|
{digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/.github/scripts/bump.sh
RENAMED
|
File without changes
|
|
File without changes
|
{digitalhub_runtime_python-0.15.0b6 → digitalhub_runtime_python-0.15.0b7}/.github/scripts/cliff.toml
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
|
|
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
|
|
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
|
|
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
|