digitalhub 0.8.0b2__py3-none-any.whl → 0.8.0b3__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 (197) hide show
  1. digitalhub/__init__.py +2 -2
  2. digitalhub/client/builder.py +3 -3
  3. digitalhub/client/{objects/dhcore.py → dhcore/client.py} +3 -48
  4. digitalhub/client/dhcore/env.py +21 -0
  5. digitalhub/client/dhcore/models.py +46 -0
  6. digitalhub/{utils/env_utils.py → client/dhcore/utils.py} +1 -13
  7. digitalhub/client/{objects/local.py → local/client.py} +1 -1
  8. digitalhub/context/builder.py +1 -1
  9. digitalhub/context/context.py +1 -1
  10. digitalhub/datastores/{objects/base.py → _base/datastore.py} +1 -1
  11. digitalhub/datastores/builder.py +6 -6
  12. digitalhub/datastores/{objects/local.py → local/datastore.py} +1 -1
  13. digitalhub/datastores/{objects/remote.py → remote/datastore.py} +1 -1
  14. digitalhub/datastores/{objects/s3.py → s3/datastore.py} +1 -1
  15. digitalhub/datastores/{objects/sql.py → sql/datastore.py} +1 -1
  16. digitalhub/entities/_base/{base.py → _base/entity.py} +1 -1
  17. digitalhub/entities/_base/context/__init__.py +0 -0
  18. digitalhub/entities/_base/{entity/context.py → context/entity.py} +4 -4
  19. digitalhub/entities/_base/crud.py +3 -3
  20. digitalhub/entities/_base/entity/{base.py → entity.py} +6 -6
  21. digitalhub/entities/_base/{metadata.py → entity/metadata.py} +2 -2
  22. digitalhub/entities/_base/{spec/base.py → entity/spec.py} +11 -11
  23. digitalhub/entities/_base/{status/base.py → entity/status.py} +2 -2
  24. digitalhub/entities/_base/executable/__init__.py +0 -0
  25. digitalhub/entities/_base/{entity/executable.py → executable/entity.py} +55 -31
  26. digitalhub/entities/_base/material/__init__.py +0 -0
  27. digitalhub/entities/_base/{entity/material.py → material/entity.py} +4 -4
  28. digitalhub/entities/_base/{spec/material.py → material/spec.py} +3 -3
  29. digitalhub/entities/_base/{status/material.py → material/status.py} +1 -1
  30. digitalhub/entities/_base/unversioned/__init__.py +0 -0
  31. digitalhub/entities/_base/{entity/unversioned.py → unversioned/entity.py} +4 -4
  32. digitalhub/entities/_base/versioned/__init__.py +0 -0
  33. digitalhub/entities/_base/{entity/versioned.py → versioned/entity.py} +4 -4
  34. digitalhub/entities/_builders/entity.py +148 -0
  35. digitalhub/entities/_builders/factory.py +44 -0
  36. digitalhub/entities/_builders/metadata.py +2 -11
  37. digitalhub/entities/_builders/spec.py +1 -1
  38. digitalhub/entities/_builders/status.py +2 -2
  39. digitalhub/entities/artifact/_base/__init__.py +0 -0
  40. digitalhub/entities/artifact/{entity/_base.py → _base/entity.py} +5 -5
  41. digitalhub/entities/artifact/_base/spec.py +15 -0
  42. digitalhub/entities/artifact/_base/status.py +9 -0
  43. digitalhub/entities/artifact/artifact/__init__.py +0 -0
  44. digitalhub/entities/artifact/artifact/entity.py +32 -0
  45. digitalhub/entities/artifact/{spec.py → artifact/spec.py} +4 -16
  46. digitalhub/entities/artifact/{status.py → artifact/status.py} +1 -1
  47. digitalhub/entities/artifact/builder.py +2 -2
  48. digitalhub/entities/artifact/crud.py +3 -3
  49. digitalhub/entities/dataitem/_base/__init__.py +0 -0
  50. digitalhub/entities/dataitem/{entity/_base.py → _base/entity.py} +5 -5
  51. digitalhub/entities/dataitem/_base/spec.py +15 -0
  52. digitalhub/entities/dataitem/_base/status.py +20 -0
  53. digitalhub/entities/dataitem/builder.py +4 -4
  54. digitalhub/entities/dataitem/crud.py +7 -4
  55. digitalhub/entities/dataitem/dataitem/__init__.py +0 -0
  56. digitalhub/entities/dataitem/dataitem/entity.py +32 -0
  57. digitalhub/entities/dataitem/dataitem/spec.py +15 -0
  58. digitalhub/entities/dataitem/dataitem/status.py +9 -0
  59. digitalhub/entities/dataitem/iceberg/__init__.py +0 -0
  60. digitalhub/entities/dataitem/iceberg/entity.py +32 -0
  61. digitalhub/entities/dataitem/iceberg/spec.py +15 -0
  62. digitalhub/entities/dataitem/iceberg/status.py +9 -0
  63. digitalhub/entities/dataitem/table/__init__.py +0 -0
  64. digitalhub/entities/dataitem/{entity/table.py → table/entity.py} +24 -3
  65. digitalhub/entities/dataitem/table/spec.py +25 -0
  66. digitalhub/entities/dataitem/table/status.py +9 -0
  67. digitalhub/entities/function/_base/__init__.py +0 -0
  68. digitalhub/entities/function/{entity.py → _base/entity.py} +6 -6
  69. digitalhub/entities/function/{models.py → _base/models.py} +1 -1
  70. digitalhub/entities/function/_base/spec.py +15 -0
  71. digitalhub/entities/function/_base/status.py +9 -0
  72. digitalhub/entities/function/builder.py +1 -1
  73. digitalhub/entities/function/crud.py +2 -2
  74. digitalhub/entities/model/_base/__init__.py +0 -0
  75. digitalhub/entities/model/{entity/_base.py → _base/entity.py} +5 -5
  76. digitalhub/entities/model/_base/spec.py +49 -0
  77. digitalhub/entities/model/_base/status.py +9 -0
  78. digitalhub/entities/model/builder.py +5 -5
  79. digitalhub/entities/model/crud.py +3 -3
  80. digitalhub/entities/model/huggingface/__init__.py +0 -0
  81. digitalhub/entities/model/huggingface/entity.py +32 -0
  82. digitalhub/entities/model/huggingface/spec.py +36 -0
  83. digitalhub/entities/model/huggingface/status.py +9 -0
  84. digitalhub/entities/model/mlflow/__init__.py +0 -0
  85. digitalhub/entities/model/mlflow/entity.py +32 -0
  86. digitalhub/entities/model/mlflow/spec.py +44 -0
  87. digitalhub/entities/model/mlflow/status.py +9 -0
  88. digitalhub/entities/model/{entity/mlflow.py → mlflow/utils.py} +1 -10
  89. digitalhub/entities/model/model/__init__.py +0 -0
  90. digitalhub/entities/model/model/entity.py +32 -0
  91. digitalhub/entities/model/model/spec.py +15 -0
  92. digitalhub/entities/model/model/status.py +9 -0
  93. digitalhub/entities/model/sklearn/__init__.py +0 -0
  94. digitalhub/entities/model/sklearn/entity.py +32 -0
  95. digitalhub/entities/model/sklearn/spec.py +15 -0
  96. digitalhub/entities/model/sklearn/status.py +9 -0
  97. digitalhub/entities/project/builder.py +1 -1
  98. digitalhub/entities/project/crud.py +2 -2
  99. digitalhub/entities/project/project/__init__.py +0 -0
  100. digitalhub/entities/project/{entity.py → project/entity.py} +12 -12
  101. digitalhub/entities/project/{spec.py → project/spec.py} +4 -4
  102. digitalhub/entities/project/project/status.py +9 -0
  103. digitalhub/entities/registries.py +6 -6
  104. digitalhub/entities/run/_base/__init__.py +0 -0
  105. digitalhub/entities/run/{entity.py → _base/entity.py} +7 -7
  106. digitalhub/entities/run/{spec.py → _base/spec.py} +8 -8
  107. digitalhub/entities/run/{status.py → _base/status.py} +4 -4
  108. digitalhub/entities/run/builder.py +1 -1
  109. digitalhub/entities/run/crud.py +2 -2
  110. digitalhub/entities/secret/builder.py +1 -1
  111. digitalhub/entities/secret/crud.py +11 -3
  112. digitalhub/entities/secret/secret/__init__.py +0 -0
  113. digitalhub/entities/secret/{entity.py → secret/entity.py} +7 -6
  114. digitalhub/entities/secret/{spec.py → secret/spec.py} +4 -4
  115. digitalhub/entities/secret/secret/status.py +9 -0
  116. digitalhub/entities/task/_base/__init__.py +0 -0
  117. digitalhub/entities/task/{entity.py → _base/entity.py} +6 -6
  118. digitalhub/entities/task/{models.py → _base/models.py} +9 -0
  119. digitalhub/entities/task/{spec.py → _base/spec.py} +9 -7
  120. digitalhub/entities/task/_base/status.py +9 -0
  121. digitalhub/entities/task/builder.py +1 -1
  122. digitalhub/entities/task/crud.py +2 -2
  123. digitalhub/entities/utils/__init__.py +0 -0
  124. digitalhub/entities/{utils.py → utils/utils.py} +2 -2
  125. digitalhub/entities/workflow/_base/__init__.py +0 -0
  126. digitalhub/entities/workflow/{entity.py → _base/entity.py} +6 -6
  127. digitalhub/entities/workflow/_base/spec.py +15 -0
  128. digitalhub/entities/workflow/_base/status.py +9 -0
  129. digitalhub/entities/workflow/builder.py +1 -1
  130. digitalhub/entities/workflow/crud.py +2 -2
  131. digitalhub/readers/_base/__init__.py +0 -0
  132. digitalhub/readers/builder.py +1 -1
  133. digitalhub/readers/pandas/__init__.py +0 -0
  134. digitalhub/readers/{objects/pandas.py → pandas/readers.py} +1 -1
  135. digitalhub/readers/registry.py +1 -1
  136. digitalhub/registry/utils.py +4 -3
  137. digitalhub/stores/_base/__init__.py +0 -0
  138. digitalhub/stores/builder.py +6 -6
  139. digitalhub/stores/local/__init__.py +0 -0
  140. digitalhub/stores/{objects/local.py → local/store.py} +1 -1
  141. digitalhub/stores/remote/__init__.py +0 -0
  142. digitalhub/stores/{objects/remote.py → remote/store.py} +1 -1
  143. digitalhub/stores/s3/__init__.py +0 -0
  144. digitalhub/stores/{objects/s3.py → s3/store.py} +1 -1
  145. digitalhub/stores/sql/__init__.py +0 -0
  146. digitalhub/stores/{objects/sql.py → sql/store.py} +1 -1
  147. digitalhub/utils/generic_utils.py +18 -42
  148. digitalhub/utils/s3_utils.py +58 -0
  149. {digitalhub-0.8.0b2.dist-info → digitalhub-0.8.0b3.dist-info}/METADATA +3 -2
  150. digitalhub-0.8.0b3.dist-info/RECORD +214 -0
  151. {digitalhub-0.8.0b2.dist-info → digitalhub-0.8.0b3.dist-info}/WHEEL +1 -1
  152. test/local/CRUD/test_artifacts.py +96 -0
  153. test/local/CRUD/test_dataitems.py +96 -0
  154. test/local/CRUD/test_models.py +95 -0
  155. test/test_crud_functions.py +1 -1
  156. test/test_crud_runs.py +1 -1
  157. test/test_crud_tasks.py +1 -1
  158. digitalhub/entities/artifact/entity/artifact.py +0 -9
  159. digitalhub/entities/dataitem/entity/dataitem.py +0 -9
  160. digitalhub/entities/dataitem/entity/iceberg.py +0 -7
  161. digitalhub/entities/dataitem/spec.py +0 -61
  162. digitalhub/entities/dataitem/status.py +0 -38
  163. digitalhub/entities/function/spec.py +0 -81
  164. digitalhub/entities/function/status.py +0 -9
  165. digitalhub/entities/model/entity/huggingface.py +0 -9
  166. digitalhub/entities/model/entity/model.py +0 -9
  167. digitalhub/entities/model/entity/sklearn.py +0 -9
  168. digitalhub/entities/model/spec.py +0 -146
  169. digitalhub/entities/model/status.py +0 -33
  170. digitalhub/entities/project/status.py +0 -9
  171. digitalhub/entities/secret/status.py +0 -9
  172. digitalhub/entities/task/status.py +0 -9
  173. digitalhub/entities/workflow/spec.py +0 -15
  174. digitalhub/entities/workflow/status.py +0 -9
  175. digitalhub-0.8.0b2.dist-info/RECORD +0 -161
  176. test/test_crud_artifacts.py +0 -96
  177. test/test_crud_dataitems.py +0 -96
  178. /digitalhub/client/{objects → _base}/__init__.py +0 -0
  179. /digitalhub/client/{objects/base.py → _base/client.py} +0 -0
  180. /digitalhub/{datastores/objects → client/dhcore}/__init__.py +0 -0
  181. /digitalhub/{entities/_base/spec → client/local}/__init__.py +0 -0
  182. /digitalhub/{entities/_base/status → datastores/_base}/__init__.py +0 -0
  183. /digitalhub/{entities/artifact/entity → datastores/local}/__init__.py +0 -0
  184. /digitalhub/{entities/dataitem/entity → datastores/remote}/__init__.py +0 -0
  185. /digitalhub/{entities/model/entity → datastores/s3}/__init__.py +0 -0
  186. /digitalhub/{readers/objects → datastores/sql}/__init__.py +0 -0
  187. /digitalhub/{stores/objects → entities/_base/_base}/__init__.py +0 -0
  188. /digitalhub/entities/dataitem/{models.py → table/models.py} +0 -0
  189. /digitalhub/entities/model/{models.py → mlflow/models.py} +0 -0
  190. /digitalhub/entities/{_base → utils}/api.py +0 -0
  191. /digitalhub/entities/{entity_types.py → utils/entity_types.py} +0 -0
  192. /digitalhub/entities/{_base → utils}/state.py +0 -0
  193. /digitalhub/readers/{objects/base.py → _base/readers.py} +0 -0
  194. /digitalhub/stores/{objects/base.py → _base/store.py} +0 -0
  195. {digitalhub-0.8.0b2.dist-info → digitalhub-0.8.0b3.dist-info}/LICENSE.txt +0 -0
  196. {digitalhub-0.8.0b2.dist-info → digitalhub-0.8.0b3.dist-info}/top_level.txt +0 -0
  197. /test/{test_imports.py → local/imports/test_imports.py} +0 -0
