digitalhub 0.11.0b7__py3-none-any.whl → 0.13.0b0__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 (270) hide show
  1. digitalhub/__init__.py +4 -1
  2. digitalhub/context/api.py +4 -0
  3. digitalhub/context/builder.py +4 -0
  4. digitalhub/context/context.py +4 -0
  5. digitalhub/entities/__init__.py +3 -0
  6. digitalhub/entities/_base/__init__.py +3 -0
  7. digitalhub/entities/_base/_base/__init__.py +3 -0
  8. digitalhub/entities/_base/_base/entity.py +4 -0
  9. digitalhub/entities/_base/context/__init__.py +3 -0
  10. digitalhub/entities/_base/context/entity.py +4 -0
  11. digitalhub/entities/_base/entity/__init__.py +3 -0
  12. digitalhub/entities/_base/entity/_constructors/__init__.py +3 -0
  13. digitalhub/entities/_base/entity/_constructors/metadata.py +4 -0
  14. digitalhub/entities/_base/entity/_constructors/name.py +4 -0
  15. digitalhub/entities/_base/entity/_constructors/spec.py +4 -0
  16. digitalhub/entities/_base/entity/_constructors/status.py +4 -0
  17. digitalhub/entities/_base/entity/_constructors/uuid.py +4 -0
  18. digitalhub/entities/_base/entity/builder.py +4 -0
  19. digitalhub/entities/_base/entity/entity.py +4 -0
  20. digitalhub/entities/_base/entity/metadata.py +4 -0
  21. digitalhub/entities/_base/entity/spec.py +4 -0
  22. digitalhub/entities/_base/entity/status.py +4 -0
  23. digitalhub/entities/_base/executable/__init__.py +3 -0
  24. digitalhub/entities/_base/executable/entity.py +11 -0
  25. digitalhub/entities/_base/material/__init__.py +3 -0
  26. digitalhub/entities/_base/material/entity.py +12 -15
  27. digitalhub/entities/_base/material/spec.py +4 -0
  28. digitalhub/entities/_base/material/status.py +4 -0
  29. digitalhub/entities/_base/material/utils.py +5 -1
  30. digitalhub/entities/_base/runtime_entity/__init__.py +3 -0
  31. digitalhub/entities/_base/runtime_entity/builder.py +4 -0
  32. digitalhub/entities/_base/unversioned/__init__.py +3 -0
  33. digitalhub/entities/_base/unversioned/builder.py +4 -0
  34. digitalhub/entities/_base/unversioned/entity.py +4 -0
  35. digitalhub/entities/_base/versioned/__init__.py +3 -0
  36. digitalhub/entities/_base/versioned/builder.py +4 -0
  37. digitalhub/entities/_base/versioned/entity.py +4 -0
  38. digitalhub/entities/_commons/__init__.py +3 -0
  39. digitalhub/entities/_commons/enums.py +4 -0
  40. digitalhub/entities/_commons/metrics.py +4 -0
  41. digitalhub/entities/_commons/types.py +4 -0
  42. digitalhub/entities/_commons/utils.py +4 -0
  43. digitalhub/entities/_processors/__init__.py +3 -0
  44. digitalhub/entities/_processors/base.py +4 -0
  45. digitalhub/entities/_processors/context.py +5 -1
  46. digitalhub/entities/_processors/utils.py +4 -0
  47. digitalhub/entities/artifact/__init__.py +3 -0
  48. digitalhub/entities/artifact/_base/__init__.py +3 -0
  49. digitalhub/entities/artifact/_base/builder.py +4 -0
  50. digitalhub/entities/artifact/_base/entity.py +4 -0
  51. digitalhub/entities/artifact/_base/spec.py +4 -0
  52. digitalhub/entities/artifact/_base/status.py +4 -0
  53. digitalhub/entities/artifact/artifact/__init__.py +3 -0
  54. digitalhub/entities/artifact/artifact/builder.py +4 -0
  55. digitalhub/entities/artifact/artifact/entity.py +4 -0
  56. digitalhub/entities/artifact/artifact/spec.py +4 -0
  57. digitalhub/entities/artifact/artifact/status.py +4 -0
  58. digitalhub/entities/artifact/crud.py +4 -0
  59. digitalhub/entities/artifact/utils.py +4 -0
  60. digitalhub/entities/builders.py +4 -0
  61. digitalhub/entities/dataitem/__init__.py +3 -0
  62. digitalhub/entities/dataitem/_base/__init__.py +3 -0
  63. digitalhub/entities/dataitem/_base/builder.py +4 -0
  64. digitalhub/entities/dataitem/_base/entity.py +4 -0
  65. digitalhub/entities/dataitem/_base/spec.py +4 -0
  66. digitalhub/entities/dataitem/_base/status.py +4 -0
  67. digitalhub/entities/dataitem/crud.py +4 -0
  68. digitalhub/entities/dataitem/dataitem/__init__.py +3 -0
  69. digitalhub/entities/dataitem/dataitem/builder.py +4 -0
  70. digitalhub/entities/dataitem/dataitem/entity.py +4 -0
  71. digitalhub/entities/dataitem/dataitem/spec.py +4 -0
  72. digitalhub/entities/dataitem/dataitem/status.py +4 -0
  73. digitalhub/entities/dataitem/iceberg/__init__.py +3 -0
  74. digitalhub/entities/dataitem/iceberg/builder.py +4 -0
  75. digitalhub/entities/dataitem/iceberg/entity.py +4 -0
  76. digitalhub/entities/dataitem/iceberg/spec.py +4 -0
  77. digitalhub/entities/dataitem/iceberg/status.py +4 -0
  78. digitalhub/entities/dataitem/table/__init__.py +3 -0
  79. digitalhub/entities/dataitem/table/builder.py +4 -0
  80. digitalhub/entities/dataitem/table/entity.py +4 -0
  81. digitalhub/entities/dataitem/table/models.py +4 -0
  82. digitalhub/entities/dataitem/table/spec.py +4 -0
  83. digitalhub/entities/dataitem/table/status.py +4 -0
  84. digitalhub/entities/dataitem/table/utils.py +4 -0
  85. digitalhub/entities/dataitem/utils.py +4 -0
  86. digitalhub/entities/function/__init__.py +3 -0
  87. digitalhub/entities/function/_base/__init__.py +3 -0
  88. digitalhub/entities/function/_base/builder.py +4 -0
  89. digitalhub/entities/function/_base/entity.py +4 -0
  90. digitalhub/entities/function/_base/spec.py +4 -0
  91. digitalhub/entities/function/_base/status.py +4 -0
  92. digitalhub/entities/function/crud.py +4 -0
  93. digitalhub/entities/model/__init__.py +3 -0
  94. digitalhub/entities/model/_base/__init__.py +3 -0
  95. digitalhub/entities/model/_base/builder.py +4 -0
  96. digitalhub/entities/model/_base/entity.py +4 -0
  97. digitalhub/entities/model/_base/spec.py +4 -0
  98. digitalhub/entities/model/_base/status.py +4 -0
  99. digitalhub/entities/model/crud.py +4 -0
  100. digitalhub/entities/model/huggingface/__init__.py +3 -0
  101. digitalhub/entities/model/huggingface/builder.py +4 -0
  102. digitalhub/entities/model/huggingface/entity.py +4 -0
  103. digitalhub/entities/model/huggingface/spec.py +4 -0
  104. digitalhub/entities/model/huggingface/status.py +4 -0
  105. digitalhub/entities/model/mlflow/__init__.py +3 -0
  106. digitalhub/entities/model/mlflow/builder.py +4 -0
  107. digitalhub/entities/model/mlflow/entity.py +4 -0
  108. digitalhub/entities/model/mlflow/models.py +4 -0
  109. digitalhub/entities/model/mlflow/spec.py +4 -0
  110. digitalhub/entities/model/mlflow/status.py +4 -0
  111. digitalhub/entities/model/mlflow/utils.py +4 -0
  112. digitalhub/entities/model/model/__init__.py +3 -0
  113. digitalhub/entities/model/model/builder.py +4 -0
  114. digitalhub/entities/model/model/entity.py +4 -0
  115. digitalhub/entities/model/model/spec.py +4 -0
  116. digitalhub/entities/model/model/status.py +4 -0
  117. digitalhub/entities/model/sklearn/__init__.py +3 -0
  118. digitalhub/entities/model/sklearn/builder.py +4 -0
  119. digitalhub/entities/model/sklearn/entity.py +4 -0
  120. digitalhub/entities/model/sklearn/spec.py +4 -0
  121. digitalhub/entities/model/sklearn/status.py +4 -0
  122. digitalhub/entities/model/utils.py +4 -0
  123. digitalhub/entities/project/__init__.py +3 -0
  124. digitalhub/entities/project/_base/__init__.py +3 -0
  125. digitalhub/entities/project/_base/builder.py +4 -0
  126. digitalhub/entities/project/_base/entity.py +4 -0
  127. digitalhub/entities/project/_base/models.py +4 -0
  128. digitalhub/entities/project/_base/spec.py +4 -0
  129. digitalhub/entities/project/_base/status.py +4 -0
  130. digitalhub/entities/project/crud.py +4 -0
  131. digitalhub/entities/project/utils.py +4 -0
  132. digitalhub/entities/run/__init__.py +3 -0
  133. digitalhub/entities/run/_base/__init__.py +3 -0
  134. digitalhub/entities/run/_base/builder.py +4 -0
  135. digitalhub/entities/run/_base/entity.py +4 -0
  136. digitalhub/entities/run/_base/spec.py +4 -0
  137. digitalhub/entities/run/_base/status.py +4 -0
  138. digitalhub/entities/run/crud.py +4 -0
  139. digitalhub/entities/secret/__init__.py +3 -0
  140. digitalhub/entities/secret/_base/__init__.py +3 -0
  141. digitalhub/entities/secret/_base/builder.py +4 -0
  142. digitalhub/entities/secret/_base/entity.py +4 -0
  143. digitalhub/entities/secret/_base/spec.py +4 -0
  144. digitalhub/entities/secret/_base/status.py +4 -0
  145. digitalhub/entities/secret/crud.py +4 -0
  146. digitalhub/entities/task/__init__.py +3 -0
  147. digitalhub/entities/task/_base/__init__.py +3 -0
  148. digitalhub/entities/task/_base/builder.py +4 -0
  149. digitalhub/entities/task/_base/entity.py +4 -0
  150. digitalhub/entities/task/_base/models.py +4 -0
  151. digitalhub/entities/task/_base/spec.py +4 -0
  152. digitalhub/entities/task/_base/status.py +4 -0
  153. digitalhub/entities/task/_base/utils.py +4 -0
  154. digitalhub/entities/task/crud.py +4 -0
  155. digitalhub/entities/trigger/__init__.py +3 -0
  156. digitalhub/entities/trigger/_base/__init__.py +3 -0
  157. digitalhub/entities/trigger/_base/builder.py +4 -0
  158. digitalhub/entities/trigger/_base/entity.py +4 -0
  159. digitalhub/entities/trigger/_base/spec.py +4 -0
  160. digitalhub/entities/trigger/_base/status.py +4 -0
  161. digitalhub/entities/trigger/crud.py +4 -0
  162. digitalhub/entities/trigger/lifecycle/__init__.py +3 -0
  163. digitalhub/entities/trigger/lifecycle/builder.py +4 -0
  164. digitalhub/entities/trigger/lifecycle/entity.py +4 -0
  165. digitalhub/entities/trigger/lifecycle/spec.py +4 -0
  166. digitalhub/entities/trigger/lifecycle/status.py +4 -0
  167. digitalhub/entities/trigger/scheduler/__init__.py +3 -0
  168. digitalhub/entities/trigger/scheduler/builder.py +4 -0
  169. digitalhub/entities/trigger/scheduler/entity.py +4 -0
  170. digitalhub/entities/trigger/scheduler/spec.py +4 -0
  171. digitalhub/entities/trigger/scheduler/status.py +4 -0
  172. digitalhub/entities/workflow/__init__.py +3 -0
  173. digitalhub/entities/workflow/_base/__init__.py +3 -0
  174. digitalhub/entities/workflow/_base/builder.py +4 -0
  175. digitalhub/entities/workflow/_base/entity.py +4 -0
  176. digitalhub/entities/workflow/_base/spec.py +4 -0
  177. digitalhub/entities/workflow/_base/status.py +4 -0
  178. digitalhub/entities/workflow/crud.py +4 -0
  179. digitalhub/factory/__init__.py +3 -0
  180. digitalhub/factory/factory.py +4 -0
  181. digitalhub/factory/utils.py +4 -0
  182. digitalhub/runtimes/__init__.py +3 -0
  183. digitalhub/runtimes/_base.py +4 -0
  184. digitalhub/runtimes/builder.py +4 -0
  185. digitalhub/runtimes/enums.py +4 -0
  186. digitalhub/stores/__init__.py +3 -0
  187. digitalhub/stores/client/__init__.py +3 -0
  188. digitalhub/stores/client/_base/__init__.py +3 -0
  189. digitalhub/stores/client/_base/api_builder.py +4 -0
  190. digitalhub/stores/client/_base/client.py +4 -0
  191. digitalhub/stores/client/_base/key_builder.py +4 -0
  192. digitalhub/stores/client/_base/params_builder.py +4 -0
  193. digitalhub/stores/client/api.py +4 -0
  194. digitalhub/stores/client/builder.py +4 -0
  195. digitalhub/stores/client/dhcore/__init__.py +3 -0
  196. digitalhub/stores/client/dhcore/api_builder.py +4 -0
  197. digitalhub/stores/client/dhcore/client.py +60 -19
  198. digitalhub/stores/client/dhcore/configurator.py +282 -183
  199. digitalhub/stores/client/dhcore/enums.py +6 -0
  200. digitalhub/stores/client/dhcore/error_parser.py +4 -0
  201. digitalhub/stores/client/dhcore/key_builder.py +4 -0
  202. digitalhub/stores/client/dhcore/models.py +4 -0
  203. digitalhub/stores/client/dhcore/params_builder.py +4 -0
  204. digitalhub/stores/client/dhcore/utils.py +12 -8
  205. digitalhub/stores/client/local/__init__.py +3 -0
  206. digitalhub/stores/client/local/api_builder.py +4 -0
  207. digitalhub/stores/client/local/client.py +4 -0
  208. digitalhub/stores/client/local/enums.py +4 -0
  209. digitalhub/stores/client/local/key_builder.py +4 -0
  210. digitalhub/stores/client/local/params_builder.py +4 -0
  211. digitalhub/stores/credentials/__init__.py +3 -0
  212. digitalhub/stores/{configurator → credentials}/api.py +7 -3
  213. digitalhub/stores/credentials/configurator.py +37 -0
  214. digitalhub/stores/credentials/enums.py +54 -0
  215. digitalhub/stores/credentials/handler.py +148 -0
  216. digitalhub/stores/{configurator → credentials}/ini_module.py +5 -1
  217. digitalhub/stores/credentials/store.py +49 -0
  218. digitalhub/stores/data/__init__.py +3 -0
  219. digitalhub/stores/data/_base/__init__.py +3 -0
  220. digitalhub/stores/data/_base/store.py +23 -6
  221. digitalhub/stores/data/api.py +41 -1
  222. digitalhub/stores/data/builder.py +50 -53
  223. digitalhub/stores/data/enums.py +4 -0
  224. digitalhub/stores/data/local/__init__.py +3 -0
  225. digitalhub/stores/data/local/store.py +8 -7
  226. digitalhub/stores/data/remote/__init__.py +3 -0
  227. digitalhub/stores/data/remote/store.py +8 -7
  228. digitalhub/stores/data/s3/__init__.py +3 -0
  229. digitalhub/stores/data/s3/configurator.py +40 -92
  230. digitalhub/stores/data/s3/store.py +46 -57
  231. digitalhub/stores/data/s3/utils.py +5 -1
  232. digitalhub/stores/data/sql/__init__.py +3 -0
  233. digitalhub/stores/data/sql/configurator.py +39 -83
  234. digitalhub/stores/data/sql/store.py +19 -15
  235. digitalhub/stores/readers/__init__.py +3 -0
  236. digitalhub/stores/readers/data/__init__.py +3 -0
  237. digitalhub/stores/readers/data/_base/__init__.py +3 -0
  238. digitalhub/stores/readers/data/_base/builder.py +4 -0
  239. digitalhub/stores/readers/data/_base/reader.py +4 -0
  240. digitalhub/stores/readers/data/api.py +4 -0
  241. digitalhub/stores/readers/data/factory.py +4 -0
  242. digitalhub/stores/readers/data/pandas/__init__.py +3 -0
  243. digitalhub/stores/readers/data/pandas/builder.py +4 -0
  244. digitalhub/stores/readers/data/pandas/reader.py +4 -0
  245. digitalhub/stores/readers/query/__init__.py +3 -0
  246. digitalhub/utils/__init__.py +3 -0
  247. digitalhub/utils/enums.py +4 -0
  248. digitalhub/utils/exceptions.py +4 -0
  249. digitalhub/utils/file_utils.py +4 -0
  250. digitalhub/utils/generic_utils.py +4 -0
  251. digitalhub/utils/git_utils.py +4 -0
  252. digitalhub/utils/io_utils.py +4 -0
  253. digitalhub/utils/logger.py +4 -0
  254. digitalhub/utils/types.py +4 -0
  255. digitalhub/utils/uri_utils.py +4 -0
  256. digitalhub-0.13.0b0.dist-info/METADATA +301 -0
  257. digitalhub-0.13.0b0.dist-info/RECORD +260 -0
  258. digitalhub-0.13.0b0.dist-info/licenses/AUTHORS +5 -0
  259. digitalhub-0.13.0b0.dist-info/licenses/LICENSE +201 -0
  260. digitalhub/stores/configurator/__init__.py +0 -0
  261. digitalhub/stores/configurator/configurator.py +0 -198
  262. digitalhub/stores/configurator/credentials_store.py +0 -65
  263. digitalhub/stores/configurator/enums.py +0 -21
  264. digitalhub/stores/data/s3/enums.py +0 -16
  265. digitalhub/stores/data/sql/enums.py +0 -16
  266. digitalhub/stores/data/utils.py +0 -34
  267. digitalhub-0.11.0b7.dist-info/METADATA +0 -259
  268. digitalhub-0.11.0b7.dist-info/RECORD +0 -261
  269. digitalhub-0.11.0b7.dist-info/licenses/LICENSE.txt +0 -216
  270. {digitalhub-0.11.0b7.dist-info → digitalhub-0.13.0b0.dist-info}/WHEEL +0 -0
