digitalhub 0.8.0b5__py3-none-any.whl → 0.8.0b6__py3-none-any.whl
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.
Potentially problematic release.
This version of digitalhub might be problematic. Click here for more details.
- digitalhub/entities/{_builders/entity.py → _base/entity/builder.py} +27 -5
- digitalhub/entities/_base/entity/entity.py +2 -2
- digitalhub/entities/_base/runtime_entity/__init__.py +0 -0
- digitalhub/entities/_base/runtime_entity/builder.py +95 -0
- digitalhub/entities/_base/unversioned/builder.py +1 -1
- digitalhub/entities/_base/versioned/builder.py +1 -1
- digitalhub/entities/artifact/crud.py +1 -1
- digitalhub/entities/dataitem/crud.py +1 -1
- digitalhub/entities/function/_base/builder.py +2 -1
- digitalhub/entities/function/_base/entity.py +3 -6
- digitalhub/entities/model/crud.py +1 -1
- digitalhub/entities/project/_base/builder.py +1 -1
- digitalhub/entities/run/_base/builder.py +2 -1
- digitalhub/entities/run/_base/entity.py +22 -28
- digitalhub/entities/task/_base/builder.py +2 -8
- digitalhub/entities/workflow/_base/builder.py +2 -1
- digitalhub/entities/workflow/_base/entity.py +3 -6
- digitalhub/factory/api.py +271 -0
- digitalhub/factory/factory.py +80 -18
- digitalhub/runtimes/_base.py +3 -65
- digitalhub/runtimes/builder.py +2 -6
- {digitalhub-0.8.0b5.dist-info → digitalhub-0.8.0b6.dist-info}/METADATA +1 -1
- {digitalhub-0.8.0b5.dist-info → digitalhub-0.8.0b6.dist-info}/RECORD +32 -31
- digitalhub/runtimes/kind_registry.py +0 -184
- digitalhub/runtimes/utils.py +0 -28
- /digitalhub/entities/{_builders → _base/entity/_constructors}/__init__.py +0 -0
- /digitalhub/entities/{_builders → _base/entity/_constructors}/metadata.py +0 -0
- /digitalhub/entities/{_builders → _base/entity/_constructors}/name.py +0 -0
- /digitalhub/entities/{_builders → _base/entity/_constructors}/spec.py +0 -0
- /digitalhub/entities/{_builders → _base/entity/_constructors}/status.py +0 -0
- /digitalhub/entities/{_builders → _base/entity/_constructors}/uuid.py +0 -0
- {digitalhub-0.8.0b5.dist-info → digitalhub-0.8.0b6.dist-info}/LICENSE.txt +0 -0
- {digitalhub-0.8.0b5.dist-info → digitalhub-0.8.0b6.dist-info}/WHEEL +0 -0
- {digitalhub-0.8.0b5.dist-info → digitalhub-0.8.0b6.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
from digitalhub.factory.factory import factory
|
|
6
|
+
from digitalhub.utils.exceptions import BuilderError
|
|
7
|
+
|
|
8
|
+
if typing.TYPE_CHECKING:
|
|
9
|
+
from digitalhub.entities._base.entity.entity import Entity
|
|
10
|
+
from digitalhub.entities._base.entity.metadata import Metadata
|
|
11
|
+
from digitalhub.entities._base.entity.spec import Spec
|
|
12
|
+
from digitalhub.entities._base.entity.status import Status
|
|
13
|
+
from digitalhub.runtimes._base import Runtime
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def build_entity(kind_to_build_from: str, *args, **kwargs) -> Entity:
|
|
17
|
+
"""
|
|
18
|
+
Build an entity.
|
|
19
|
+
|
|
20
|
+
Parameters
|
|
21
|
+
----------
|
|
22
|
+
kind_to_build_from : str
|
|
23
|
+
Entity type.
|
|
24
|
+
|
|
25
|
+
Returns
|
|
26
|
+
-------
|
|
27
|
+
Entity
|
|
28
|
+
Entity object.
|
|
29
|
+
"""
|
|
30
|
+
_raise_if_entity_builder_not_found(kind_to_build_from)
|
|
31
|
+
return factory.build_entity_from_params(kind_to_build_from, *args, **kwargs)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def build_spec(kind_to_build_from: str, **kwargs) -> Spec:
|
|
35
|
+
"""
|
|
36
|
+
Build an entity spec.
|
|
37
|
+
|
|
38
|
+
Parameters
|
|
39
|
+
----------
|
|
40
|
+
kind_to_build_from : str
|
|
41
|
+
Entity type.
|
|
42
|
+
|
|
43
|
+
Returns
|
|
44
|
+
-------
|
|
45
|
+
Spec
|
|
46
|
+
Spec object.
|
|
47
|
+
"""
|
|
48
|
+
_raise_if_entity_builder_not_found(kind_to_build_from)
|
|
49
|
+
return factory.build_spec(kind_to_build_from, **kwargs)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def build_metadata(kind_to_build_from: str, **kwargs) -> Metadata:
|
|
53
|
+
"""
|
|
54
|
+
Build an entity metadata.
|
|
55
|
+
|
|
56
|
+
Parameters
|
|
57
|
+
----------
|
|
58
|
+
kind_to_build_from : str
|
|
59
|
+
Entity type.
|
|
60
|
+
|
|
61
|
+
Returns
|
|
62
|
+
-------
|
|
63
|
+
Metadata
|
|
64
|
+
Metadata object.
|
|
65
|
+
"""
|
|
66
|
+
_raise_if_entity_builder_not_found(kind_to_build_from)
|
|
67
|
+
return factory.build_metadata(kind_to_build_from, **kwargs)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def build_status(kind_to_build_from: str, **kwargs) -> Status:
|
|
71
|
+
"""
|
|
72
|
+
Build an entity status.
|
|
73
|
+
|
|
74
|
+
Parameters
|
|
75
|
+
----------
|
|
76
|
+
kind_to_build_from : str
|
|
77
|
+
Entity type.
|
|
78
|
+
|
|
79
|
+
Returns
|
|
80
|
+
-------
|
|
81
|
+
Status
|
|
82
|
+
Status object.
|
|
83
|
+
"""
|
|
84
|
+
_raise_if_entity_builder_not_found(kind_to_build_from)
|
|
85
|
+
return factory.build_status(kind_to_build_from, **kwargs)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def build_runtime(kind_to_build_from: str, project: str) -> Runtime:
|
|
89
|
+
"""
|
|
90
|
+
Build a runtime.
|
|
91
|
+
|
|
92
|
+
Parameters
|
|
93
|
+
----------
|
|
94
|
+
kind_to_build_from : str
|
|
95
|
+
Runtime type.
|
|
96
|
+
project : str
|
|
97
|
+
Project name.
|
|
98
|
+
|
|
99
|
+
Returns
|
|
100
|
+
-------
|
|
101
|
+
Runtime
|
|
102
|
+
Runtime object.
|
|
103
|
+
"""
|
|
104
|
+
_raise_if_runtime_builder_not_found(kind_to_build_from)
|
|
105
|
+
return factory.build_runtime(kind_to_build_from, project)
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def build_entity_from_dict(kind_to_build_from: str, dict_data: dict) -> Entity:
|
|
109
|
+
"""
|
|
110
|
+
Build an entity from a dictionary.
|
|
111
|
+
|
|
112
|
+
Parameters
|
|
113
|
+
----------
|
|
114
|
+
kind_to_build_from : str
|
|
115
|
+
Entity type.
|
|
116
|
+
dict_data : dict
|
|
117
|
+
Dictionary with entity data.
|
|
118
|
+
|
|
119
|
+
Returns
|
|
120
|
+
-------
|
|
121
|
+
Entity
|
|
122
|
+
Entity object.
|
|
123
|
+
"""
|
|
124
|
+
_raise_if_entity_builder_not_found(kind_to_build_from)
|
|
125
|
+
return factory.build_entity_from_dict(kind_to_build_from, dict_data)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def get_entity_type_from_kind(kind: str) -> str:
|
|
129
|
+
"""
|
|
130
|
+
Get entity type from builder.
|
|
131
|
+
|
|
132
|
+
Parameters
|
|
133
|
+
----------
|
|
134
|
+
kind : str
|
|
135
|
+
Entity type.
|
|
136
|
+
|
|
137
|
+
Returns
|
|
138
|
+
-------
|
|
139
|
+
str
|
|
140
|
+
Entity type.
|
|
141
|
+
"""
|
|
142
|
+
_raise_if_entity_builder_not_found(kind)
|
|
143
|
+
return factory.get_entity_type_from_kind(kind)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def get_all_kinds(kind: str) -> list[str]:
|
|
147
|
+
"""
|
|
148
|
+
Get all kinds.
|
|
149
|
+
|
|
150
|
+
Parameters
|
|
151
|
+
----------
|
|
152
|
+
kind : str
|
|
153
|
+
Kind.
|
|
154
|
+
|
|
155
|
+
Returns
|
|
156
|
+
-------
|
|
157
|
+
list[str]
|
|
158
|
+
All entities runtime kinds.
|
|
159
|
+
"""
|
|
160
|
+
_raise_if_entity_builder_not_found(kind)
|
|
161
|
+
return factory.get_all_kinds(kind)
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
def get_executable_kind(kind: str) -> str:
|
|
165
|
+
"""
|
|
166
|
+
Get executable kind.
|
|
167
|
+
|
|
168
|
+
Parameters
|
|
169
|
+
----------
|
|
170
|
+
kind : str
|
|
171
|
+
Kind.
|
|
172
|
+
|
|
173
|
+
Returns
|
|
174
|
+
-------
|
|
175
|
+
str
|
|
176
|
+
Executable kind.
|
|
177
|
+
"""
|
|
178
|
+
_raise_if_entity_builder_not_found(kind)
|
|
179
|
+
return factory.get_executable_kind(kind)
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
def get_task_kind_from_action(kind: str, action: str) -> str:
|
|
183
|
+
"""
|
|
184
|
+
Get task kinds from action.
|
|
185
|
+
|
|
186
|
+
Parameters
|
|
187
|
+
----------
|
|
188
|
+
kind : str
|
|
189
|
+
Kind.
|
|
190
|
+
action : str
|
|
191
|
+
Action.
|
|
192
|
+
|
|
193
|
+
Returns
|
|
194
|
+
-------
|
|
195
|
+
str
|
|
196
|
+
Task kind.
|
|
197
|
+
"""
|
|
198
|
+
_raise_if_entity_builder_not_found(kind)
|
|
199
|
+
return factory.get_task_kind_from_action(kind, action)
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
def get_action_from_task_kind(kind: str, task_kind: str) -> str:
|
|
203
|
+
"""
|
|
204
|
+
Get action from task.
|
|
205
|
+
|
|
206
|
+
Parameters
|
|
207
|
+
----------
|
|
208
|
+
kind : str
|
|
209
|
+
Kind.
|
|
210
|
+
task_kind : str
|
|
211
|
+
Task kind.
|
|
212
|
+
|
|
213
|
+
Returns
|
|
214
|
+
-------
|
|
215
|
+
str
|
|
216
|
+
Action.
|
|
217
|
+
"""
|
|
218
|
+
_raise_if_entity_builder_not_found(kind)
|
|
219
|
+
return factory.get_action_from_task_kind(kind, task_kind)
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
def get_run_kind(kind: str) -> str:
|
|
223
|
+
"""
|
|
224
|
+
Get run kind.
|
|
225
|
+
|
|
226
|
+
Parameters
|
|
227
|
+
----------
|
|
228
|
+
kind : str
|
|
229
|
+
Kind.
|
|
230
|
+
|
|
231
|
+
Returns
|
|
232
|
+
-------
|
|
233
|
+
str
|
|
234
|
+
Run kind.
|
|
235
|
+
"""
|
|
236
|
+
_raise_if_entity_builder_not_found(kind)
|
|
237
|
+
return factory.get_run_kind(kind)
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
def _raise_if_entity_builder_not_found(kind: str) -> None:
|
|
241
|
+
"""
|
|
242
|
+
Raise error if entity builder not found.
|
|
243
|
+
|
|
244
|
+
Parameters
|
|
245
|
+
----------
|
|
246
|
+
kind : str
|
|
247
|
+
Entity type.
|
|
248
|
+
|
|
249
|
+
Returns
|
|
250
|
+
-------
|
|
251
|
+
None
|
|
252
|
+
"""
|
|
253
|
+
if kind not in factory._entity_builders:
|
|
254
|
+
raise BuilderError(f"Builder for kind '{kind}' not found.")
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
def _raise_if_runtime_builder_not_found(kind: str) -> None:
|
|
258
|
+
"""
|
|
259
|
+
Raise error if runtime builder not found.
|
|
260
|
+
|
|
261
|
+
Parameters
|
|
262
|
+
----------
|
|
263
|
+
kind : str
|
|
264
|
+
Runtime type.
|
|
265
|
+
|
|
266
|
+
Returns
|
|
267
|
+
-------
|
|
268
|
+
None
|
|
269
|
+
"""
|
|
270
|
+
if kind not in factory._runtime_builders:
|
|
271
|
+
raise BuilderError(f"Builder for kind '{kind}' not found.")
|
digitalhub/factory/factory.py
CHANGED
|
@@ -5,11 +5,12 @@ import typing
|
|
|
5
5
|
from digitalhub.utils.exceptions import BuilderError
|
|
6
6
|
|
|
7
7
|
if typing.TYPE_CHECKING:
|
|
8
|
+
from digitalhub.entities._base.entity.builder import EntityBuilder
|
|
8
9
|
from digitalhub.entities._base.entity.entity import Entity
|
|
9
10
|
from digitalhub.entities._base.entity.metadata import Metadata
|
|
10
11
|
from digitalhub.entities._base.entity.spec import Spec
|
|
11
12
|
from digitalhub.entities._base.entity.status import Status
|
|
12
|
-
from digitalhub.entities.
|
|
13
|
+
from digitalhub.entities._base.runtime_entity.builder import RuntimeEntityBuilder
|
|
13
14
|
from digitalhub.runtimes._base import Runtime
|
|
14
15
|
from digitalhub.runtimes.builder import RuntimeBuilder
|
|
15
16
|
|
|
@@ -20,10 +21,10 @@ class Factory:
|
|
|
20
21
|
"""
|
|
21
22
|
|
|
22
23
|
def __init__(self):
|
|
23
|
-
self._entity_builders: dict[str, EntityBuilder] = {}
|
|
24
|
+
self._entity_builders: dict[str, EntityBuilder | RuntimeEntityBuilder] = {}
|
|
24
25
|
self._runtime_builders: dict[str, RuntimeBuilder] = {}
|
|
25
26
|
|
|
26
|
-
def add_entity_builder(self, name: str, builder: EntityBuilder) -> None:
|
|
27
|
+
def add_entity_builder(self, name: str, builder: EntityBuilder | RuntimeEntityBuilder) -> None:
|
|
27
28
|
"""
|
|
28
29
|
Add a builder to the factory.
|
|
29
30
|
|
|
@@ -75,7 +76,6 @@ class Factory:
|
|
|
75
76
|
Entity
|
|
76
77
|
Entity object.
|
|
77
78
|
"""
|
|
78
|
-
self._raise_if_builder_not_found(kind_to_build_from)
|
|
79
79
|
return self._entity_builders[kind_to_build_from].build(*args, **kwargs)
|
|
80
80
|
|
|
81
81
|
def build_entity_from_dict(self, kind_to_build_from: str, dict_data: dict) -> Entity:
|
|
@@ -94,7 +94,6 @@ class Factory:
|
|
|
94
94
|
Entity
|
|
95
95
|
Entity object.
|
|
96
96
|
"""
|
|
97
|
-
self._raise_if_builder_not_found(kind_to_build_from)
|
|
98
97
|
return self._entity_builders[kind_to_build_from].from_dict(dict_data)
|
|
99
98
|
|
|
100
99
|
def build_spec(self, kind_to_build_from: str, **kwargs) -> Spec:
|
|
@@ -111,7 +110,6 @@ class Factory:
|
|
|
111
110
|
Spec
|
|
112
111
|
Spec object.
|
|
113
112
|
"""
|
|
114
|
-
self._raise_if_builder_not_found(kind_to_build_from)
|
|
115
113
|
return self._entity_builders[kind_to_build_from].build_spec(**kwargs)
|
|
116
114
|
|
|
117
115
|
def build_metadata(self, kind_to_build_from: str, **kwargs) -> Metadata:
|
|
@@ -128,7 +126,6 @@ class Factory:
|
|
|
128
126
|
Metadata
|
|
129
127
|
Metadata object.
|
|
130
128
|
"""
|
|
131
|
-
self._raise_if_builder_not_found(kind_to_build_from)
|
|
132
129
|
return self._entity_builders[kind_to_build_from].build_metadata(**kwargs)
|
|
133
130
|
|
|
134
131
|
def build_status(self, kind_to_build_from: str, **kwargs) -> Status:
|
|
@@ -145,7 +142,6 @@ class Factory:
|
|
|
145
142
|
Status
|
|
146
143
|
Status object.
|
|
147
144
|
"""
|
|
148
|
-
self._raise_if_builder_not_found(kind_to_build_from)
|
|
149
145
|
return self._entity_builders[kind_to_build_from].build_status(**kwargs)
|
|
150
146
|
|
|
151
147
|
def build_runtime(self, kind_to_build_from: str, project: str) -> Runtime:
|
|
@@ -164,10 +160,9 @@ class Factory:
|
|
|
164
160
|
Runtime
|
|
165
161
|
Runtime object.
|
|
166
162
|
"""
|
|
167
|
-
self._raise_if_builder_not_found(kind_to_build_from)
|
|
168
163
|
return self._runtime_builders[kind_to_build_from].build(project=project)
|
|
169
164
|
|
|
170
|
-
def
|
|
165
|
+
def get_entity_type_from_kind(self, kind: str) -> str:
|
|
171
166
|
"""
|
|
172
167
|
Get entity type from builder.
|
|
173
168
|
|
|
@@ -181,24 +176,91 @@ class Factory:
|
|
|
181
176
|
str
|
|
182
177
|
Entity type.
|
|
183
178
|
"""
|
|
184
|
-
self.
|
|
185
|
-
return self._entity_builders[kind].ENTITY_TYPE
|
|
179
|
+
return self._entity_builders[kind].get_entity_type()
|
|
186
180
|
|
|
187
|
-
def
|
|
181
|
+
def get_executable_kind(self, kind: str) -> str:
|
|
188
182
|
"""
|
|
189
|
-
|
|
183
|
+
Get executable kind.
|
|
190
184
|
|
|
191
185
|
Parameters
|
|
192
186
|
----------
|
|
193
187
|
kind : str
|
|
194
|
-
|
|
188
|
+
Kind.
|
|
195
189
|
|
|
196
190
|
Returns
|
|
197
191
|
-------
|
|
198
|
-
|
|
192
|
+
str
|
|
193
|
+
Executable kind.
|
|
194
|
+
"""
|
|
195
|
+
return self._entity_builders[kind].get_executable_kind()
|
|
196
|
+
|
|
197
|
+
def get_action_from_task_kind(self, kind: str, task_kind: str) -> str:
|
|
198
|
+
"""
|
|
199
|
+
Get action from task.
|
|
200
|
+
|
|
201
|
+
Parameters
|
|
202
|
+
----------
|
|
203
|
+
kind : str
|
|
204
|
+
Kind.
|
|
205
|
+
task_kind : str
|
|
206
|
+
Task kind.
|
|
207
|
+
|
|
208
|
+
Returns
|
|
209
|
+
-------
|
|
210
|
+
str
|
|
211
|
+
Action.
|
|
212
|
+
"""
|
|
213
|
+
return self._entity_builders[kind].get_action_from_task_kind(task_kind)
|
|
214
|
+
|
|
215
|
+
def get_task_kind_from_action(self, kind: str, action: str) -> list[str]:
|
|
216
|
+
"""
|
|
217
|
+
Get task kinds from action.
|
|
218
|
+
|
|
219
|
+
Parameters
|
|
220
|
+
----------
|
|
221
|
+
kind : str
|
|
222
|
+
Kind.
|
|
223
|
+
action : str
|
|
224
|
+
Action.
|
|
225
|
+
|
|
226
|
+
Returns
|
|
227
|
+
-------
|
|
228
|
+
list[str]
|
|
229
|
+
Task kinds.
|
|
230
|
+
"""
|
|
231
|
+
return self._entity_builders[kind].get_task_kind_from_action(action)
|
|
232
|
+
|
|
233
|
+
def get_run_kind(self, kind: str) -> str:
|
|
234
|
+
"""
|
|
235
|
+
Get run kind.
|
|
236
|
+
|
|
237
|
+
Parameters
|
|
238
|
+
----------
|
|
239
|
+
kind : str
|
|
240
|
+
Kind.
|
|
241
|
+
|
|
242
|
+
Returns
|
|
243
|
+
-------
|
|
244
|
+
str
|
|
245
|
+
Run kind.
|
|
246
|
+
"""
|
|
247
|
+
return self._entity_builders[kind].get_run_kind()
|
|
248
|
+
|
|
249
|
+
def get_all_kinds(self, kind: str) -> list[str]:
|
|
250
|
+
"""
|
|
251
|
+
Get all kinds.
|
|
252
|
+
|
|
253
|
+
Parameters
|
|
254
|
+
----------
|
|
255
|
+
kind : str
|
|
256
|
+
Kind.
|
|
257
|
+
|
|
258
|
+
Returns
|
|
259
|
+
-------
|
|
260
|
+
list[str]
|
|
261
|
+
All kinds.
|
|
199
262
|
"""
|
|
200
|
-
|
|
201
|
-
raise BuilderError(f"Builder for kind '{kind}' not found.")
|
|
263
|
+
return self._entity_builders[kind].get_all_kinds()
|
|
202
264
|
|
|
203
265
|
|
|
204
266
|
factory = Factory()
|
digitalhub/runtimes/_base.py
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import typing
|
|
4
3
|
from abc import abstractmethod
|
|
5
4
|
from typing import Any, Callable
|
|
6
5
|
|
|
6
|
+
from digitalhub.factory.api import get_action_from_task_kind
|
|
7
7
|
from digitalhub.utils.exceptions import EntityError
|
|
8
8
|
from digitalhub.utils.logger import LOGGER
|
|
9
9
|
|
|
10
|
-
if typing.TYPE_CHECKING:
|
|
11
|
-
from digitalhub.runtimes.kind_registry import KindRegistry
|
|
12
|
-
|
|
13
10
|
|
|
14
11
|
class Runtime:
|
|
15
12
|
"""
|
|
@@ -22,8 +19,7 @@ class Runtime:
|
|
|
22
19
|
libraries, code, external tools etc.
|
|
23
20
|
"""
|
|
24
21
|
|
|
25
|
-
def __init__(self,
|
|
26
|
-
self.kind_registry = kind_registry
|
|
22
|
+
def __init__(self, project: str) -> None:
|
|
27
23
|
self.project = project
|
|
28
24
|
|
|
29
25
|
@abstractmethod
|
|
@@ -73,7 +69,7 @@ class Runtime:
|
|
|
73
69
|
raise RuntimeError(msg)
|
|
74
70
|
|
|
75
71
|
try:
|
|
76
|
-
return
|
|
72
|
+
return get_action_from_task_kind(task_kind, task_kind)
|
|
77
73
|
except EntityError:
|
|
78
74
|
msg = f"Task {task_kind} not allowed."
|
|
79
75
|
LOGGER.exception(msg)
|
|
@@ -104,61 +100,3 @@ class Runtime:
|
|
|
104
100
|
msg = "Something got wrong during function execution."
|
|
105
101
|
LOGGER.exception(msg)
|
|
106
102
|
raise RuntimeError(msg)
|
|
107
|
-
|
|
108
|
-
##############################
|
|
109
|
-
# Wrapper registry methods
|
|
110
|
-
##############################
|
|
111
|
-
|
|
112
|
-
def get_executable_kind(self) -> str:
|
|
113
|
-
"""
|
|
114
|
-
Get executable kind.
|
|
115
|
-
|
|
116
|
-
Returns
|
|
117
|
-
-------
|
|
118
|
-
str
|
|
119
|
-
Executable kind.
|
|
120
|
-
"""
|
|
121
|
-
return self.kind_registry.get_executable_kind()
|
|
122
|
-
|
|
123
|
-
def get_task_kind_from_action(self, action: str) -> str:
|
|
124
|
-
"""
|
|
125
|
-
Get task kind from action.
|
|
126
|
-
|
|
127
|
-
Parameters
|
|
128
|
-
----------
|
|
129
|
-
action : str
|
|
130
|
-
Task action.
|
|
131
|
-
|
|
132
|
-
Returns
|
|
133
|
-
-------
|
|
134
|
-
str
|
|
135
|
-
Task kind.
|
|
136
|
-
"""
|
|
137
|
-
return self.kind_registry.get_task_kind_from_action(action)
|
|
138
|
-
|
|
139
|
-
def get_action_from_task_kind(self, kind: str) -> str:
|
|
140
|
-
"""
|
|
141
|
-
Get action from task.
|
|
142
|
-
|
|
143
|
-
Parameters
|
|
144
|
-
----------
|
|
145
|
-
kind : str
|
|
146
|
-
Task kind.
|
|
147
|
-
|
|
148
|
-
Returns
|
|
149
|
-
-------
|
|
150
|
-
str
|
|
151
|
-
Action.
|
|
152
|
-
"""
|
|
153
|
-
return self.kind_registry.get_action_from_task_kind(kind)
|
|
154
|
-
|
|
155
|
-
def get_run_kind(self) -> str:
|
|
156
|
-
"""
|
|
157
|
-
Get run kind.
|
|
158
|
-
|
|
159
|
-
Returns
|
|
160
|
-
-------
|
|
161
|
-
str
|
|
162
|
-
Run kind.
|
|
163
|
-
"""
|
|
164
|
-
return self.kind_registry.get_run_kind()
|
digitalhub/runtimes/builder.py
CHANGED
|
@@ -6,7 +6,6 @@ from digitalhub.utils.exceptions import BuilderError
|
|
|
6
6
|
|
|
7
7
|
if typing.TYPE_CHECKING:
|
|
8
8
|
from digitalhub.runtimes._base import Runtime
|
|
9
|
-
from digitalhub.runtimes.kind_registry import KindRegistry
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
class RuntimeBuilder:
|
|
@@ -16,15 +15,12 @@ class RuntimeBuilder:
|
|
|
16
15
|
|
|
17
16
|
# Class variables
|
|
18
17
|
RUNTIME_CLASS: Runtime = None
|
|
19
|
-
KIND_REGISTRY: KindRegistry = None
|
|
20
18
|
|
|
21
19
|
def __init__(self) -> None:
|
|
22
20
|
if self.RUNTIME_CLASS is None:
|
|
23
21
|
raise BuilderError("RUNTIME_CLASS must be set")
|
|
24
|
-
if self.KIND_REGISTRY is None:
|
|
25
|
-
raise BuilderError("KIND_REGISTRY must be set")
|
|
26
22
|
|
|
27
|
-
def build(self, *args, **kwargs) -> Runtime:
|
|
23
|
+
def build(self, project: str, *args, **kwargs) -> Runtime:
|
|
28
24
|
"""
|
|
29
25
|
Build runtime object.
|
|
30
26
|
|
|
@@ -33,4 +29,4 @@ class RuntimeBuilder:
|
|
|
33
29
|
Runtime
|
|
34
30
|
Runtime object.
|
|
35
31
|
"""
|
|
36
|
-
return self.RUNTIME_CLASS(
|
|
32
|
+
return self.RUNTIME_CLASS(project, *args, **kwargs)
|