digitalhub-runtime-python 0.10.1__tar.gz → 0.11.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.
Files changed (68) hide show
  1. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/PKG-INFO +3 -3
  2. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/function/python/utils.py +4 -4
  3. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/run/python_run/entity.py +3 -3
  4. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/run/python_run/spec.py +0 -5
  5. digitalhub_runtime_python-0.11.0/digitalhub_runtime_python/entities/task/python_job/spec.py +15 -0
  6. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/utils/inputs.py +2 -2
  7. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/utils/utils.py +2 -0
  8. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/pyproject.toml +4 -4
  9. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/test/local/instances/test_validate.py +1 -1
  10. digitalhub_runtime_python-0.10.1/digitalhub_runtime_python/entities/task/python_job/spec.py +0 -49
  11. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/.github/scripts/bump.sh +0 -0
  12. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/.github/scripts/changelog.sh +0 -0
  13. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/.github/scripts/cliff.toml +0 -0
  14. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/.github/workflows/release.yml +0 -0
  15. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/.github/workflows/run_local_test.yml +0 -0
  16. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/.github/workflows/test_release.yml +0 -0
  17. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/.gitignore +0 -0
  18. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/LICENSE.txt +0 -0
  19. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/README.md +0 -0
  20. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/__init__.py +0 -0
  21. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/__init__.py +0 -0
  22. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/_base/__init__.py +0 -0
  23. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/_base/runtime_entity/__init__.py +0 -0
  24. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/_base/runtime_entity/builder.py +0 -0
  25. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/_commons/__init__.py +0 -0
  26. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/_commons/enums.py +0 -0
  27. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/function/__init__.py +0 -0
  28. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/function/python/__init__.py +0 -0
  29. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/function/python/builder.py +0 -0
  30. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/function/python/entity.py +0 -0
  31. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/function/python/models.py +0 -0
  32. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/function/python/spec.py +0 -0
  33. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/function/python/status.py +0 -0
  34. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/run/__init__.py +0 -0
  35. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/run/python_run/__init__.py +0 -0
  36. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/run/python_run/builder.py +0 -0
  37. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/run/python_run/status.py +0 -0
  38. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/run/python_run/utils.py +0 -0
  39. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/__init__.py +0 -0
  40. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_build/__init__.py +0 -0
  41. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_build/builder.py +0 -0
  42. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_build/entity.py +0 -0
  43. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_build/spec.py +0 -0
  44. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_build/status.py +0 -0
  45. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_job/__init__.py +0 -0
  46. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_job/builder.py +0 -0
  47. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_job/entity.py +0 -0
  48. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_job/models.py +0 -0
  49. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_job/status.py +0 -0
  50. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_serve/__init__.py +0 -0
  51. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_serve/builder.py +0 -0
  52. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_serve/entity.py +0 -0
  53. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_serve/spec.py +0 -0
  54. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/entities/task/python_serve/status.py +0 -0
  55. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/runtimes/__init__.py +0 -0
  56. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/runtimes/builder.py +0 -0
  57. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/runtimes/runtime.py +0 -0
  58. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/utils/configuration.py +0 -0
  59. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/digitalhub_runtime_python/utils/outputs.py +0 -0
  60. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/test/local/instances/entities/function/function-python-git.json +0 -0
  61. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/test/local/instances/entities/function/function-python-local.json +0 -0
  62. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/test/local/instances/entities/function/function-python-zip.json +0 -0
  63. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/test/local/instances/entities/run/run-python+build.json +0 -0
  64. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/test/local/instances/entities/run/run-python+job.json +0 -0
  65. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/test/local/instances/entities/run/run-python+serve.json +0 -0
  66. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/test/local/instances/entities/task/task-python+build.json +0 -0
  67. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/test/local/instances/entities/task/task-python+job.json +0 -0
  68. {digitalhub_runtime_python-0.10.1 → digitalhub_runtime_python-0.11.0}/test/local/instances/entities/task/task-python+serve.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: digitalhub-runtime-python
3
- Version: 0.10.1
3
+ Version: 0.11.0
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 <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
@@ -228,10 +228,10 @@ Classifier: Programming Language :: Python :: 3.10
228
228
  Classifier: Programming Language :: Python :: 3.11
229
229
  Classifier: Programming Language :: Python :: 3.12
230
230
  Requires-Python: <3.13,>=3.9
231
- Requires-Dist: digitalhub[full]<0.11,>=0.10.0b
231
+ Requires-Dist: digitalhub[full]<0.12,>=0.11.0b
232
232
  Requires-Dist: nuclio-sdk
233
233
  Provides-Extra: dev
