digitalhub 0.10.3__py3-none-any.whl → 0.11.0__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.

Files changed (68) hide show
  1. digitalhub/__init__.py +10 -0
  2. digitalhub/context/api.py +10 -4
  3. digitalhub/context/builder.py +35 -20
  4. digitalhub/context/context.py +35 -24
  5. digitalhub/entities/_base/entity/builder.py +11 -0
  6. digitalhub/entities/_base/executable/entity.py +52 -5
  7. digitalhub/entities/_base/material/utils.py +11 -11
  8. digitalhub/entities/_commons/enums.py +4 -0
  9. digitalhub/entities/_processors/base.py +15 -15
  10. digitalhub/entities/_processors/context.py +62 -15
  11. digitalhub/entities/_processors/utils.py +2 -2
  12. digitalhub/entities/builders.py +2 -0
  13. digitalhub/entities/function/_base/entity.py +3 -3
  14. digitalhub/entities/project/_base/builder.py +4 -0
  15. digitalhub/entities/project/_base/entity.py +5 -2
  16. digitalhub/entities/project/_base/models.py +18 -0
  17. digitalhub/entities/project/_base/spec.py +6 -0
  18. digitalhub/entities/project/crud.py +2 -13
  19. digitalhub/entities/run/_base/entity.py +6 -12
  20. digitalhub/entities/task/_base/entity.py +4 -4
  21. digitalhub/entities/task/_base/models.py +20 -2
  22. digitalhub/entities/trigger/__init__.py +0 -0
  23. digitalhub/entities/trigger/_base/__init__.py +0 -0
  24. digitalhub/entities/trigger/_base/builder.py +70 -0
  25. digitalhub/entities/trigger/_base/entity.py +34 -0
  26. digitalhub/entities/trigger/_base/spec.py +40 -0
  27. digitalhub/entities/trigger/_base/status.py +9 -0
  28. digitalhub/entities/trigger/crud.py +309 -0
  29. digitalhub/entities/trigger/lifecycle/__init__.py +0 -0
  30. digitalhub/entities/trigger/lifecycle/builder.py +19 -0
  31. digitalhub/entities/trigger/lifecycle/entity.py +32 -0
  32. digitalhub/entities/trigger/lifecycle/spec.py +38 -0
  33. digitalhub/entities/trigger/lifecycle/status.py +9 -0
  34. digitalhub/entities/trigger/scheduler/__init__.py +0 -0
  35. digitalhub/entities/trigger/scheduler/builder.py +19 -0
  36. digitalhub/entities/trigger/scheduler/entity.py +32 -0
  37. digitalhub/entities/trigger/scheduler/spec.py +29 -0
  38. digitalhub/entities/trigger/scheduler/status.py +9 -0
  39. digitalhub/entities/workflow/_base/entity.py +3 -3
  40. digitalhub/factory/factory.py +113 -26
  41. digitalhub/factory/utils.py +31 -14
  42. digitalhub/runtimes/_base.py +22 -11
  43. digitalhub/runtimes/builder.py +16 -3
  44. digitalhub/runtimes/enums.py +11 -1
  45. digitalhub/stores/client/api.py +1 -1
  46. digitalhub/stores/client/builder.py +2 -2
  47. digitalhub/stores/client/dhcore/client.py +2 -2
  48. digitalhub/stores/client/dhcore/configurator.py +10 -4
  49. digitalhub/stores/configurator/configurator.py +2 -1
  50. digitalhub/stores/configurator/enums.py +9 -0
  51. digitalhub/stores/data/api.py +2 -2
  52. digitalhub/stores/data/builder.py +4 -5
  53. digitalhub/stores/data/enums.py +11 -0
  54. digitalhub/stores/data/s3/configurator.py +0 -1
  55. digitalhub/stores/data/s3/enums.py +2 -3
  56. digitalhub/stores/data/s3/store.py +2 -3
  57. digitalhub/stores/data/s3/utils.py +13 -18
  58. digitalhub/stores/data/sql/configurator.py +3 -3
  59. digitalhub/stores/data/sql/store.py +0 -1
  60. digitalhub/stores/data/utils.py +34 -0
  61. digitalhub/utils/file_utils.py +1 -1
  62. digitalhub/utils/generic_utils.py +37 -0
  63. digitalhub/utils/uri_utils.py +5 -0
  64. {digitalhub-0.10.3.dist-info → digitalhub-0.11.0.dist-info}/METADATA +1 -1
  65. {digitalhub-0.10.3.dist-info → digitalhub-0.11.0.dist-info}/RECORD +67 -48
  66. digitalhub/factory/api.py +0 -277
  67. {digitalhub-0.10.3.dist-info → digitalhub-0.11.0.dist-info}/WHEEL +0 -0
  68. {digitalhub-0.10.3.dist-info → digitalhub-0.11.0.dist-info}/licenses/LICENSE.txt +0 -0