@@ -0,0 +1,32 @@
1
+ from __future__ import annotations
2
+
3
+ import typing
4
+
5
+ from digitalhub.entities.model._base.entity import Model
6
+
7
+ if typing.TYPE_CHECKING:
8
+ from digitalhub.entities._base.entity.metadata import Metadata
9
+ from digitalhub.entities.model.sklearn.spec import ModelSpecSklearn
10
+ from digitalhub.entities.model.sklearn.status import ModelStatusSklearn
11
+
12
+
13
+ class ModelSklearn(Model):
14
+ """
15
+ ModelSklearn class.
16
+ """
17
+
18
+ def __init__(
19
+ self,
20
+ project: str,
21
+ name: str,
22
+ uuid: str,
23
+ kind: str,
24
+ metadata: Metadata,
25
+ spec: ModelSpecSklearn,
26
+ status: ModelStatusSklearn,
27
+ user: str | None = None,
28
+ ) -> None:
29
+ super().__init__(project, name, uuid, kind, metadata, spec, status, user)
30
+
31
+ self.spec: ModelSpecSklearn
32
+ self.status: ModelStatusSklearn
@@ -0,0 +1,15 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.entities.model._base.spec import ModelSpec, ModelValidator
4
+
5
+
6
+ class ModelSpecSklearn(ModelSpec):
7
+ """
8
+ ModelSpecSklearn specifications.
9
+ """
10
+
11
+
12
+ class ModelValidatorSklearn(ModelValidator):
13
+ """
14
+ ModelValidatorSklearn validator.
15
+ """
@@ -0,0 +1,9 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.entities.model._base.status import ModelStatus
4
+
5
+
6
+ class ModelStatusSklearn(ModelStatus):
7
+ """
8
+ ModelStatusSklearn status.
9
+ """
@@ -4,7 +4,7 @@ from digitalhub.entities._builders.metadata import build_metadata
4
4
  from digitalhub.entities._builders.name import build_name