234
- Requires-Dist: digitalhub[dev]<0.11,>=0.10.0b; extra == 'dev'
234
+ Requires-Dist: digitalhub[dev]<0.12,>=0.11.0b; extra == 'dev'
235
235
  Description-Content-Type: text/markdown
236
236
 
237
237
  # SDK for DHCore
@@ -4,10 +4,10 @@ import typing
4
4
  from pathlib import Path
5
5
 
6
6
  from digitalhub.stores.data.api import get_store
7
- from digitalhub.stores.data.s3.utils import get_s3_bucket_from_env
7
+ from digitalhub.stores.data.utils import get_default_store
8
8
  from digitalhub.utils.exceptions import EntityError
9
9
  from digitalhub.utils.file_utils import eval_py_type, eval_zip_type
10
- from digitalhub.utils.generic_utils import encode_source, encode_string
10
+ from digitalhub.utils.generic_utils import encode_string, read_source
11
11
  from digitalhub.utils.uri_utils import has_local_scheme
12
12
 
13
13
  from digitalhub_runtime_python.entities.function.python.models import Lang
@@ -138,12 +138,12 @@ def source_post_check(exec: FunctionPython) -> FunctionPython:
138
138
  if has_local_scheme(code_src) and Path(code_src).is_file():
139
139
  # Check py
140
140
  if eval_py_type(code_src):
141
- exec.spec.source["base64"] = encode_source(code_src)
141
+ exec.spec.source["base64"] = read_source(code_src)
142
142
 
143
143
  # Check zip
144
144
  elif eval_zip_type(code_src):
145
145
  filename = Path(code_src).name
146
- dst = f"zip+s3://{get_s3_bucket_from_env()}/{exec.project}/{exec.ENTITY_TYPE}/{exec.name}/{exec.id}/{filename}"
146
+ dst = f"zip+{get_default_store(exec.project)}/{exec.project}/{exec.ENTITY_TYPE}/{exec.name}/{exec.id}/{filename}"
147
147
  get_store(exec.project, dst).upload(code_src, dst)
148
148
  exec.spec.source["source"] = dst
149
149
  if ":" not in exec.spec.source["handler"]:
@@ -8,7 +8,7 @@ import requests
8
8
  from digitalhub.entities._commons.enums import Relationship, State
9
9
  from digitalhub.entities._commons.utils import get_entity_type_from_key
10
10
  from digitalhub.entities.run._base.entity import Run
11
- from digitalhub.factory.api import get_action_from_task_kind
11
+ from digitalhub.factory.factory import factory
12
12
  from digitalhub.utils.exceptions import EntityError
13
13
  from digitalhub.utils.logger import LOGGER
14
14
 
@@ -77,7 +77,7 @@ class RunPythonRun(Run):
77
77
  Run object.
78
78
  """
79
79
  task_kind = self.spec.task.split("://")[0]
80
- action = get_action_from_task_kind(self.kind, task_kind)
80
+ action = factory.get_action_from_task_kind(self.kind, task_kind)
81
81
 
82
82
  if action == TaskActions.SERVE.value:
83
83
  serve_timeout = 300
@@ -125,7 +125,7 @@ class RunPythonRun(Run):
125
125
  Inputs.
126
126
  """
127
127
  inputs = {}
128
- if self.inputs is None:
128
+ if self.spec.inputs is None:
129
129
  return inputs
130
130
 
131
131
  for parameter, key in self.spec.inputs.items():
@@ -27,7 +27,6 @@ class RunSpecPythonRun(RunSpec):
27
27
  base_image: str | None = None,
28
28
  python_version: str | None = None,
29
29
  requirements: list | None = None,
30
- schedule: str | None = None,
31
30
  service_type: str | None = None,
32
31
  replicas: int | None = None,
33
32
  instructions: dict | None = None,
@@ -59,7 +58,6 @@ class RunSpecPythonRun(RunSpec):
59
58
  self.python_version = python_version
60
59
  self.requirements = requirements
61
60
 
62
- self.schedule = schedule
63
61
  self.service_type = service_type
64
62
  self.replicas = replicas
65
63
  self.instructions = instructions
@@ -78,9 +76,6 @@ class RunValidatorPythonRun(RunValidator):
78
76
  python_version: str = None
79
77
  requirements: list = None
80
78
 
81
- # Task job
82
- schedule: str = None
83
-
84
79
  # Task serve
85
80
  service_type: str = None
86
81
  replicas: int = None