digitalhub/factory/api.py DELETED
@@ -1,277 +0,0 @@
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_from_params(**kwargs) -> Entity:
17
- """
18
- Build an entity.
19
-
20
- Parameters
21
- ----------
22
- **kwargs
23
- Entity parameters.
24
-
25
- Returns
26
- -------
27
- Entity
28
- Entity object.
29
- """
30
- try:
31
- kind = kwargs["kind"]
32
- except KeyError:
33
- raise BuilderError("Missing 'kind' parameter.")
34
- _raise_if_entity_builder_not_found(kind)
35
- return factory.build_entity_from_params(kind, **kwargs)
36
-
37
-
38
- def build_entity_from_dict(obj: dict) -> Entity:
39
- """
40
- Build an entity from a dictionary.
41
-
42
- Parameters
43
- ----------
44
- obj : dict
45
- Dictionary with entity data.
46
-
47
- Returns
48
- -------
49
- Entity
50
- Entity object.
51
- """
52
- try:
53
- kind = obj["kind"]
54
- except KeyError:
55
- raise BuilderError("Missing 'kind' parameter.")
56
- _raise_if_entity_builder_not_found(kind)
57
- return factory.build_entity_from_dict(kind, obj)
58
-
59
-
60
- def build_spec(kind_to_build_from: str, **kwargs) -> Spec:
61
- """
62
- Build an entity spec.
63
-
64
- Parameters
65
- ----------
66
- kind_to_build_from : str
67
- Entity type.
68
-
69
- Returns
70
- -------
71
- Spec
72
- Spec object.
73
- """
74
- _raise_if_entity_builder_not_found(kind_to_build_from)
75
- return factory.build_spec(kind_to_build_from, **kwargs)
76
-
77
-
78
- def build_metadata(kind_to_build_from: str, **kwargs) -> Metadata:
79
- """
80
- Build an entity metadata.
81
-
82
- Parameters
83
- ----------
84
- kind_to_build_from : str
85
- Entity type.
86
-
87
- Returns
88
- -------
89
- Metadata
90
- Metadata object.
91
- """
92
- _raise_if_entity_builder_not_found(kind_to_build_from)
93
- return factory.build_metadata(kind_to_build_from, **kwargs)
94
-
95
-
96
- def build_status(kind_to_build_from: str, **kwargs) -> Status:
97
- """
98
- Build an entity status.
99
-
100
- Parameters
101
- ----------
102
- kind_to_build_from : str
103
- Entity type.
104
-
105
- Returns
106
- -------
107
- Status
108
- Status object.
109
- """
110
- _raise_if_entity_builder_not_found(kind_to_build_from)
111
- return factory.build_status(kind_to_build_from, **kwargs)
112
-
113
-
114
- def build_runtime(kind_to_build_from: str, project: str) -> Runtime:
115
- """
116
- Build a runtime.
117
-
118
- Parameters
119
- ----------
120
- kind_to_build_from : str
121
- Runtime type.
122
- project : str
123
- Project name.
124
-
125
- Returns
126
- -------
127
- Runtime
128
- Runtime object.
129
- """
130
- _raise_if_runtime_builder_not_found(kind_to_build_from)
131
- return factory.build_runtime(kind_to_build_from, project)
132
-
133
-
134
- def get_entity_type_from_kind(kind: str) -> str:
135
- """
136
- Get entity type from builder.
137
-
138
- Parameters
139
- ----------
140
- kind : str
141
- Entity type.
142
-
143
- Returns
144
- -------
145
- str
146
- Entity type.
147
- """
148
- _raise_if_entity_builder_not_found(kind)
149
- return factory.get_entity_type_from_kind(kind)
150
-
151
-
152
- def get_all_kinds(kind: str) -> list[str]:
153
- """
154
- Get all kinds.
155
-
156
- Parameters
157
- ----------
158
- kind : str
159
- Kind.
160
-
161
- Returns
162
- -------
163
- list[str]
164
- All entities runtime kinds.
165
- """
166
- _raise_if_entity_builder_not_found(kind)
167
- return factory.get_all_kinds(kind)
168
-
169
-
170
- def get_executable_kind(kind: str) -> str:
171
- """
172
- Get executable kind.
173
-
174
- Parameters
175
- ----------
176
- kind : str
177
- Kind.
178
-
179
- Returns
180
- -------
181
- str
182
- Executable kind.
183
- """
184
- _raise_if_entity_builder_not_found(kind)
185
- return factory.get_executable_kind(kind)
186
-
187
-
188
- def get_task_kind_from_action(kind: str, action: str) -> str:
189
- """
190
- Get task kinds from action.
191
-
192
- Parameters
193
- ----------
194
- kind : str
195
- Kind.
196
- action : str
197
- Action.
198
-
199
- Returns
200
- -------
201
- str
202
- Task kind.
203
- """
204
- _raise_if_entity_builder_not_found(kind)
205
- return factory.get_task_kind_from_action(kind, action)
206
-
207
-
208
- def get_action_from_task_kind(kind: str, task_kind: str) -> str:
209
- """
210
- Get action from task.
211
-
212
- Parameters
213
- ----------
214
- kind : str
215
- Kind.
216
- task_kind : str
217
- Task kind.
218
-
219
- Returns
220
- -------
221
- str
222
- Action.
223
- """
224
- _raise_if_entity_builder_not_found(kind)
225
- return factory.get_action_from_task_kind(kind, task_kind)
226
-
227
-
228
- def get_run_kind(kind: str) -> str:
229
- """
230
- Get run kind.
231
-
232
- Parameters
233
- ----------
234
- kind : str
235
- Kind.
236
-
237
- Returns
238
- -------
239
- str
240
- Run kind.
241
- """
242
- _raise_if_entity_builder_not_found(kind)
243
- return factory.get_run_kind(kind)
244
-
245
-
246
- def _raise_if_entity_builder_not_found(kind: str) -> None:
247
- """
248
- Raise error if entity builder not found.
249
-
250
- Parameters
251
- ----------
252
- kind : str
253
- Entity type.
254
-
255
- Returns
256
- -------
257
- None
258
- """
259
- if kind not in factory._entity_builders:
260
- raise BuilderError(f"Builder for kind '{kind}' not found.")
261
-
262
-
263
- def _raise_if_runtime_builder_not_found(kind: str) -> None:
264
- """
265
- Raise error if runtime builder not found.
266
-
267
- Parameters
268
- ----------
269
- kind : str
270
- Runtime type.
271
-
272
- Returns
273
- -------
274
- None
275
- """
276
- if kind not in factory._runtime_builders:
277
- raise BuilderError(f"Builder for kind '{kind}' not found.")