5
5
  from digitalhub.entities._builders.spec import build_spec
6
6
  from digitalhub.entities._builders.status import build_status
7
- from digitalhub.entities.project.entity import Project
7
+ from digitalhub.entities.project.project.entity import Project
8
8
 
9
9
 
10
10
  def project_from_parameters(
@@ -7,13 +7,13 @@ from pathlib import Path
7
7
  from digitalhub.client.builder import build_client, get_client
8
8
  from digitalhub.context.builder import delete_context
9
9
  from digitalhub.entities._base.crud import delete_entity_api_base, read_entity_api_base, update_entity_api_base
10
- from digitalhub.entities.entity_types import EntityTypes
11
10
  from digitalhub.entities.project.builder import project_from_dict, project_from_parameters
11
+ from digitalhub.entities.utils.entity_types import EntityTypes
12
12
  from digitalhub.utils.exceptions import BackendError, EntityError
13
13
  from digitalhub.utils.io_utils import read_yaml
14
14
 
15
15
  if typing.TYPE_CHECKING:
16
- from digitalhub.entities.project.entity import Project
16
+ from digitalhub.entities.project.project.entity import Project
17
17
 
18
18
 
19
19
  ENTITY_TYPE = EntityTypes.PROJECT.value
File without changes
@@ -12,7 +12,7 @@ from digitalhub.entities._base.crud import (
12
12
  read_entity_api_ctx,
13
13
  update_entity_api_base,
14
14
  )
15
- from digitalhub.entities._base.entity.base import Entity
15
+ from digitalhub.entities._base.entity.entity import Entity
16
16
  from digitalhub.entities._builders.metadata import build_metadata
17
17
  from digitalhub.entities._builders.name import build_name
18
18
  from digitalhub.entities._builders.spec import build_spec
@@ -39,7 +39,6 @@ from digitalhub.entities.dataitem.crud import (
39
39
  new_dataitem,
40
40
  update_dataitem,
41
41
  )
42
- from digitalhub.entities.entity_types import EntityTypes
43
42
  from digitalhub.entities.function.crud import (
44
43
  delete_function,
45
44
  function_from_dict,
@@ -71,6 +70,7 @@ from digitalhub.entities.secret.crud import (
71
70
  new_secret,
72
71
  update_secret,
73
72
  )
73
+ from digitalhub.entities.utils.entity_types import EntityTypes
74
74
  from digitalhub.entities.workflow.crud import (
75
75
  delete_workflow,
76
76
  get_workflow,
@@ -87,16 +87,16 @@ from digitalhub.utils.io_utils import write_yaml
87
87
  from digitalhub.utils.uri_utils import map_uri_scheme
88
88
 
89
89
  if typing.TYPE_CHECKING:
90
- from digitalhub.entities._base.metadata import Metadata
91
- from digitalhub.entities.artifact.entity._base import Artifact
92
- from digitalhub.entities.dataitem.entity._base import Dataitem
93
- from digitalhub.entities.function.entity import Function
94
- from digitalhub.entities.model.entity._base import Model
95
- from digitalhub.entities.project.spec import ProjectSpec
96
- from digitalhub.entities.project.status import ProjectStatus
97
- from digitalhub.entities.run.entity import Run
98
- from digitalhub.entities.secret.entity import Secret
99
- from digitalhub.entities.workflow.entity import Workflow
90
+ from digitalhub.entities._base.entity.metadata import Metadata
91
+ from digitalhub.entities.artifact._base.entity import Artifact
92
+ from digitalhub.entities.dataitem._base.entity import Dataitem
93
+ from digitalhub.entities.function._base.entity import Function
94
+ from digitalhub.entities.model._base.entity import Model
95
+ from digitalhub.entities.project.project.spec import ProjectSpec
96
+ from digitalhub.entities.project.project.status import ProjectStatus
97
+ from digitalhub.entities.run._base.entity import Run
98
+ from digitalhub.entities.secret.secret.entity import Secret
99
+ from digitalhub.entities.workflow._base.entity import Workflow
100
100
 
101
101
 
102
102
  ARTIFACTS = EntityTypes.ARTIFACT.value + "s"
@@ -1,11 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
- from digitalhub.entities._base.spec.base import Spec, SpecParams
3
+ from digitalhub.entities._base.entity.spec import Spec, SpecValidator
4
4
 
5
5
 
6
6
  class ProjectSpec(Spec):
7
7
  """
8
- Project specification.
8
+ ProjectSpec specifications.
9
9
  """
10
10
 
11
11
  def __init__(
@@ -26,9 +26,9 @@ class ProjectSpec(Spec):
26
26
  self.models = models if models is not None else []
27
27
 
28
28
 
29
- class ProjectParams(SpecParams):
29
+ class ProjectValidator(SpecValidator):
30
30
  """
31
- Parameters model for project.
31
+ ProjectValidator validator.
32
32
  """
33
33
 
34
34
  context: str = None
@@ -0,0 +1,9 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.entities._base.entity.status import Status
4
+
5
+
6
+ class ProjectStatus(Status):
7
+ """
8
+ ProjectStatus status.
9
+ """
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from digitalhub.entities.entity_types import EntityTypes
3
+ from digitalhub.entities.utils.entity_types import EntityTypes
4
4
  from digitalhub.registry.registry import registry
5
5
  from digitalhub.registry.utils import create_info
6
6
 
@@ -10,14 +10,14 @@ root = "digitalhub.entities"
10
10
  # Projects
11
11
  entity_type = EntityTypes.PROJECT.value
12
12
  prefix = entity_type.capitalize()
13
- project_info = create_info(root, entity_type, prefix)
13
+ project_info = create_info(root, entity_type, "project", prefix)
14
14
  registry.register("project", project_info)
15
15
 
16
16
 
17
17
  # Secrets
18
18
  entity_type = EntityTypes.SECRET.value
19
19
  prefix = entity_type.capitalize()
20
- secret_info = create_info(root, entity_type, prefix)
20
+ secret_info = create_info(root, entity_type, "secret", prefix)
21
21
  registry.register("secret", secret_info)
22
22
 
23
23
 
@@ -26,7 +26,7 @@ entity_type = EntityTypes.ARTIFACT.value
26
26
  for i in ["artifact"]:
27
27
  prefix = entity_type.capitalize()
28
28
  suffix = i.capitalize()
29
- artifact_info = create_info(root, entity_type, prefix, suffix)
29
+ artifact_info = create_info(root, entity_type, i, prefix, suffix)
30
30
  registry.register(i, artifact_info)
31
31
 
32
32
 
@@ -35,7 +35,7 @@ entity_type = EntityTypes.DATAITEM.value
35
35
  for i in ["dataitem", "table"]:
36
36
  prefix = entity_type.capitalize()
37
37
  suffix = i.capitalize()
38
- dataitem_info = create_info(root, entity_type, prefix, suffix)
38
+ dataitem_info = create_info(root, entity_type, i, prefix, suffix)
39
39
  registry.register(i, dataitem_info)
40
40
 
41
41
 
@@ -44,5 +44,5 @@ entity_type = EntityTypes.MODEL.value
44
44
  for i in ["model", "mlflow", "sklearn", "huggingface"]:
45
45
  prefix = entity_type.capitalize()
46
46
  suffix = i.capitalize()
47
- model_info = create_info(root, entity_type, prefix, suffix)
47
+ model_info = create_info(root, entity_type, i, prefix, suffix)
48
48
  registry.register(i, model_info)
File without changes
@@ -14,21 +14,21 @@ from digitalhub.entities._base.crud import (
14
14
  resume_api,
15
15
  stop_api,
16
16
  )
17
- from digitalhub.entities._base.entity.unversioned import UnversionedEntity
18
- from digitalhub.entities._base.state import State
17
+ from digitalhub.entities._base.unversioned.entity import UnversionedEntity
19
18
  from digitalhub.entities._builders.spec import build_spec
20
19
  from digitalhub.entities._builders.status import build_status
21
- from digitalhub.entities.entity_types import EntityTypes
20
+ from digitalhub.entities.utils.entity_types import EntityTypes
21
+ from digitalhub.entities.utils.state import State
22
22
  from digitalhub.registry.registry import registry
23
23
  from digitalhub.runtimes.builder import build_runtime
24
24
  from digitalhub.utils.exceptions import EntityError
25
25
  from digitalhub.utils.logger import LOGGER
26
26
 
27
27
  if typing.TYPE_CHECKING:
28
- from digitalhub.entities._base.entity.material import MaterialEntity
29
- from digitalhub.entities._base.metadata import Metadata
30
- from digitalhub.entities.run.spec import RunSpec
31
- from digitalhub.entities.run.status import RunStatus
28
+ from digitalhub.entities._base.entity.metadata import Metadata
29
+ from digitalhub.entities._base.material.entity import MaterialEntity
30
+ from digitalhub.entities.run._base.spec import RunSpec
31
+ from digitalhub.entities.run._base.status import RunStatus
32
32
  from digitalhub.runtimes.base import Runtime
33
33
 
34
34
 
@@ -2,16 +2,16 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.entities._base.spec.base import Spec, SpecParams
5
+ from digitalhub.entities._base.entity.spec import Spec, SpecValidator
6
6
  from digitalhub.entities.artifact.crud import get_artifact
7
7
  from digitalhub.entities.dataitem.crud import get_dataitem
8
- from digitalhub.entities.entity_types import EntityTypes
9
8
  from digitalhub.entities.model.crud import get_model
10
- from digitalhub.entities.task.models import K8s
11
- from digitalhub.entities.utils import parse_entity_key
9
+ from digitalhub.entities.task._base.models import K8s
10
+ from digitalhub.entities.utils.entity_types import EntityTypes
11
+ from digitalhub.entities.utils.utils import parse_entity_key
12
12
 
13
13
  if typing.TYPE_CHECKING:
14
- from digitalhub.entities._base.entity.base import Entity
14
+ from digitalhub.entities._base.entity.entity import Entity
15
15
 
16
16
 
17
17
  ENTITY_FUNC = {
@@ -22,7 +22,7 @@ ENTITY_FUNC = {
22
22
 
23
23
 
24
24
  class RunSpec(Spec):
25
- """Run specification."""
25
+ """RunSpec specifications."""
26
26
 
27
27
  def __init__(
28
28
  self,
@@ -138,9 +138,9 @@ class RunSpec(Spec):
138
138
  return ENTITY_FUNC[entity_type](key)
139
139
 
140
140
 
141
- class RunParams(SpecParams, K8s):
141
+ class RunValidator(SpecValidator, K8s):
142
142
  """
143
- Run parameters.
143
+ RunValidator validator.
144
144
  """
145
145
 
146
146
  function: str = None
@@ -1,11 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
- from digitalhub.entities._base.status.base import Status
3
+ from digitalhub.entities._base.entity.status import Status
4
4
  from digitalhub.entities.artifact.crud import get_artifact
5
5
  from digitalhub.entities.dataitem.crud import get_dataitem
6
- from digitalhub.entities.entity_types import EntityTypes
7
6
  from digitalhub.entities.model.crud import get_model
8
- from digitalhub.entities.utils import parse_entity_key
7
+ from digitalhub.entities.utils.entity_types import EntityTypes
8
+ from digitalhub.entities.utils.utils import parse_entity_key
9
9
 
10
10
  ENTITY_FUNC = {
11
11
  EntityTypes.ARTIFACT.value: get_artifact,
@@ -16,7 +16,7 @@ ENTITY_FUNC = {
16
16
 
17
17
  class RunStatus(Status):
18
18
  """
19
- Status class for run entities.
19
+ RunStatus status.
20
20
  """
21
21
 
22
22
  def __init__(
@@ -4,7 +4,7 @@ from digitalhub.entities._builders.metadata import build_metadata
4
4
  from digitalhub.entities._builders.spec import build_spec
5
5
  from digitalhub.entities._builders.status import build_status
6
6
  from digitalhub.entities._builders.uuid import build_uuid
7
- from digitalhub.entities.run.entity import Run
7
+ from digitalhub.entities.run._base.entity import Run
8
8
 
9
9
 
10
10
  def run_from_parameters(
@@ -4,13 +4,13 @@ import typing
4
4
 
5
5
  from digitalhub.context.builder import check_context
6
6
  from digitalhub.entities._base.crud import delete_entity_api_ctx, list_entity_api_ctx, read_entity_api_ctx
7
- from digitalhub.entities.entity_types import EntityTypes
8
7
  from digitalhub.entities.run.builder import run_from_dict, run_from_parameters
8
+ from digitalhub.entities.utils.entity_types import EntityTypes
9
9
  from digitalhub.utils.exceptions import EntityAlreadyExistsError, EntityError
10
10
  from digitalhub.utils.io_utils import read_yaml
11
11
 
12
12
  if typing.TYPE_CHECKING:
13
- from digitalhub.entities.run.entity import Run
13
+ from digitalhub.entities.run._base.entity import Run
14
14
 
15
15
 
16
16
  ENTITY_TYPE = EntityTypes.RUN.value
@@ -5,7 +5,7 @@ from digitalhub.entities._builders.name import build_name
5
5
  from digitalhub.entities._builders.spec import build_spec
6
6
  from digitalhub.entities._builders.status import build_status
7
7
  from digitalhub.entities._builders.uuid import build_uuid
8
- from digitalhub.entities.secret.entity import Secret
8
+ from digitalhub.entities.secret.secret.entity import Secret
9
9
 
10
10
 
11
11
  def secret_from_parameters(
@@ -9,13 +9,13 @@ from digitalhub.entities._base.crud import (
9
9
  read_entity_api_ctx,
10
10
  read_entity_api_ctx_versions,
11
11
  )
12
- from digitalhub.entities.entity_types import EntityTypes
13
12
  from digitalhub.entities.secret.builder import secret_from_dict, secret_from_parameters
14
- from digitalhub.utils.exceptions import EntityAlreadyExistsError
13
+ from digitalhub.entities.utils.entity_types import EntityTypes
14
+ from digitalhub.utils.exceptions import EntityAlreadyExistsError, EntityNotExistsError
15
15
  from digitalhub.utils.io_utils import read_yaml
16
16
 
17
17
  if typing.TYPE_CHECKING:
18
- from digitalhub.entities.secret.entity import Secret
18
+ from digitalhub.entities.secret.secret.entity import Secret
19
19
 
20
20
 
21
21
  ENTITY_TYPE = EntityTypes.SECRET.value
@@ -119,6 +119,14 @@ def get_secret(
119
119
  >>> project="my-project",
120
120
  >>> entity_id="my-secret-id")
121
121
  """
122
+ if not identifier.startswith("store://"):
123
+ secrets = list_secrets(project=project, **kwargs)
124
+ for secret in secrets:
125
+ if secret.name == identifier:
126
+ return secret
127
+ else:
128
+ raise EntityNotExistsError(f"Secret {identifier} not found.")
129
+
122
130
  obj = read_entity_api_ctx(
123
131
  identifier,
124
132
  ENTITY_TYPE,
File without changes
@@ -3,13 +3,13 @@ from __future__ import annotations
3
3
  import typing
4
4
 
5
5
  from digitalhub.entities._base.crud import get_data_api, set_data_api
6
- from digitalhub.entities._base.entity.versioned import VersionedEntity
7
- from digitalhub.entities.entity_types import EntityTypes
6
+ from digitalhub.entities._base.versioned.entity import VersionedEntity
7
+ from digitalhub.entities.utils.entity_types import EntityTypes
8
8
 
9
9
  if typing.TYPE_CHECKING:
10
- from digitalhub.entities._base.metadata import Metadata
11
- from digitalhub.entities.secret.spec import SecretSpec
12
- from digitalhub.entities.secret.status import SecretStatus
10
+ from digitalhub.entities._base.entity.metadata import Metadata
11
+ from digitalhub.entities.secret.secret.spec import SecretSpec
12
+ from digitalhub.entities.secret.secret.status import SecretStatus
13
13
 
14
14
 
15
15
  class Secret(VersionedEntity):
@@ -70,4 +70,5 @@ class Secret(VersionedEntity):
70
70
  raise NotImplementedError("read_secret() is not implemented for local projects.")
71
71
 
72
72
  params = {"keys": self.name}
73
- return get_data_api(self.project, self.ENTITY_TYPE, params=params)
73
+ data = get_data_api(self.project, self.ENTITY_TYPE, params=params)
74
+ return data[self.name]
@@ -1,11 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
- from digitalhub.entities._base.spec.base import Spec, SpecParams
3
+ from digitalhub.entities._base.entity.spec import Spec, SpecValidator
4
4
 
5
5
 
6
6
  class SecretSpec(Spec):
7
7
  """
8
- Secret specifications.
8
+ SecretSpec specifications.
9
9
  """
10
10
 
11
11
  def __init__(self, path: str | None = None, provider: str | None = None, **kwargs) -> None:
@@ -23,9 +23,9 @@ class SecretSpec(Spec):
23
23
  self.provider = provider
24
24
 
25
25
 
26
- class SecretParams(SpecParams):
26
+ class SecretValidator(SpecValidator):
27
27
  """
28
- Secret parameters.
28
+ SecretValidator validator.
29
29
  """
30
30
 
31
31
  path: str = None
@@ -0,0 +1,9 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.entities._base.entity.status import Status
4
+
5
+
6
+ class SecretStatus(Status):
7
+ """
8
+ SecretStatus status.
9
+ """
File without changes
@@ -2,15 +2,15 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.entities._base.entity.unversioned import UnversionedEntity
6
- from digitalhub.entities.entity_types import EntityTypes
5
+ from digitalhub.entities._base.unversioned.entity import UnversionedEntity
7
6
  from digitalhub.entities.run.crud import delete_run, get_run, new_run, run_from_parameters
7
+ from digitalhub.entities.utils.entity_types import EntityTypes
8
8
 
9
9
  if typing.TYPE_CHECKING:
10
- from digitalhub.entities._base.metadata import Metadata
11
- from digitalhub.entities.run.entity import Run
12
- from digitalhub.entities.task.spec import TaskSpec
13
- from digitalhub.entities.task.status import TaskStatus
10
+ from digitalhub.entities._base.entity.metadata import Metadata
11
+ from digitalhub.entities.run._base.entity import Run
12
+ from digitalhub.entities.task._base.spec import TaskSpec
13
+ from digitalhub.entities.task._base.status import TaskStatus
14
14
 
15
15
 
16
16
  class Task(UnversionedEntity):
@@ -197,3 +197,12 @@ class K8s(BaseModel):
197
197
 
198
198
  profile: str = None
199
199
  """Profile template."""
200
+
201
+
202
+ class CorePort(BaseModel):
203
+ """
204
+ Port mapper model.
205
+ """
206
+
207
+ port: int
208
+ target_port: int
@@ -1,17 +1,19 @@
1
1
  from __future__ import annotations
2
2
 
3
- from digitalhub.entities._base.spec.base import Spec, SpecParams
4
- from digitalhub.entities.task.models import K8s
3
+ from digitalhub.entities._base.entity.spec import Spec, SpecValidator
4
+ from digitalhub.entities.task._base.models import K8s
5
5
 
6
6
 
7
7
  class TaskSpec(Spec):
8
- """Task specification."""
8
+ """TaskSpec specifications."""
9
9
 
10
10
  def __init__(self, function: str) -> None:
11
11
  self.function = function
12
12
 
13
13
 
14
14
  class TaskSpecK8s(TaskSpec):
15
+ """TaskSpecK8s specifications."""
16
+
15
17
  def __init__(
16
18
  self,
17
19
  function: str,
@@ -36,16 +38,16 @@ class TaskSpecK8s(TaskSpec):
36
38
  self.profile = profile
37
39
 
38
40
 
39
- class TaskParams(SpecParams):
41
+ class TaskValidator(SpecValidator):
40
42
  """
41
- Base task model.
43
+ TaskValidator validator.
42
44
  """
43
45
 
44
46
  function: str
45
47
  """Function string."""
46
48
 
47
49
 
48
- class TaskParamsK8s(TaskParams, K8s):
50
+ class TaskValidatorK8s(TaskValidator, K8s):
49
51
  """
50
- Kubernetes task model.
52
+ TaskValidatorK8s validator.
51
53
  """
@@ -0,0 +1,9 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.entities._base.entity.status import Status
4
+
5
+
6
+ class TaskStatus(Status):
7
+ """
8
+ TaskStatus status.
9
+ """
@@ -4,7 +4,7 @@ from digitalhub.entities._builders.metadata import build_metadata
4
4
  from digitalhub.entities._builders.spec import build_spec
5
5
  from digitalhub.entities._builders.status import build_status
6
6
  from digitalhub.entities._builders.uuid import build_uuid
7
- from digitalhub.entities.task.entity import Task
7
+ from digitalhub.entities.task._base.entity import Task
8
8
 
9
9
 
10
10
  def task_from_parameters(
@@ -4,13 +4,13 @@ import typing
4
4
 
5
5
  from digitalhub.context.builder import check_context
6
6
  from digitalhub.entities._base.crud import delete_entity_api_ctx, list_entity_api_ctx, read_entity_api_ctx
7
- from digitalhub.entities.entity_types import EntityTypes
8
7
  from digitalhub.entities.task.builder import task_from_dict, task_from_parameters
8
+ from digitalhub.entities.utils.entity_types import EntityTypes
9
9
  from digitalhub.utils.exceptions import EntityAlreadyExistsError, EntityError
10
10
  from digitalhub.utils.io_utils import read_yaml
11
11
 
12
12
  if typing.TYPE_CHECKING:
13
- from digitalhub.entities.task.entity import Task
13
+ from digitalhub.entities.task._base.entity import Task
14
14
 
15
15
 
16
16
  ENTITY_TYPE = EntityTypes.TASK.value
File without changes
@@ -2,9 +2,9 @@ from __future__ import annotations
2
2
 
3
3
  from pathlib import Path
4
4
 
5
- from digitalhub.entities.entity_types import EntityTypes
6
- from digitalhub.utils.env_utils import get_s3_bucket
5
+ from digitalhub.entities.utils.entity_types import EntityTypes
7
6
  from digitalhub.utils.file_utils import get_file_mime_type
7
+ from digitalhub.utils.s3_utils import get_s3_bucket
8
8
  from digitalhub.utils.uri_utils import check_local_path
9
9
 
10
10
 
File without changes
@@ -2,16 +2,16 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.entities._base.entity.executable import ExecutableEntity
6
- from digitalhub.entities.entity_types import EntityTypes
5
+ from digitalhub.entities._base.executable.entity import ExecutableEntity
6
+ from digitalhub.entities.utils.entity_types import EntityTypes
7
7
  from digitalhub.runtimes.builder import get_kind_registry
8
8
  from digitalhub.utils.exceptions import BackendError
9
9
 
10
10
  if typing.TYPE_CHECKING:
11
- from digitalhub.entities._base.metadata import Metadata
12
- from digitalhub.entities.run.entity import Run
13
- from digitalhub.entities.workflow.spec import WorkflowSpec
14
- from digitalhub.entities.workflow.status import WorkflowStatus
11
+ from digitalhub.entities._base.entity.metadata import Metadata
12
+ from digitalhub.entities.run._base.entity import Run
13
+ from digitalhub.entities.workflow._base.spec import WorkflowSpec
14
+ from digitalhub.entities.workflow._base.status import WorkflowStatus
15
15
 
16
16
 
17
17
  class Workflow(ExecutableEntity):
@@ -0,0 +1,15 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.entities._base.entity.spec import Spec, SpecValidator
4
+
5
+
6
+ class WorkflowSpec(Spec):
7
+ """
8
+ WorkflowSpec specifications.
9
+ """
10
+
11
+
12
+ class WorkflowValidator(SpecValidator):
13
+ """
14
+ WorkflowValidator validator.
15
+ """
@@ -0,0 +1,9 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.entities._base.entity.status import Status
4
+
5
+
6
+ class WorkflowStatus(Status):
7
+ """
8
+ WorkflowStatus status.
9
+ """