@@ -0,0 +1,15 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.entities.task._base.spec import TaskSpecFunction, TaskValidatorFunction
4
+
5
+
6
+ class TaskSpecPythonJob(TaskSpecFunction):
7
+ """
8
+ TaskSpecPythonJob specifications.
9
+ """
10
+
11
+
12
+ class TaskValidatorPythonJob(TaskValidatorFunction):
13
+ """
14
+ TaskValidatorPythonJob validator.
15
+ """
@@ -6,7 +6,7 @@ from typing import Any, Callable
6
6
 
7
7
  from digitalhub.context.api import get_context
8
8
  from digitalhub.entities.project.crud import get_project
9
- from digitalhub.factory.api import build_entity_from_dict
9
+ from digitalhub.factory.factory import factory
10
10
  from digitalhub.utils.logger import LOGGER
11
11
 
12
12
  if typing.TYPE_CHECKING:
@@ -85,7 +85,7 @@ def get_entity_inputs(inputs: dict) -> dict[str, Entity]:
85
85
  Dictionary of inputs.
86
86
  """
87
87
  try:
88
- return {k: build_entity_from_dict(v) for k, v in inputs.items()}
88
+ return {k: factory.build_entity_from_dict(v) for k, v in inputs.items()}
89
89
  except Exception as e:
90
90
  msg = f"Error during inputs collection. Exception: {e.__class__}. Error: {e.args}"
91
91
  LOGGER.exception(msg)
@@ -20,6 +20,8 @@ def handler(outputs: list[str] | None = None) -> Callable:
20
20
  Callable
21
21
  Decorated function.
22
22
  """
23
+ if outputs is None:
24
+ outputs = []
23
25
 
24
26
  def decorator(func: Callable) -> Callable:
25
27
  """
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "digitalhub-runtime-python"
7
- version = "0.10.1"
7
+ version = "0.11.0"
8
8
  description = "Python runtime for DHCore"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -22,13 +22,13 @@ classifiers = [
22
22
  keywords = ["data", "dataops", "kubernetes"]
23
23
  requires-python = ">=3.9, <3.13"
24
24
  dependencies = [
25
- "digitalhub[full]>=0.10.0b, <0.11",
25
+ "digitalhub[full]>=0.11.0b, <0.12",
26
26
  "nuclio-sdk"
27
27
  ]
28
28
 
29
29
  [project.optional-dependencies]
30
30
  dev = [
31
- "digitalhub[dev]>=0.10.0b, <0.11"
31
+ "digitalhub[dev]>=0.11.0b, <0.12"
32
32
  ]
33
33
 
34
34
  [project.urls]
@@ -47,7 +47,7 @@ line-length = 120
47
47
  convention = "numpy"
48
48
 
49
49
  [tool.bumpver]
50
- current_version = "0.10.1"
50
+ current_version = "0.11.0"
51
51
  version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
52
52
  commit_message = "Bump version {old_version} -> {new_version}"
53
53
  commit = false
@@ -46,7 +46,7 @@ def is_valid(built, kind):
46
46
  schema = json.load(schema_file)
47
47
 
48
48
  # To validate all the properties
49
- schema["required"] = [a for a in list(schema['properties'].keys())]
49
+ schema["required"] = [a for a in list(schema["properties"].keys())]
50
50
  validate(instance=built, schema=schema)
51
51
  return True
52
52
 
@@ -1,49 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.entities.task._base.spec import TaskSpecFunction, TaskValidatorFunction
4
-
5
-
6
- class TaskSpecPythonJob(TaskSpecFunction):
7
- """TaskSpecPythonJob specifications."""
8
-
9
- def __init__(
10
- self,
11
- function: str,
12
- node_selector: list[dict] | None = None,
13
- volumes: list[dict] | None = None,
14
- resources: dict | None = None,
15
- affinity: dict | None = None,
16
- tolerations: list[dict] | None = None,
17
- envs: list[dict] | None = None,
18
- secrets: list[str] | None = None,
19
- profile: str | None = None,
20
- runtime_class: str | None = None,
21
- priority_class: str | None = None,
22
- schedule: str | None = None,
23
- **kwargs,
24
- ) -> None:
25
- super().__init__(
26
- function,
27
- node_selector,
28
- volumes,
29
- resources,
30
- affinity,
31
- tolerations,
32
- envs,
33
- secrets,
34
- profile,
35
- runtime_class,
36
- priority_class,
37
- **kwargs,
38
- )
39
-
40
- self.schedule = schedule
41
-
42
-
43
- class TaskValidatorPythonJob(TaskValidatorFunction):
44
- """
45
- TaskValidatorPythonJob validator.
46
- """
47
-
48
- schedule: str = None
49
- """Schedule."""