digitalhub/__init__.py CHANGED
@@ -1,3 +1,6 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
1
4
  from digitalhub.entities.artifact.crud import (
2
5
  delete_artifact,
3
6
  get_artifact,
@@ -101,7 +104,7 @@ except ImportError:
101
104
  # Register entities into registry
102
105
  from digitalhub.factory.utils import register_entities, register_runtimes_entities
103
106
  from digitalhub.stores.client.dhcore.utils import refresh_token, set_dhcore_env
104
- from digitalhub.stores.configurator.api import get_current_env, set_current_env
107
+ from digitalhub.stores.credentials.api import get_current_env, set_current_env
105
108
 
106
109
  register_entities()
107
110
  register_runtimes_entities()
digitalhub/context/api.py CHANGED
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.utils.generic_utils import dump_json
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from pydantic import ValidationError
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from pydantic import BaseModel, Field
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from uuid import uuid4
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from pydantic import BaseModel, ConfigDict, Field
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from pydantic import BaseModel, ConfigDict
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities._base._base.entity import Base
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,6 +1,11 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
8
+ from abc import abstractmethod
4
9
 
5
10
  from digitalhub.entities._base.versioned.entity import VersionedEntity
6
11
  from digitalhub.entities._commons.enums import EntityTypes
@@ -315,6 +320,12 @@ class ExecutableEntity(VersionedEntity):
315
320
  # Runs
316
321
  ##############################
317
322
 
323
+ @abstractmethod
324
+ def run(self, *args, **kwargs) -> Run:
325
+ """
326
+ Create and execute a new run.
327
+ """
328
+
318
329
  def get_run(
319
330
  self,
320
331
  identifier: str,
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -79,9 +83,8 @@ class MaterialEntity(VersionedEntity):
79
83
  List of file paths.
80
84
  """
81
85
  store = get_store(self.project, self.spec.path)
82
- paths = self.get_file_paths()
83
86
  dst = store._build_temp()
84
- return store.download(self.spec.path, dst=dst, src=paths)
87
+ return store.download(self.spec.path, dst=dst)
85
88
 
86
89
  def download(
87
90
  self,
@@ -90,10 +93,7 @@ class MaterialEntity(VersionedEntity):
90
93
  ) -> str:
91
94
  """
92
95
  This function downloads one or more file from storage on local
93
- machine.
94
- It looks inside the object's status for the file(s) path under
95
- files attribute. If it does not find it, it will try to download
96
- what it can from spec.path.
96
+ machine from spec.path.
97
97
  The files are downloaded into a destination folder. If the destination
98
98
  is not specified, it will set by default under the context path
99
99
  as '<ctx-root>/<entity_type>', e.g. './dataitem'.
@@ -111,31 +111,24 @@ class MaterialEntity(VersionedEntity):
111
111
  Returns
112
112
  -------
113
113
  str
114
- Downloaded path.
114
+ Download path.
115
115
 
116
116
  Examples
117
117
  --------
118
118
  Download a single file:
119
119
 
120
- >>> entity.status.files[0]
121
- {
122
- "path ": "data.csv",
123
- "name ": "data.csv",
124
- "content_type ": "text/csv;charset=utf-8 "
125
- }
126
120
  >>> path = entity.download()
127
121
  >>> print(path)
128
122
  dataitem/data.csv
129
123
  """
130
124
  store = get_store(self.project, self.spec.path)
131
- paths = self.get_file_paths()
132
125
 
133
126
  if destination is None:
134
127
  dst = self._context().root / self.ENTITY_TYPE
135
128
  else:
136
129
  dst = Path(destination)
137
130
 
138
- return store.download(self.spec.path, dst=dst, src=paths, overwrite=overwrite)
131
+ return store.download(self.spec.path, dst, overwrite=overwrite)
139
132
 
140
133
  def upload(self, source: SourcesOrListOfSources) -> None:
141
134
  """
@@ -189,6 +182,10 @@ class MaterialEntity(VersionedEntity):
189
182
  -------
190
183
  None
191
184
  """
185
+ available = 100 - len(self.status.files)
186
+ if len(files) > available:
187
+ files = files[:available]
188
+
192
189
  path_list = self.get_file_paths()
193
190
  for f in files:
194
191
  if f.get("path") not in path_list:
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities._base.entity.spec import Spec, SpecValidator
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities._base.entity.status import Status
@@ -1,8 +1,12 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from pathlib import Path
4
8
 
5
- from digitalhub.stores.data.utils import get_default_store
9
+ from digitalhub.stores.data.api import get_default_store
6
10
  from digitalhub.utils.file_utils import eval_zip_type
7
11
  from digitalhub.utils.uri_utils import has_local_scheme
8
12
 
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.utils.exceptions import EntityError
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from enum import Enum
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from typing import Any, Union
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from typing import Union
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities._commons.enums import EntityTypes
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -131,7 +135,7 @@ class ContextEntityOperationsProcessor:
131
135
  msg = None
132
136
  except Exception as e:
133
137
  uploaded = False
134
- msg = str(e)
138
+ msg = str(e.args)
135
139
 
136
140
  new_obj.status.message = msg
137
141
 
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities._base.material.spec import MaterialSpec, MaterialValidator
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities._base.material.status import MaterialStatus
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities._commons.enums import EntityKinds
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from typing import Optional
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities._base.material.status import MaterialStatus
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from typing import Any
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities.artifact.artifact.builder import ArtifactArtifactBuilder
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities._base.material.spec import MaterialSpec, MaterialValidator
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  from digitalhub.entities._base.material.status import MaterialStatus
@@ -1,3 +1,7 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
1
5
  from __future__ import annotations
2
6
 
3
7
  import typing
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0