digitalhub-runtime-python 0.8.0b2__tar.gz → 0.8.0b4__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.8.0b2 → digitalhub_runtime_python-0.8.0b4}/PKG-INFO +1 -1
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/__init__.py +24 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/function/python/builder.py +19 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/function/python/entity.py +33 -0
- {digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/entities/function → digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/function/python}/models.py +3 -3
- {digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/entities/function → digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/function/python}/spec.py +5 -5
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/function/python/status.py +9 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/run/python_run/builder.py +19 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/run/python_run/entity.py +152 -0
- {digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/entities/run → digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/run/python_run}/spec.py +5 -5
- {digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/entities/run → digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/run/python_run}/status.py +3 -3
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/__init__.py +0 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_build/__init__.py +0 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_build/builder.py +20 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_build/entity.py +32 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_build/spec.py +44 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_build/status.py +9 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_job/__init__.py +0 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_job/builder.py +20 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_job/entity.py +32 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_job/spec.py +49 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_job/status.py +9 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_serve/__init__.py +0 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_serve/builder.py +20 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_serve/entity.py +32 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_serve/spec.py +48 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_serve/status.py +9 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/runtimes/__init__.py +0 -0
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/runtimes/builder.py +13 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python/runtimes/runtime.py +1 -1
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python/utils/configuration.py +2 -7
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python/utils/inputs.py +5 -5
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python/utils/outputs.py +3 -3
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python.egg-info/PKG-INFO +1 -1
- digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python.egg-info/SOURCES.txt +50 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/pyproject.toml +2 -2
- digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/__init__.py +0 -45
- digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/entities/function/status.py +0 -9
- digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/entities/task/spec.py +0 -138
- digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/entities/task/status.py +0 -21
- digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python.egg-info/SOURCES.txt +0 -30
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/LICENSE.txt +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/README.md +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python/entities/__init__.py +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python/entities/function/__init__.py +0 -0
- {digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/entities/run → digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/function/python}/__init__.py +0 -0
- {digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/entities/task → digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/run}/__init__.py +0 -0
- {digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/runtimes → digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/run/python_run}/__init__.py +0 -0
- {digitalhub_runtime_python-0.8.0b2/digitalhub_runtime_python/entities/task → digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_job}/models.py +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python/runtimes/kind_registry.py +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python/utils/env.py +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python/utils/nuclio_configuration.py +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python/utils/utils.py +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python.egg-info/dependency_links.txt +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python.egg-info/requires.txt +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/digitalhub_runtime_python.egg-info/top_level.txt +0 -0
- {digitalhub_runtime_python-0.8.0b2 → digitalhub_runtime_python-0.8.0b4}/setup.cfg +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub_runtime_python.entities.function.python.builder import FunctionPythonBuilder
|
|
4
|
+
from digitalhub_runtime_python.entities.run.python_run.builder import RunPythonRunBuilder
|
|
5
|
+
from digitalhub_runtime_python.entities.task.python_build.builder import TaskPythonBuildBuilder
|
|
6
|
+
from digitalhub_runtime_python.entities.task.python_job.builder import TaskPythonJobBuilder
|
|
7
|
+
from digitalhub_runtime_python.entities.task.python_serve.builder import TaskPythonServeBuilder
|
|
8
|
+
from digitalhub_runtime_python.utils.utils import handler
|
|
9
|
+
|
|
10
|
+
entity_builders = (
|
|
11
|
+
(FunctionPythonBuilder.ENTITY_KIND, FunctionPythonBuilder),
|
|
12
|
+
(TaskPythonBuildBuilder.ENTITY_KIND, TaskPythonBuildBuilder),
|
|
13
|
+
(TaskPythonJobBuilder.ENTITY_KIND, TaskPythonJobBuilder),
|
|
14
|
+
(TaskPythonServeBuilder.ENTITY_KIND, TaskPythonServeBuilder),
|
|
15
|
+
(RunPythonRunBuilder.ENTITY_KIND, RunPythonRunBuilder),
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
try:
|
|
19
|
+
from digitalhub_runtime_python.runtimes.builder import RuntimePythonBuilder
|
|
20
|
+
from digitalhub_runtime_python.runtimes.kind_registry import kind_registry
|
|
21
|
+
|
|
22
|
+
runtime_builders = ((kind, RuntimePythonBuilder) for kind in kind_registry.get_all_kinds())
|
|
23
|
+
except ImportError:
|
|
24
|
+
runtime_builders = tuple()
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/function/python/builder.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub_runtime_python.entities.function.python.entity import FunctionPython
|
|
4
|
+
from digitalhub_runtime_python.entities.function.python.spec import FunctionSpecPython, FunctionValidatorPython
|
|
5
|
+
from digitalhub_runtime_python.entities.function.python.status import FunctionStatusPython
|
|
6
|
+
|
|
7
|
+
from digitalhub.entities.function._base.builder import FunctionBuilder
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FunctionPythonBuilder(FunctionBuilder):
|
|
11
|
+
"""
|
|
12
|
+
FunctionPython builder.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
ENTITY_CLASS = FunctionPython
|
|
16
|
+
ENTITY_SPEC_CLASS = FunctionSpecPython
|
|
17
|
+
ENTITY_SPEC_VALIDATOR = FunctionValidatorPython
|
|
18
|
+
ENTITY_STATUS_CLASS = FunctionStatusPython
|
|
19
|
+
ENTITY_KIND = "python"
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/function/python/entity.py
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
from digitalhub.entities.function._base.entity import Function
|
|
6
|
+
|
|
7
|
+
if typing.TYPE_CHECKING:
|
|
8
|
+
from digitalhub_runtime_python.entities.function.python.spec import FunctionSpecPython
|
|
9
|
+
from digitalhub_runtime_python.entities.function.python.status import FunctionStatusPython
|
|
10
|
+
|
|
11
|
+
from digitalhub.entities._base.entity.metadata import Metadata
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class FunctionPython(Function):
|
|
15
|
+
"""
|
|
16
|
+
FunctionPython class.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
def __init__(
|
|
20
|
+
self,
|
|
21
|
+
project: str,
|
|
22
|
+
name: str,
|
|
23
|
+
uuid: str,
|
|
24
|
+
kind: str,
|
|
25
|
+
metadata: Metadata,
|
|
26
|
+
spec: FunctionSpecPython,
|
|
27
|
+
status: FunctionStatusPython,
|
|
28
|
+
user: str | None = None,
|
|
29
|
+
) -> None:
|
|
30
|
+
super().__init__(project, name, uuid, kind, metadata, spec, status, user)
|
|
31
|
+
|
|
32
|
+
self.spec: FunctionSpecPython
|
|
33
|
+
self.status: FunctionStatusPython
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
|
|
5
|
-
from digitalhub.entities.function.models import
|
|
5
|
+
from digitalhub.entities.function._base.models import SourceCodeStruct, SourceCodeValidator
|
|
6
6
|
from digitalhub.utils.exceptions import EntityError
|
|
7
7
|
from digitalhub.utils.generic_utils import encode_source, encode_string
|
|
8
8
|
from digitalhub.utils.uri_utils import map_uri_scheme
|
|
@@ -92,9 +92,9 @@ class SourceCodeStructPython(SourceCodeStruct):
|
|
|
92
92
|
return dict_
|
|
93
93
|
|
|
94
94
|
|
|
95
|
-
class
|
|
95
|
+
class SourceCodeValidatorPython(SourceCodeValidator):
|
|
96
96
|
"""
|
|
97
|
-
|
|
97
|
+
SourceCodeValidatorPython validator.
|
|
98
98
|
"""
|
|
99
99
|
|
|
100
100
|
init_function: str = None
|
|
@@ -2,14 +2,14 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import Literal
|
|
4
4
|
|
|
5
|
-
from digitalhub_runtime_python.entities.function.models import
|
|
5
|
+
from digitalhub_runtime_python.entities.function.python.models import SourceCodeStructPython, SourceCodeValidatorPython
|
|
6
6
|
|
|
7
|
-
from digitalhub.entities.function.spec import
|
|
7
|
+
from digitalhub.entities.function._base.spec import FunctionSpec, FunctionValidator
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class FunctionSpecPython(FunctionSpec):
|
|
11
11
|
"""
|
|
12
|
-
|
|
12
|
+
FunctionSpecPython specifications.
|
|
13
13
|
"""
|
|
14
14
|
|
|
15
15
|
def __init__(
|
|
@@ -91,9 +91,9 @@ class FunctionSpecPython(FunctionSpec):
|
|
|
91
91
|
return dict_
|
|
92
92
|
|
|
93
93
|
|
|
94
|
-
class
|
|
94
|
+
class FunctionValidatorPython(FunctionValidator, SourceCodeValidatorPython):
|
|
95
95
|
"""
|
|
96
|
-
|
|
96
|
+
FunctionValidatorPython validator.
|
|
97
97
|
"""
|
|
98
98
|
|
|
99
99
|
python_version: Literal["PYTHON3_9", "PYTHON3_10", "PYTHON3_11"]
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/run/python_run/builder.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub_runtime_python.entities.run.python_run.entity import RunPythonRun
|
|
4
|
+
from digitalhub_runtime_python.entities.run.python_run.spec import RunSpecPythonRun, RunValidatorPythonRun
|
|
5
|
+
from digitalhub_runtime_python.entities.run.python_run.status import RunStatusPythonRun
|
|
6
|
+
|
|
7
|
+
from digitalhub.entities.run._base.builder import RunBuilder
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class RunPythonRunBuilder(RunBuilder):
|
|
11
|
+
"""
|
|
12
|
+
RunPythonRunBuilder runer.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
ENTITY_CLASS = RunPythonRun
|
|
16
|
+
ENTITY_SPEC_CLASS = RunSpecPythonRun
|
|
17
|
+
ENTITY_SPEC_VALIDATOR = RunValidatorPythonRun
|
|
18
|
+
ENTITY_STATUS_CLASS = RunStatusPythonRun
|
|
19
|
+
ENTITY_KIND = "python+run"
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from typing import Any
|
|
5
|
+
|
|
6
|
+
import requests
|
|
7
|
+
|
|
8
|
+
from digitalhub.entities.run._base.entity import Run
|
|
9
|
+
|
|
10
|
+
if typing.TYPE_CHECKING:
|
|
11
|
+
from digitalhub_runtime_python.entities.run.python_run.spec import RunSpecPythonRun
|
|
12
|
+
from digitalhub_runtime_python.entities.run.python_run.status import RunStatusPythonRun
|
|
13
|
+
|
|
14
|
+
from digitalhub.entities._base.entity.metadata import Metadata
|
|
15
|
+
from digitalhub.entities._base.material.entity import MaterialEntity
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class RunPythonRun(Run):
|
|
19
|
+
"""
|
|
20
|
+
RunPythonRun class.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
def __init__(
|
|
24
|
+
self,
|
|
25
|
+
project: str,
|
|
26
|
+
uuid: str,
|
|
27
|
+
kind: str,
|
|
28
|
+
metadata: Metadata,
|
|
29
|
+
spec: RunSpecPythonRun,
|
|
30
|
+
status: RunStatusPythonRun,
|
|
31
|
+
user: str | None = None,
|
|
32
|
+
) -> None:
|
|
33
|
+
super().__init__(project, uuid, kind, metadata, spec, status, user)
|
|
34
|
+
|
|
35
|
+
self.spec: RunSpecPythonRun
|
|
36
|
+
self.status: RunStatusPythonRun
|
|
37
|
+
|
|
38
|
+
def inputs(self, as_dict: bool = False) -> list[dict]:
|
|
39
|
+
"""
|
|
40
|
+
Get inputs passed in spec as objects or as dictionaries.
|
|
41
|
+
|
|
42
|
+
Parameters
|
|
43
|
+
----------
|
|
44
|
+
as_dict : bool
|
|
45
|
+
If True, return inputs as dictionaries.
|
|
46
|
+
|
|
47
|
+
Returns
|
|
48
|
+
-------
|
|
49
|
+
list[dict]
|
|
50
|
+
List of input objects.
|
|
51
|
+
"""
|
|
52
|
+
return self.spec.get_inputs(as_dict=as_dict)
|
|
53
|
+
|
|
54
|
+
def results(self) -> dict:
|
|
55
|
+
"""
|
|
56
|
+
Get results from runtime execution.
|
|
57
|
+
|
|
58
|
+
Returns
|
|
59
|
+
-------
|
|
60
|
+
dict
|
|
61
|
+
Results.
|
|
62
|
+
"""
|
|
63
|
+
return self.status.get_results()
|
|
64
|
+
|
|
65
|
+
def result(self, key: str) -> Any:
|
|
66
|
+
"""
|
|
67
|
+
Get result from runtime execution by key.
|
|
68
|
+
|
|
69
|
+
Parameters
|
|
70
|
+
----------
|
|
71
|
+
key : str
|
|
72
|
+
Key of the result.
|
|
73
|
+
|
|
74
|
+
Returns
|
|
75
|
+
-------
|
|
76
|
+
Any
|
|
77
|
+
Result.
|
|
78
|
+
"""
|
|
79
|
+
return self.results().get(key)
|
|
80
|
+
|
|
81
|
+
def outputs(self, as_key: bool = False, as_dict: bool = False) -> dict:
|
|
82
|
+
"""
|
|
83
|
+
Get run objects results.
|
|
84
|
+
|
|
85
|
+
Parameters
|
|
86
|
+
----------
|
|
87
|
+
as_key : bool
|
|
88
|
+
If True, return results as keys.
|
|
89
|
+
as_dict : bool
|
|
90
|
+
If True, return results as dictionaries.
|
|
91
|
+
|
|
92
|
+
Returns
|
|
93
|
+
-------
|
|
94
|
+
dict
|
|
95
|
+
List of output objects.
|
|
96
|
+
"""
|
|
97
|
+
return self.status.get_outputs(as_key=as_key, as_dict=as_dict)
|
|
98
|
+
|
|
99
|
+
def output(self, key: str, as_key: bool = False, as_dict: bool = False) -> MaterialEntity | dict | str | None:
|
|
100
|
+
"""
|
|
101
|
+
Get run object result by key.
|
|
102
|
+
|
|
103
|
+
Parameters
|
|
104
|
+
----------
|
|
105
|
+
key : str
|
|
106
|
+
Key of the result.
|
|
107
|
+
as_key : bool
|
|
108
|
+
If True, return result as key.
|
|
109
|
+
as_dict : bool
|
|
110
|
+
If True, return result as dictionary.
|
|
111
|
+
|
|
112
|
+
Returns
|
|
113
|
+
-------
|
|
114
|
+
Entity | dict | str | None
|
|
115
|
+
Result.
|
|
116
|
+
"""
|
|
117
|
+
return self.outputs(as_key=as_key, as_dict=as_dict).get(key)
|
|
118
|
+
|
|
119
|
+
def values(self) -> dict:
|
|
120
|
+
"""
|
|
121
|
+
Get values from runtime execution.
|
|
122
|
+
|
|
123
|
+
Returns
|
|
124
|
+
-------
|
|
125
|
+
dict
|
|
126
|
+
Values from backend.
|
|
127
|
+
"""
|
|
128
|
+
value_list = getattr(self.spec, "values", [])
|
|
129
|
+
value_list = value_list if value_list is not None else []
|
|
130
|
+
return self.status.get_values(value_list)
|
|
131
|
+
|
|
132
|
+
def invoke(self, **kwargs) -> requests.Response:
|
|
133
|
+
"""
|
|
134
|
+
Invoke run.
|
|
135
|
+
|
|
136
|
+
Parameters
|
|
137
|
+
----------
|
|
138
|
+
kwargs
|
|
139
|
+
Keyword arguments to pass to the request.
|
|
140
|
+
|
|
141
|
+
Returns
|
|
142
|
+
-------
|
|
143
|
+
requests.Response
|
|
144
|
+
Response from service.
|
|
145
|
+
"""
|
|
146
|
+
if not self._context().local and not self.spec.local_execution:
|
|
147
|
+
local = False
|
|
148
|
+
else:
|
|
149
|
+
local = True
|
|
150
|
+
if kwargs is None:
|
|
151
|
+
kwargs = {}
|
|
152
|
+
return self.status.invoke(local, **kwargs)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from digitalhub.entities.run.spec import
|
|
3
|
+
from digitalhub.entities.run._base.spec import RunSpec, RunValidator
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
class
|
|
7
|
-
"""
|
|
6
|
+
class RunSpecPythonRun(RunSpec):
|
|
7
|
+
"""RunSpecPythonRun specifications."""
|
|
8
8
|
|
|
9
9
|
def __init__(
|
|
10
10
|
self,
|
|
@@ -55,8 +55,8 @@ class RunSpecPython(RunSpec):
|
|
|
55
55
|
self.parameters = parameters
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
class
|
|
59
|
-
"""
|
|
58
|
+
class RunValidatorPythonRun(RunValidator):
|
|
59
|
+
"""RunValidatorPythonRun validator."""
|
|
60
60
|
|
|
61
61
|
# Function parameters
|
|
62
62
|
source: dict = None
|
|
@@ -2,13 +2,13 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import requests
|
|
4
4
|
|
|
5
|
-
from digitalhub.entities.run.status import RunStatus
|
|
5
|
+
from digitalhub.entities.run._base.status import RunStatus
|
|
6
6
|
from digitalhub.utils.exceptions import EntityError
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
class
|
|
9
|
+
class RunStatusPythonRun(RunStatus):
|
|
10
10
|
"""
|
|
11
|
-
|
|
11
|
+
RunStatusPythonRun status.
|
|
12
12
|
"""
|
|
13
13
|
|
|
14
14
|
def invoke(self, local: bool, **kwargs) -> requests.Response:
|
|
File without changes
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_build/__init__.py
ADDED
|
File without changes
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_build/builder.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub_runtime_python.entities.task.python_build.entity import TaskPythonBuild
|
|
4
|
+
from digitalhub_runtime_python.entities.task.python_build.spec import TaskSpecPythonBuild, TaskValidatorPythonBuild
|
|
5
|
+
from digitalhub_runtime_python.entities.task.python_build.status import TaskStatusPythonBuild
|
|
6
|
+
|
|
7
|
+
from digitalhub.entities.task._base.builder import TaskBuilder
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class TaskPythonBuildBuilder(TaskBuilder):
|
|
11
|
+
"""
|
|
12
|
+
TaskPythonBuild builder.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
ENTITY_CLASS = TaskPythonBuild
|
|
16
|
+
ENTITY_SPEC_CLASS = TaskSpecPythonBuild
|
|
17
|
+
ENTITY_SPEC_VALIDATOR = TaskValidatorPythonBuild
|
|
18
|
+
ENTITY_STATUS_CLASS = TaskStatusPythonBuild
|
|
19
|
+
ENTITY_KIND = "python+build"
|
|
20
|
+
ACTION = "build"
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_build/entity.py
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
from digitalhub.entities.task._base.entity import Task
|
|
6
|
+
|
|
7
|
+
if typing.TYPE_CHECKING:
|
|
8
|
+
from digitalhub_runtime_python.entities.task.python_build.spec import TaskSpecPythonBuild
|
|
9
|
+
from digitalhub_runtime_python.entities.task.python_build.status import TaskStatusPythonBuild
|
|
10
|
+
|
|
11
|
+
from digitalhub.entities._base.entity.metadata import Metadata
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class TaskPythonBuild(Task):
|
|
15
|
+
"""
|
|
16
|
+
TaskPythonBuild class.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
def __init__(
|
|
20
|
+
self,
|
|
21
|
+
project: str,
|
|
22
|
+
uuid: str,
|
|
23
|
+
kind: str,
|
|
24
|
+
metadata: Metadata,
|
|
25
|
+
spec: TaskSpecPythonBuild,
|
|
26
|
+
status: TaskStatusPythonBuild,
|
|
27
|
+
user: str | None = None,
|
|
28
|
+
) -> None:
|
|
29
|
+
super().__init__(project, uuid, kind, metadata, spec, status, user)
|
|
30
|
+
|
|
31
|
+
self.spec: TaskSpecPythonBuild
|
|
32
|
+
self.status: TaskStatusPythonBuild
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_build/spec.py
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub.entities.task._base.spec import TaskSpecK8s, TaskValidatorK8s
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class TaskSpecPythonBuild(TaskSpecK8s):
|
|
7
|
+
"""TaskSpecPythonBuild specifications."""
|
|
8
|
+
|
|
9
|
+
def __init__(
|
|
10
|
+
self,
|
|
11
|
+
function: str,
|
|
12
|
+
node_selector: dict | None = None,
|
|
13
|
+
volumes: list | None = None,
|
|
14
|
+
resources: dict | None = None,
|
|
15
|
+
affinity: dict | None = None,
|
|
16
|
+
tolerations: list | None = None,
|
|
17
|
+
envs: list | None = None,
|
|
18
|
+
secrets: list | None = None,
|
|
19
|
+
profile: str | None = None,
|
|
20
|
+
instructions: list | None = None,
|
|
21
|
+
**kwargs,
|
|
22
|
+
) -> None:
|
|
23
|
+
super().__init__(
|
|
24
|
+
function,
|
|
25
|
+
node_selector,
|
|
26
|
+
volumes,
|
|
27
|
+
resources,
|
|
28
|
+
affinity,
|
|
29
|
+
tolerations,
|
|
30
|
+
envs,
|
|
31
|
+
secrets,
|
|
32
|
+
profile,
|
|
33
|
+
**kwargs,
|
|
34
|
+
)
|
|
35
|
+
self.instructions = instructions
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class TaskValidatorPythonBuild(TaskValidatorK8s):
|
|
39
|
+
"""
|
|
40
|
+
TaskValidatorPythonBuild validator.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
instructions: list[str] = None
|
|
44
|
+
"""Build instructions."""
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_job/__init__.py
ADDED
|
File without changes
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_job/builder.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub_runtime_python.entities.task.python_job.entity import TaskPythonJob
|
|
4
|
+
from digitalhub_runtime_python.entities.task.python_job.spec import TaskSpecPythonJob, TaskValidatorPythonJob
|
|
5
|
+
from digitalhub_runtime_python.entities.task.python_job.status import TaskStatusPythonJob
|
|
6
|
+
|
|
7
|
+
from digitalhub.entities.task._base.builder import TaskBuilder
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class TaskPythonJobBuilder(TaskBuilder):
|
|
11
|
+
"""
|
|
12
|
+
TaskPythonJobBuilder jober.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
ENTITY_CLASS = TaskPythonJob
|
|
16
|
+
ENTITY_SPEC_CLASS = TaskSpecPythonJob
|
|
17
|
+
ENTITY_SPEC_VALIDATOR = TaskValidatorPythonJob
|
|
18
|
+
ENTITY_STATUS_CLASS = TaskStatusPythonJob
|
|
19
|
+
ENTITY_KIND = "python+job"
|
|
20
|
+
ACTION = "job"
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_job/entity.py
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
from digitalhub.entities.task._base.entity import Task
|
|
6
|
+
|
|
7
|
+
if typing.TYPE_CHECKING:
|
|
8
|
+
from digitalhub_runtime_python.entities.task.python_job.spec import TaskSpecPythonJob
|
|
9
|
+
from digitalhub_runtime_python.entities.task.python_job.status import TaskStatusPythonJob
|
|
10
|
+
|
|
11
|
+
from digitalhub.entities._base.entity.metadata import Metadata
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class TaskPythonJob(Task):
|
|
15
|
+
"""
|
|
16
|
+
TaskPythonJob class.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
def __init__(
|
|
20
|
+
self,
|
|
21
|
+
project: str,
|
|
22
|
+
uuid: str,
|
|
23
|
+
kind: str,
|
|
24
|
+
metadata: Metadata,
|
|
25
|
+
spec: TaskSpecPythonJob,
|
|
26
|
+
status: TaskStatusPythonJob,
|
|
27
|
+
user: str | None = None,
|
|
28
|
+
) -> None:
|
|
29
|
+
super().__init__(project, uuid, kind, metadata, spec, status, user)
|
|
30
|
+
|
|
31
|
+
self.spec: TaskSpecPythonJob
|
|
32
|
+
self.status: TaskStatusPythonJob
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub.entities.task._base.spec import TaskSpecK8s, TaskValidatorK8s
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class TaskSpecPythonJob(TaskSpecK8s):
|
|
7
|
+
"""TaskSpecPythonJob specifications."""
|
|
8
|
+
|
|
9
|
+
def __init__(
|
|
10
|
+
self,
|
|
11
|
+
function: str,
|
|
12
|
+
node_selector: dict | None = None,
|
|
13
|
+
volumes: list | None = None,
|
|
14
|
+
resources: dict | None = None,
|
|
15
|
+
affinity: dict | None = None,
|
|
16
|
+
tolerations: list | None = None,
|
|
17
|
+
envs: list | None = None,
|
|
18
|
+
secrets: list | None = None,
|
|
19
|
+
profile: str | None = None,
|
|
20
|
+
backoff_limit: int | None = None,
|
|
21
|
+
schedule: str | None = None,
|
|
22
|
+
**kwargs,
|
|
23
|
+
) -> None:
|
|
24
|
+
super().__init__(
|
|
25
|
+
function,
|
|
26
|
+
node_selector,
|
|
27
|
+
volumes,
|
|
28
|
+
resources,
|
|
29
|
+
affinity,
|
|
30
|
+
tolerations,
|
|
31
|
+
envs,
|
|
32
|
+
secrets,
|
|
33
|
+
profile,
|
|
34
|
+
**kwargs,
|
|
35
|
+
)
|
|
36
|
+
self.backoff_limit = backoff_limit
|
|
37
|
+
self.schedule = schedule
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class TaskValidatorPythonJob(TaskValidatorK8s):
|
|
41
|
+
"""
|
|
42
|
+
TaskValidatorPythonJob validator.
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
backoff_limit: int = None
|
|
46
|
+
"""Backoff limit."""
|
|
47
|
+
|
|
48
|
+
schedule: str = None
|
|
49
|
+
"""Schedule."""
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_serve/__init__.py
ADDED
|
File without changes
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_serve/builder.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub_runtime_python.entities.task.python_serve.entity import TaskPythonServe
|
|
4
|
+
from digitalhub_runtime_python.entities.task.python_serve.spec import TaskSpecPythonServe, TaskValidatorPythonServe
|
|
5
|
+
from digitalhub_runtime_python.entities.task.python_serve.status import TaskStatusPythonServe
|
|
6
|
+
|
|
7
|
+
from digitalhub.entities.task._base.builder import TaskBuilder
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class TaskPythonServeBuilder(TaskBuilder):
|
|
11
|
+
"""
|
|
12
|
+
TaskPythonServeBuilder serveer.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
ENTITY_CLASS = TaskPythonServe
|
|
16
|
+
ENTITY_SPEC_CLASS = TaskSpecPythonServe
|
|
17
|
+
ENTITY_SPEC_VALIDATOR = TaskValidatorPythonServe
|
|
18
|
+
ENTITY_STATUS_CLASS = TaskStatusPythonServe
|
|
19
|
+
ENTITY_KIND = "python+serve"
|
|
20
|
+
ACTION = "serve"
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_serve/entity.py
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
from digitalhub.entities.task._base.entity import Task
|
|
6
|
+
|
|
7
|
+
if typing.TYPE_CHECKING:
|
|
8
|
+
from digitalhub_runtime_python.entities.task.python_serve.spec import TaskSpecPythonServe
|
|
9
|
+
from digitalhub_runtime_python.entities.task.python_serve.status import TaskStatusPythonServe
|
|
10
|
+
|
|
11
|
+
from digitalhub.entities._base.entity.metadata import Metadata
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class TaskPythonServe(Task):
|
|
15
|
+
"""
|
|
16
|
+
TaskPythonServe class.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
def __init__(
|
|
20
|
+
self,
|
|
21
|
+
project: str,
|
|
22
|
+
uuid: str,
|
|
23
|
+
kind: str,
|
|
24
|
+
metadata: Metadata,
|
|
25
|
+
spec: TaskSpecPythonServe,
|
|
26
|
+
status: TaskStatusPythonServe,
|
|
27
|
+
user: str | None = None,
|
|
28
|
+
) -> None:
|
|
29
|
+
super().__init__(project, uuid, kind, metadata, spec, status, user)
|
|
30
|
+
|
|
31
|
+
self.spec: TaskSpecPythonServe
|
|
32
|
+
self.status: TaskStatusPythonServe
|
digitalhub_runtime_python-0.8.0b4/digitalhub_runtime_python/entities/task/python_serve/spec.py
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Literal
|
|
4
|
+
|
|
5
|
+
from digitalhub.entities.task._base.spec import TaskSpecK8s, TaskValidatorK8s
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class TaskSpecPythonServe(TaskSpecK8s):
|
|
9
|
+
"""TaskSpecPythonServe specifications."""
|
|
10
|
+
|
|
11
|
+
def __init__(
|
|
12
|
+
self,
|
|
13
|
+
function: str,
|
|
14
|
+
node_selector: dict | None = None,
|
|
15
|
+
volumes: list | None = None,
|
|
16
|
+
resources: dict | None = None,
|
|
17
|
+
affinity: dict | None = None,
|
|
18
|
+
tolerations: list | None = None,
|
|
19
|
+
envs: list | None = None,
|
|
20
|
+
secrets: list | None = None,
|
|
21
|
+
profile: str | None = None,
|
|
22
|
+
replicas: int | None = None,
|
|
23
|
+
service_type: str | None = None,
|
|
24
|
+
**kwargs,
|
|
25
|
+
) -> None:
|
|
26
|
+
super().__init__(
|
|
27
|
+
function,
|
|
28
|
+
node_selector,
|
|
29
|
+
volumes,
|
|
30
|
+
resources,
|
|
31
|
+
affinity,
|
|
32
|
+
tolerations,
|
|
33
|
+
envs,
|
|
34
|
+
secrets,
|
|
35
|
+
profile,
|
|
36
|
+
**kwargs,
|
|
37
|
+
)
|
|
38
|
+
self.replicas = replicas
|
|
39
|
+
self.service_type = service_type
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class TaskValidatorPythonServe(TaskValidatorK8s):
|
|
43
|
+
"""
|
|
44
|
+
TaskValidatorPythonServe validator.
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
replicas: int = None
|
|
48
|
+
service_type: Literal["ClusterIP", "NodePort", "LoadBalancer"] = "NodePort"
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub_runtime_python.runtimes.kind_registry import kind_registry
|
|
4
|
+
from digitalhub_runtime_python.runtimes.runtime import RuntimePython
|
|
5
|
+
|
|
6
|
+
from digitalhub.runtimes.builder import RuntimeBuilder
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class RuntimePythonBuilder(RuntimeBuilder):
|
|
10
|
+
"""RuntaimePythonBuilder class."""
|
|
11
|
+
|
|
12
|
+
RUNTIME_CLASS = RuntimePython
|
|
13
|
+
KIND_REGISTRY = kind_registry
|
|
@@ -8,7 +8,7 @@ from digitalhub_runtime_python.utils.inputs import compose_inputs
|
|
|
8
8
|
from digitalhub_runtime_python.utils.outputs import build_status, parse_outputs
|
|
9
9
|
|
|
10
10
|
from digitalhub.context.builder import get_context
|
|
11
|
-
from digitalhub.runtimes.
|
|
11
|
+
from digitalhub.runtimes._base import Runtime
|
|
12
12
|
from digitalhub.utils.logger import LOGGER
|
|
13
13
|
|
|
14
14
|
if typing.TYPE_CHECKING:
|
|
@@ -4,15 +4,10 @@ import importlib.util as imputil
|
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
from typing import Callable
|
|
6
6
|
|
|
7
|
-
from digitalhub.utils.generic_utils import
|
|
8
|
-
decode_string,
|
|
9
|
-
extract_archive,
|
|
10
|
-
get_bucket_and_key,
|
|
11
|
-
get_s3_source,
|
|
12
|
-
requests_chunk_download,
|
|
13
|
-
)
|
|
7
|
+
from digitalhub.utils.generic_utils import decode_string, extract_archive, requests_chunk_download
|
|
14
8
|
from digitalhub.utils.git_utils import clone_repository
|
|
15
9
|
from digitalhub.utils.logger import LOGGER
|
|
10
|
+
from digitalhub.utils.s3_utils import get_bucket_and_key, get_s3_source
|
|
16
11
|
from digitalhub.utils.uri_utils import map_uri_scheme
|
|
17
12
|
|
|
18
13
|
|
|
@@ -7,15 +7,15 @@ from typing import Any, Callable
|
|
|
7
7
|
from digitalhub.context.builder import get_context
|
|
8
8
|
from digitalhub.entities.artifact.crud import artifact_from_dict
|
|
9
9
|
from digitalhub.entities.dataitem.crud import dataitem_from_dict
|
|
10
|
-
from digitalhub.entities.entity_types import EntityTypes
|
|
11
10
|
from digitalhub.entities.model.crud import model_from_dict
|
|
12
11
|
from digitalhub.entities.project.crud import get_project
|
|
13
|
-
from digitalhub.entities.utils import
|
|
12
|
+
from digitalhub.entities.utils.entity_types import EntityTypes
|
|
13
|
+
from digitalhub.entities.utils.utils import parse_entity_key
|
|
14
14
|
from digitalhub.utils.logger import LOGGER
|
|
15
15
|
|
|
16
16
|
if typing.TYPE_CHECKING:
|
|
17
|
-
from digitalhub.entities._base.entity.
|
|
18
|
-
from digitalhub.entities.project.entity
|
|
17
|
+
from digitalhub.entities._base.entity.entity import Entity
|
|
18
|
+
from digitalhub.entities.project._base.entity import Project
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
def get_project_(project_name: str) -> Project:
|
|
@@ -57,7 +57,7 @@ def get_entity_inputs(inputs: dict) -> dict[str, Entity]:
|
|
|
57
57
|
Returns
|
|
58
58
|
-------
|
|
59
59
|
dict
|
|
60
|
-
|
|
60
|
+
Dictionary of inputs.
|
|
61
61
|
"""
|
|
62
62
|
try:
|
|
63
63
|
inputs_objects = {}
|
|
@@ -3,11 +3,11 @@ from __future__ import annotations
|
|
|
3
3
|
import pickle
|
|
4
4
|
from typing import Any
|
|
5
5
|
|
|
6
|
-
from digitalhub.entities._base.
|
|
6
|
+
from digitalhub.entities.artifact._base.entity import Artifact
|
|
7
7
|
from digitalhub.entities.artifact.crud import log_artifact
|
|
8
|
-
from digitalhub.entities.artifact.entity._base import Artifact
|
|
9
8
|
from digitalhub.entities.dataitem.crud import log_dataitem
|
|
10
|
-
from digitalhub.entities.dataitem.entity
|
|
9
|
+
from digitalhub.entities.dataitem.table.entity import DataitemTable
|
|
10
|
+
from digitalhub.entities.utils.state import State
|
|
11
11
|
from digitalhub.readers.registry import DATAFRAME_TYPES
|
|
12
12
|
from digitalhub.utils.logger import LOGGER
|
|
13
13
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
LICENSE.txt
|
|
2
|
+
README.md
|
|
3
|
+
pyproject.toml
|
|
4
|
+
digitalhub_runtime_python/__init__.py
|
|
5
|
+
digitalhub_runtime_python.egg-info/PKG-INFO
|
|
6
|
+
digitalhub_runtime_python.egg-info/SOURCES.txt
|
|
7
|
+
digitalhub_runtime_python.egg-info/dependency_links.txt
|
|
8
|
+
digitalhub_runtime_python.egg-info/requires.txt
|
|
9
|
+
digitalhub_runtime_python.egg-info/top_level.txt
|
|
10
|
+
digitalhub_runtime_python/entities/__init__.py
|
|
11
|
+
digitalhub_runtime_python/entities/function/__init__.py
|
|
12
|
+
digitalhub_runtime_python/entities/function/python/__init__.py
|
|
13
|
+
digitalhub_runtime_python/entities/function/python/builder.py
|
|
14
|
+
digitalhub_runtime_python/entities/function/python/entity.py
|
|
15
|
+
digitalhub_runtime_python/entities/function/python/models.py
|
|
16
|
+
digitalhub_runtime_python/entities/function/python/spec.py
|
|
17
|
+
digitalhub_runtime_python/entities/function/python/status.py
|
|
18
|
+
digitalhub_runtime_python/entities/run/__init__.py
|
|
19
|
+
digitalhub_runtime_python/entities/run/python_run/__init__.py
|
|
20
|
+
digitalhub_runtime_python/entities/run/python_run/builder.py
|
|
21
|
+
digitalhub_runtime_python/entities/run/python_run/entity.py
|
|
22
|
+
digitalhub_runtime_python/entities/run/python_run/spec.py
|
|
23
|
+
digitalhub_runtime_python/entities/run/python_run/status.py
|
|
24
|
+
digitalhub_runtime_python/entities/task/__init__.py
|
|
25
|
+
digitalhub_runtime_python/entities/task/python_build/__init__.py
|
|
26
|
+
digitalhub_runtime_python/entities/task/python_build/builder.py
|
|
27
|
+
digitalhub_runtime_python/entities/task/python_build/entity.py
|
|
28
|
+
digitalhub_runtime_python/entities/task/python_build/spec.py
|
|
29
|
+
digitalhub_runtime_python/entities/task/python_build/status.py
|
|
30
|
+
digitalhub_runtime_python/entities/task/python_job/__init__.py
|
|
31
|
+
digitalhub_runtime_python/entities/task/python_job/builder.py
|
|
32
|
+
digitalhub_runtime_python/entities/task/python_job/entity.py
|
|
33
|
+
digitalhub_runtime_python/entities/task/python_job/models.py
|
|
34
|
+
digitalhub_runtime_python/entities/task/python_job/spec.py
|
|
35
|
+
digitalhub_runtime_python/entities/task/python_job/status.py
|
|
36
|
+
digitalhub_runtime_python/entities/task/python_serve/__init__.py
|
|
37
|
+
digitalhub_runtime_python/entities/task/python_serve/builder.py
|
|
38
|
+
digitalhub_runtime_python/entities/task/python_serve/entity.py
|
|
39
|
+
digitalhub_runtime_python/entities/task/python_serve/spec.py
|
|
40
|
+
digitalhub_runtime_python/entities/task/python_serve/status.py
|
|
41
|
+
digitalhub_runtime_python/runtimes/__init__.py
|
|
42
|
+
digitalhub_runtime_python/runtimes/builder.py
|
|
43
|
+
digitalhub_runtime_python/runtimes/kind_registry.py
|
|
44
|
+
digitalhub_runtime_python/runtimes/runtime.py
|
|
45
|
+
digitalhub_runtime_python/utils/configuration.py
|
|
46
|
+
digitalhub_runtime_python/utils/env.py
|
|
47
|
+
digitalhub_runtime_python/utils/inputs.py
|
|
48
|
+
digitalhub_runtime_python/utils/nuclio_configuration.py
|
|
49
|
+
digitalhub_runtime_python/utils/outputs.py
|
|
50
|
+
digitalhub_runtime_python/utils/utils.py
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "digitalhub-runtime-python"
|
|
7
|
-
version = "0.8.
|
|
7
|
+
version = "0.8.0b4"
|
|
8
8
|
description = "Python runtime for DHCore"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -40,7 +40,7 @@ line-length = 120
|
|
|
40
40
|
convention = "numpy"
|
|
41
41
|
|
|
42
42
|
[tool.bumpver]
|
|
43
|
-
current_version = "0.8.
|
|
43
|
+
current_version = "0.8.0b4"
|
|
44
44
|
version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
|
|
45
45
|
commit_message = "Bump version {old_version} -> {new_version}"
|
|
46
46
|
commit = false
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from digitalhub_runtime_python.utils.utils import handler
|
|
4
|
-
|
|
5
|
-
from digitalhub.entities.entity_types import EntityTypes
|
|
6
|
-
from digitalhub.registry.registry import registry
|
|
7
|
-
from digitalhub.registry.utils import create_info
|
|
8
|
-
|
|
9
|
-
root = "digitalhub_runtime_python"
|
|
10
|
-
runtime_info = {
|
|
11
|
-
"module": f"{root}.runtimes.runtime",
|
|
12
|
-
"class_name": "RuntimePython",
|
|
13
|
-
"kind_registry_module": f"{root}.runtimes.kind_registry",
|
|
14
|
-
"kind_registry_class_name": "kind_registry",
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
root_ent = f"{root}.entities"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
# Function
|
|
21
|
-
entity_type = EntityTypes.FUNCTION.value
|
|
22
|
-
func_kind = "python"
|
|
23
|
-
prefix = entity_type.capitalize()
|
|
24
|
-
suffix = func_kind.capitalize()
|
|
25
|
-
func_info = create_info(root_ent, entity_type, prefix, suffix, runtime_info)
|
|
26
|
-
registry.register(func_kind, func_info)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
# Tasks
|
|
30
|
-
entity_type = EntityTypes.TASK.value
|
|
31
|
-
for i in ["job", "build", "serve"]:
|
|
32
|
-
task_kind = f"{func_kind}+{i}"
|
|
33
|
-
prefix = entity_type.capitalize()
|
|
34
|
-
suffix = i.capitalize()
|
|
35
|
-
task_info = create_info(root_ent, entity_type, prefix, suffix, runtime_info)
|
|
36
|
-
registry.register(task_kind, task_info)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
# Runs
|
|
40
|
-
entity_type = EntityTypes.RUN.value
|
|
41
|
-
run_kind = f"{func_kind}+run"
|
|
42
|
-
prefix = entity_type.capitalize()
|
|
43
|
-
suffix = func_kind.capitalize()
|
|
44
|
-
run_info = create_info(root_ent, entity_type, prefix, suffix, runtime_info)
|
|
45
|
-
registry.register(run_kind, run_info)
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import Literal
|
|
4
|
-
|
|
5
|
-
from digitalhub.entities.task.spec import TaskParamsK8s, TaskSpecK8s
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class TaskSpecJob(TaskSpecK8s):
|
|
9
|
-
"""Task Job specification."""
|
|
10
|
-
|
|
11
|
-
def __init__(
|
|
12
|
-
self,
|
|
13
|
-
function: str,
|
|
14
|
-
node_selector: dict | None = None,
|
|
15
|
-
volumes: list | None = None,
|
|
16
|
-
resources: dict | None = None,
|
|
17
|
-
affinity: dict | None = None,
|
|
18
|
-
tolerations: list | None = None,
|
|
19
|
-
envs: list | None = None,
|
|
20
|
-
secrets: list | None = None,
|
|
21
|
-
profile: str | None = None,
|
|
22
|
-
backoff_limit: int | None = None,
|
|
23
|
-
schedule: str | None = None,
|
|
24
|
-
**kwargs,
|
|
25
|
-
) -> None:
|
|
26
|
-
super().__init__(
|
|
27
|
-
function,
|
|
28
|
-
node_selector,
|
|
29
|
-
volumes,
|
|
30
|
-
resources,
|
|
31
|
-
affinity,
|
|
32
|
-
tolerations,
|
|
33
|
-
envs,
|
|
34
|
-
secrets,
|
|
35
|
-
profile,
|
|
36
|
-
**kwargs,
|
|
37
|
-
)
|
|
38
|
-
|
|
39
|
-
self.backoff_limit = backoff_limit
|
|
40
|
-
self.schedule = schedule
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
class TaskParamsJob(TaskParamsK8s):
|
|
44
|
-
"""
|
|
45
|
-
TaskParamsJob model.
|
|
46
|
-
"""
|
|
47
|
-
|
|
48
|
-
backoff_limit: int = None
|
|
49
|
-
"""Backoff limit."""
|
|
50
|
-
|
|
51
|
-
schedule: str = None
|
|
52
|
-
"""Schedule."""
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
class TaskSpecBuild(TaskSpecK8s):
|
|
56
|
-
"""Task Build specification."""
|
|
57
|
-
|
|
58
|
-
def __init__(
|
|
59
|
-
self,
|
|
60
|
-
function: str,
|
|
61
|
-
node_selector: dict | None = None,
|
|
62
|
-
volumes: list | None = None,
|
|
63
|
-
resources: dict | None = None,
|
|
64
|
-
affinity: dict | None = None,
|
|
65
|
-
tolerations: list | None = None,
|
|
66
|
-
envs: list | None = None,
|
|
67
|
-
secrets: list | None = None,
|
|
68
|
-
profile: str | None = None,
|
|
69
|
-
instructions: list | None = None,
|
|
70
|
-
**kwargs,
|
|
71
|
-
) -> None:
|
|
72
|
-
super().__init__(
|
|
73
|
-
function,
|
|
74
|
-
node_selector,
|
|
75
|
-
volumes,
|
|
76
|
-
resources,
|
|
77
|
-
affinity,
|
|
78
|
-
tolerations,
|
|
79
|
-
envs,
|
|
80
|
-
secrets,
|
|
81
|
-
profile,
|
|
82
|
-
**kwargs,
|
|
83
|
-
)
|
|
84
|
-
|
|
85
|
-
self.instructions = instructions
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
class TaskParamsBuild(TaskParamsK8s):
|
|
89
|
-
"""
|
|
90
|
-
TaskParamsBuild model.
|
|
91
|
-
"""
|
|
92
|
-
|
|
93
|
-
instructions: list[str] = None
|
|
94
|
-
"""Build instructions."""
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
class TaskSpecServe(TaskSpecK8s):
|
|
98
|
-
"""Task Serve specification."""
|
|
99
|
-
|
|
100
|
-
def __init__(
|
|
101
|
-
self,
|
|
102
|
-
function: str,
|
|
103
|
-
node_selector: dict | None = None,
|
|
104
|
-
volumes: list | None = None,
|
|
105
|
-
resources: dict | None = None,
|
|
106
|
-
affinity: dict | None = None,
|
|
107
|
-
tolerations: list | None = None,
|
|
108
|
-
envs: list | None = None,
|
|
109
|
-
secrets: list | None = None,
|
|
110
|
-
profile: str | None = None,
|
|
111
|
-
replicas: int | None = None,
|
|
112
|
-
service_type: str | None = None,
|
|
113
|
-
**kwargs,
|
|
114
|
-
) -> None:
|
|
115
|
-
super().__init__(
|
|
116
|
-
function,
|
|
117
|
-
node_selector,
|
|
118
|
-
volumes,
|
|
119
|
-
resources,
|
|
120
|
-
affinity,
|
|
121
|
-
tolerations,
|
|
122
|
-
envs,
|
|
123
|
-
secrets,
|
|
124
|
-
profile,
|
|
125
|
-
**kwargs,
|
|
126
|
-
)
|
|
127
|
-
|
|
128
|
-
self.replicas = replicas
|
|
129
|
-
self.service_type = service_type
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
class TaskParamsServe(TaskParamsK8s):
|
|
133
|
-
"""
|
|
134
|
-
TaskParamsServe model.
|
|
135
|
-
"""
|
|
136
|
-
|
|
137
|
-
replicas: int = None
|
|
138
|
-
service_type: Literal["ClusterIP", "NodePort", "LoadBalancer"] = "NodePort"
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from digitalhub.entities.task.status import TaskStatus
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class TaskStatusJob(TaskStatus):
|
|
7
|
-
"""
|
|
8
|
-
Task Job status.
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class TaskStatusBuild(TaskStatus):
|
|
13
|
-
"""
|
|
14
|
-
Task Build status.
|
|
15
|
-
"""
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class TaskStatusServe(TaskStatus):
|
|
19
|
-
"""
|
|
20
|
-
Task Serve status.
|
|
21
|
-
"""
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
LICENSE.txt
|
|
2
|
-
README.md
|
|
3
|
-
pyproject.toml
|
|
4
|
-
digitalhub_runtime_python/__init__.py
|
|
5
|
-
digitalhub_runtime_python.egg-info/PKG-INFO
|
|
6
|
-
digitalhub_runtime_python.egg-info/SOURCES.txt
|
|
7
|
-
digitalhub_runtime_python.egg-info/dependency_links.txt
|
|
8
|
-
digitalhub_runtime_python.egg-info/requires.txt
|
|
9
|
-
digitalhub_runtime_python.egg-info/top_level.txt
|
|
10
|
-
digitalhub_runtime_python/entities/__init__.py
|
|
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
|
-
digitalhub_runtime_python/runtimes/__init__.py
|
|
23
|
-
digitalhub_runtime_python/runtimes/kind_registry.py
|
|
24
|
-
digitalhub_runtime_python/runtimes/runtime.py
|
|
25
|
-
digitalhub_runtime_python/utils/configuration.py
|
|
26
|
-
digitalhub_runtime_python/utils/env.py
|
|
27
|
-
digitalhub_runtime_python/utils/inputs.py
|
|
28
|
-
digitalhub_runtime_python/utils/nuclio_configuration.py
|
|
29
|
-
digitalhub_runtime_python/utils/outputs.py
|
|
30
|
-
digitalhub_runtime_python/utils/utils.py
|
|
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
|