digitalhub 0.8.0b2__tar.gz → 0.8.0b4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of digitalhub might be problematic. Click here for more details.

Files changed (276) hide show
  1. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/PKG-INFO +3 -2
  2. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/README.md +1 -1
  3. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/__init__.py +5 -4
  4. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/client/builder.py +3 -3
  5. digitalhub-0.8.0b2/digitalhub/client/objects/dhcore.py → digitalhub-0.8.0b4/digitalhub/client/dhcore/client.py +9 -49
  6. digitalhub-0.8.0b4/digitalhub/client/dhcore/env.py +21 -0
  7. digitalhub-0.8.0b4/digitalhub/client/dhcore/models.py +46 -0
  8. digitalhub-0.8.0b2/digitalhub/utils/env_utils.py → digitalhub-0.8.0b4/digitalhub/client/dhcore/utils.py +1 -13
  9. digitalhub-0.8.0b2/digitalhub/client/objects/local.py → digitalhub-0.8.0b4/digitalhub/client/local/client.py +1 -1
  10. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/context/builder.py +1 -1
  11. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/context/context.py +1 -1
  12. digitalhub-0.8.0b2/digitalhub/datastores/objects/base.py → digitalhub-0.8.0b4/digitalhub/datastores/_base/datastore.py +1 -1
  13. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/datastores/builder.py +6 -6
  14. digitalhub-0.8.0b2/digitalhub/datastores/objects/local.py → digitalhub-0.8.0b4/digitalhub/datastores/local/datastore.py +1 -1
  15. digitalhub-0.8.0b2/digitalhub/datastores/objects/remote.py → digitalhub-0.8.0b4/digitalhub/datastores/remote/datastore.py +1 -1
  16. digitalhub-0.8.0b2/digitalhub/datastores/objects/s3.py → digitalhub-0.8.0b4/digitalhub/datastores/s3/datastore.py +1 -1
  17. digitalhub-0.8.0b2/digitalhub/datastores/objects/sql.py → digitalhub-0.8.0b4/digitalhub/datastores/sql/datastore.py +1 -1
  18. digitalhub-0.8.0b2/digitalhub/entities/_base/base.py → digitalhub-0.8.0b4/digitalhub/entities/_base/_base/entity.py +1 -1
  19. digitalhub-0.8.0b2/digitalhub/entities/_base/entity/context.py → digitalhub-0.8.0b4/digitalhub/entities/_base/context/entity.py +4 -4
  20. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/_base/crud.py +3 -3
  21. digitalhub-0.8.0b2/digitalhub/entities/_base/entity/base.py → digitalhub-0.8.0b4/digitalhub/entities/_base/entity/entity.py +8 -34
  22. {digitalhub-0.8.0b2/digitalhub/entities/_base → digitalhub-0.8.0b4/digitalhub/entities/_base/entity}/metadata.py +2 -2
  23. digitalhub-0.8.0b2/digitalhub/entities/_base/spec/base.py → digitalhub-0.8.0b4/digitalhub/entities/_base/entity/spec.py +11 -11
  24. digitalhub-0.8.0b2/digitalhub/entities/_base/status/base.py → digitalhub-0.8.0b4/digitalhub/entities/_base/entity/status.py +2 -2
  25. digitalhub-0.8.0b2/digitalhub/entities/_base/entity/executable.py → digitalhub-0.8.0b4/digitalhub/entities/_base/executable/entity.py +55 -31
  26. digitalhub-0.8.0b2/digitalhub/entities/_base/entity/material.py → digitalhub-0.8.0b4/digitalhub/entities/_base/material/entity.py +4 -4
  27. digitalhub-0.8.0b2/digitalhub/entities/_base/spec/material.py → digitalhub-0.8.0b4/digitalhub/entities/_base/material/spec.py +3 -3
  28. digitalhub-0.8.0b2/digitalhub/entities/_base/status/material.py → digitalhub-0.8.0b4/digitalhub/entities/_base/material/status.py +1 -1
  29. digitalhub-0.8.0b4/digitalhub/entities/_base/unversioned/builder.py +66 -0
  30. digitalhub-0.8.0b4/digitalhub/entities/_base/unversioned/entity.py +49 -0
  31. digitalhub-0.8.0b4/digitalhub/entities/_base/versioned/builder.py +68 -0
  32. digitalhub-0.8.0b4/digitalhub/entities/_base/versioned/entity.py +53 -0
  33. digitalhub-0.8.0b4/digitalhub/entities/_builders/entity.py +153 -0
  34. digitalhub-0.8.0b4/digitalhub/entities/_builders/metadata.py +44 -0
  35. digitalhub-0.8.0b4/digitalhub/entities/_builders/spec.py +33 -0
  36. digitalhub-0.8.0b4/digitalhub/entities/_builders/status.py +52 -0
  37. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/_builders/uuid.py +4 -11
  38. digitalhub-0.8.0b4/digitalhub/entities/artifact/_base/builder.py +86 -0
  39. digitalhub-0.8.0b2/digitalhub/entities/artifact/entity/_base.py → digitalhub-0.8.0b4/digitalhub/entities/artifact/_base/entity.py +5 -5
  40. digitalhub-0.8.0b4/digitalhub/entities/artifact/_base/spec.py +15 -0
  41. digitalhub-0.8.0b4/digitalhub/entities/artifact/_base/status.py +9 -0
  42. digitalhub-0.8.0b4/digitalhub/entities/artifact/artifact/builder.py +18 -0
  43. digitalhub-0.8.0b4/digitalhub/entities/artifact/artifact/entity.py +32 -0
  44. {digitalhub-0.8.0b2/digitalhub/entities → digitalhub-0.8.0b4/digitalhub/entities/artifact}/artifact/spec.py +4 -16
  45. {digitalhub-0.8.0b2/digitalhub/entities → digitalhub-0.8.0b4/digitalhub/entities/artifact}/artifact/status.py +1 -1
  46. digitalhub-0.8.0b4/digitalhub/entities/artifact/builder.py +51 -0
  47. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/artifact/crud.py +4 -4
  48. digitalhub-0.8.0b4/digitalhub/entities/builders.py +63 -0
  49. digitalhub-0.8.0b4/digitalhub/entities/dataitem/_base/builder.py +86 -0
  50. digitalhub-0.8.0b2/digitalhub/entities/dataitem/entity/_base.py → digitalhub-0.8.0b4/digitalhub/entities/dataitem/_base/entity.py +5 -5
  51. digitalhub-0.8.0b4/digitalhub/entities/dataitem/_base/spec.py +15 -0
  52. digitalhub-0.8.0b4/digitalhub/entities/dataitem/_base/status.py +20 -0
  53. digitalhub-0.8.0b4/digitalhub/entities/dataitem/builder.py +51 -0
  54. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/dataitem/crud.py +8 -5
  55. digitalhub-0.8.0b4/digitalhub/entities/dataitem/dataitem/builder.py +18 -0
  56. digitalhub-0.8.0b4/digitalhub/entities/dataitem/dataitem/entity.py +32 -0
  57. digitalhub-0.8.0b4/digitalhub/entities/dataitem/dataitem/spec.py +15 -0
  58. digitalhub-0.8.0b4/digitalhub/entities/dataitem/dataitem/status.py +9 -0
  59. digitalhub-0.8.0b4/digitalhub/entities/dataitem/iceberg/builder.py +18 -0
  60. digitalhub-0.8.0b4/digitalhub/entities/dataitem/iceberg/entity.py +32 -0
  61. digitalhub-0.8.0b4/digitalhub/entities/dataitem/iceberg/spec.py +15 -0
  62. digitalhub-0.8.0b4/digitalhub/entities/dataitem/iceberg/status.py +9 -0
  63. digitalhub-0.8.0b4/digitalhub/entities/dataitem/table/builder.py +18 -0
  64. digitalhub-0.8.0b2/digitalhub/entities/dataitem/entity/table.py → digitalhub-0.8.0b4/digitalhub/entities/dataitem/table/entity.py +24 -3
  65. digitalhub-0.8.0b4/digitalhub/entities/dataitem/table/spec.py +25 -0
  66. digitalhub-0.8.0b4/digitalhub/entities/dataitem/table/status.py +9 -0
  67. digitalhub-0.8.0b4/digitalhub/entities/function/_base/__init__.py +0 -0
  68. digitalhub-0.8.0b4/digitalhub/entities/function/_base/builder.py +78 -0
  69. {digitalhub-0.8.0b2/digitalhub/entities/function → digitalhub-0.8.0b4/digitalhub/entities/function/_base}/entity.py +8 -8
  70. {digitalhub-0.8.0b2/digitalhub/entities/function → digitalhub-0.8.0b4/digitalhub/entities/function/_base}/models.py +1 -1
  71. digitalhub-0.8.0b4/digitalhub/entities/function/_base/spec.py +15 -0
  72. digitalhub-0.8.0b4/digitalhub/entities/function/_base/status.py +9 -0
  73. digitalhub-0.8.0b4/digitalhub/entities/function/builder.py +51 -0
  74. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/function/crud.py +3 -3
  75. digitalhub-0.8.0b4/digitalhub/entities/model/__init__.py +0 -0
  76. digitalhub-0.8.0b4/digitalhub/entities/model/_base/__init__.py +0 -0
  77. digitalhub-0.8.0b4/digitalhub/entities/model/_base/builder.py +86 -0
  78. digitalhub-0.8.0b2/digitalhub/entities/model/entity/_base.py → digitalhub-0.8.0b4/digitalhub/entities/model/_base/entity.py +5 -5
  79. digitalhub-0.8.0b4/digitalhub/entities/model/_base/spec.py +49 -0
  80. digitalhub-0.8.0b4/digitalhub/entities/model/_base/status.py +9 -0
  81. digitalhub-0.8.0b4/digitalhub/entities/model/builder.py +51 -0
  82. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/model/crud.py +4 -4
  83. digitalhub-0.8.0b4/digitalhub/entities/model/huggingface/__init__.py +0 -0
  84. digitalhub-0.8.0b4/digitalhub/entities/model/huggingface/builder.py +18 -0
  85. digitalhub-0.8.0b4/digitalhub/entities/model/huggingface/entity.py +32 -0
  86. digitalhub-0.8.0b4/digitalhub/entities/model/huggingface/spec.py +36 -0
  87. digitalhub-0.8.0b4/digitalhub/entities/model/huggingface/status.py +9 -0
  88. digitalhub-0.8.0b4/digitalhub/entities/model/mlflow/__init__.py +0 -0
  89. digitalhub-0.8.0b4/digitalhub/entities/model/mlflow/builder.py +18 -0
  90. digitalhub-0.8.0b4/digitalhub/entities/model/mlflow/entity.py +32 -0
  91. digitalhub-0.8.0b4/digitalhub/entities/model/mlflow/spec.py +44 -0
  92. digitalhub-0.8.0b4/digitalhub/entities/model/mlflow/status.py +9 -0
  93. digitalhub-0.8.0b2/digitalhub/entities/model/entity/mlflow.py → digitalhub-0.8.0b4/digitalhub/entities/model/mlflow/utils.py +1 -10
  94. digitalhub-0.8.0b4/digitalhub/entities/model/model/__init__.py +0 -0
  95. digitalhub-0.8.0b4/digitalhub/entities/model/model/builder.py +18 -0
  96. digitalhub-0.8.0b4/digitalhub/entities/model/model/entity.py +32 -0
  97. digitalhub-0.8.0b4/digitalhub/entities/model/model/spec.py +15 -0
  98. digitalhub-0.8.0b4/digitalhub/entities/model/model/status.py +9 -0
  99. digitalhub-0.8.0b4/digitalhub/entities/model/sklearn/__init__.py +0 -0
  100. digitalhub-0.8.0b4/digitalhub/entities/model/sklearn/builder.py +18 -0
  101. digitalhub-0.8.0b4/digitalhub/entities/model/sklearn/entity.py +32 -0
  102. digitalhub-0.8.0b4/digitalhub/entities/model/sklearn/spec.py +15 -0
  103. digitalhub-0.8.0b4/digitalhub/entities/model/sklearn/status.py +9 -0
  104. digitalhub-0.8.0b4/digitalhub/entities/project/__init__.py +0 -0
  105. digitalhub-0.8.0b4/digitalhub/entities/project/_base/__init__.py +0 -0
  106. digitalhub-0.8.0b4/digitalhub/entities/project/_base/builder.py +128 -0
  107. {digitalhub-0.8.0b2/digitalhub/entities/project → digitalhub-0.8.0b4/digitalhub/entities/project/_base}/entity.py +18 -60
  108. {digitalhub-0.8.0b2/digitalhub/entities/project → digitalhub-0.8.0b4/digitalhub/entities/project/_base}/spec.py +4 -4
  109. digitalhub-0.8.0b4/digitalhub/entities/project/_base/status.py +9 -0
  110. digitalhub-0.8.0b4/digitalhub/entities/project/builder.py +51 -0
  111. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/project/crud.py +2 -2
  112. digitalhub-0.8.0b4/digitalhub/entities/run/__init__.py +0 -0
  113. digitalhub-0.8.0b4/digitalhub/entities/run/_base/__init__.py +0 -0
  114. digitalhub-0.8.0b4/digitalhub/entities/run/_base/builder.py +73 -0
  115. {digitalhub-0.8.0b2/digitalhub/entities/run → digitalhub-0.8.0b4/digitalhub/entities/run/_base}/entity.py +12 -155
  116. {digitalhub-0.8.0b2/digitalhub/entities/run → digitalhub-0.8.0b4/digitalhub/entities/run/_base}/spec.py +8 -8
  117. {digitalhub-0.8.0b2/digitalhub/entities/run → digitalhub-0.8.0b4/digitalhub/entities/run/_base}/status.py +4 -4
  118. digitalhub-0.8.0b4/digitalhub/entities/run/builder.py +51 -0
  119. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/run/crud.py +3 -3
  120. digitalhub-0.8.0b4/digitalhub/entities/secret/__init__.py +0 -0
  121. digitalhub-0.8.0b4/digitalhub/entities/secret/_base/__init__.py +0 -0
  122. digitalhub-0.8.0b4/digitalhub/entities/secret/_base/builder.py +81 -0
  123. {digitalhub-0.8.0b2/digitalhub/entities/secret → digitalhub-0.8.0b4/digitalhub/entities/secret/_base}/entity.py +7 -6
  124. {digitalhub-0.8.0b2/digitalhub/entities/secret → digitalhub-0.8.0b4/digitalhub/entities/secret/_base}/spec.py +4 -4
  125. digitalhub-0.8.0b4/digitalhub/entities/secret/_base/status.py +9 -0
  126. digitalhub-0.8.0b4/digitalhub/entities/secret/builder.py +51 -0
  127. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/secret/crud.py +12 -4
  128. digitalhub-0.8.0b4/digitalhub/entities/task/__init__.py +0 -0
  129. digitalhub-0.8.0b4/digitalhub/entities/task/_base/__init__.py +0 -0
  130. digitalhub-0.8.0b4/digitalhub/entities/task/_base/builder.py +76 -0
  131. {digitalhub-0.8.0b2/digitalhub/entities/task → digitalhub-0.8.0b4/digitalhub/entities/task/_base}/entity.py +6 -6
  132. {digitalhub-0.8.0b2/digitalhub/entities/task → digitalhub-0.8.0b4/digitalhub/entities/task/_base}/models.py +9 -0
  133. {digitalhub-0.8.0b2/digitalhub/entities/task → digitalhub-0.8.0b4/digitalhub/entities/task/_base}/spec.py +9 -7
  134. digitalhub-0.8.0b4/digitalhub/entities/task/_base/status.py +9 -0
  135. digitalhub-0.8.0b4/digitalhub/entities/task/builder.py +51 -0
  136. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/task/crud.py +3 -3
  137. digitalhub-0.8.0b4/digitalhub/entities/utils/__init__.py +0 -0
  138. {digitalhub-0.8.0b2/digitalhub/entities → digitalhub-0.8.0b4/digitalhub/entities/utils}/utils.py +2 -2
  139. digitalhub-0.8.0b4/digitalhub/entities/workflow/__init__.py +0 -0
  140. digitalhub-0.8.0b4/digitalhub/entities/workflow/_base/__init__.py +0 -0
  141. digitalhub-0.8.0b4/digitalhub/entities/workflow/_base/builder.py +78 -0
  142. {digitalhub-0.8.0b2/digitalhub/entities/workflow → digitalhub-0.8.0b4/digitalhub/entities/workflow/_base}/entity.py +8 -8
  143. digitalhub-0.8.0b4/digitalhub/entities/workflow/_base/spec.py +15 -0
  144. digitalhub-0.8.0b4/digitalhub/entities/workflow/_base/status.py +9 -0
  145. digitalhub-0.8.0b4/digitalhub/entities/workflow/builder.py +51 -0
  146. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/workflow/crud.py +3 -3
  147. digitalhub-0.8.0b4/digitalhub/factory/__init__.py +0 -0
  148. digitalhub-0.8.0b4/digitalhub/factory/factory.py +204 -0
  149. digitalhub-0.8.0b4/digitalhub/factory/utils.py +90 -0
  150. digitalhub-0.8.0b4/digitalhub/readers/__init__.py +0 -0
  151. digitalhub-0.8.0b4/digitalhub/readers/_base/__init__.py +0 -0
  152. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/readers/builder.py +1 -1
  153. digitalhub-0.8.0b4/digitalhub/readers/pandas/__init__.py +0 -0
  154. digitalhub-0.8.0b2/digitalhub/readers/objects/pandas.py → digitalhub-0.8.0b4/digitalhub/readers/pandas/readers.py +1 -1
  155. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/readers/registry.py +1 -1
  156. digitalhub-0.8.0b4/digitalhub/runtimes/__init__.py +0 -0
  157. digitalhub-0.8.0b4/digitalhub/runtimes/builder.py +36 -0
  158. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/runtimes/kind_registry.py +14 -0
  159. digitalhub-0.8.0b4/digitalhub/runtimes/utils.py +28 -0
  160. digitalhub-0.8.0b4/digitalhub/stores/__init__.py +0 -0
  161. digitalhub-0.8.0b4/digitalhub/stores/_base/__init__.py +0 -0
  162. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/stores/builder.py +6 -6
  163. digitalhub-0.8.0b4/digitalhub/stores/local/__init__.py +0 -0
  164. digitalhub-0.8.0b2/digitalhub/stores/objects/local.py → digitalhub-0.8.0b4/digitalhub/stores/local/store.py +1 -1
  165. digitalhub-0.8.0b4/digitalhub/stores/remote/__init__.py +0 -0
  166. digitalhub-0.8.0b2/digitalhub/stores/objects/remote.py → digitalhub-0.8.0b4/digitalhub/stores/remote/store.py +1 -1
  167. digitalhub-0.8.0b4/digitalhub/stores/s3/__init__.py +0 -0
  168. digitalhub-0.8.0b2/digitalhub/stores/objects/s3.py → digitalhub-0.8.0b4/digitalhub/stores/s3/store.py +1 -1
  169. digitalhub-0.8.0b4/digitalhub/stores/sql/__init__.py +0 -0
  170. digitalhub-0.8.0b2/digitalhub/stores/objects/sql.py → digitalhub-0.8.0b4/digitalhub/stores/sql/store.py +1 -1
  171. digitalhub-0.8.0b4/digitalhub/utils/__init__.py +0 -0
  172. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/utils/exceptions.py +6 -0
  173. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/utils/generic_utils.py +18 -42
  174. digitalhub-0.8.0b4/digitalhub/utils/s3_utils.py +58 -0
  175. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub.egg-info/PKG-INFO +3 -2
  176. digitalhub-0.8.0b4/digitalhub.egg-info/SOURCES.txt +235 -0
  177. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub.egg-info/requires.txt +1 -0
  178. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/pyproject.toml +3 -2
  179. digitalhub-0.8.0b4/test/local/CRUD/test_artifacts.py +96 -0
  180. digitalhub-0.8.0b4/test/local/CRUD/test_dataitems.py +96 -0
  181. digitalhub-0.8.0b4/test/local/CRUD/test_models.py +95 -0
  182. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/test/test_crud_functions.py +1 -1
  183. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/test/test_crud_runs.py +1 -1
  184. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/test/test_crud_tasks.py +1 -1
  185. digitalhub-0.8.0b2/digitalhub/entities/_base/entity/unversioned.py +0 -87
  186. digitalhub-0.8.0b2/digitalhub/entities/_base/entity/versioned.py +0 -94
  187. digitalhub-0.8.0b2/digitalhub/entities/_builders/metadata.py +0 -60
  188. digitalhub-0.8.0b2/digitalhub/entities/_builders/spec.py +0 -43
  189. digitalhub-0.8.0b2/digitalhub/entities/_builders/status.py +0 -62
  190. digitalhub-0.8.0b2/digitalhub/entities/artifact/builder.py +0 -133
  191. digitalhub-0.8.0b2/digitalhub/entities/artifact/entity/artifact.py +0 -9
  192. digitalhub-0.8.0b2/digitalhub/entities/dataitem/builder.py +0 -144
  193. digitalhub-0.8.0b2/digitalhub/entities/dataitem/entity/dataitem.py +0 -9
  194. digitalhub-0.8.0b2/digitalhub/entities/dataitem/entity/iceberg.py +0 -7
  195. digitalhub-0.8.0b2/digitalhub/entities/dataitem/spec.py +0 -61
  196. digitalhub-0.8.0b2/digitalhub/entities/dataitem/status.py +0 -38
  197. digitalhub-0.8.0b2/digitalhub/entities/function/builder.py +0 -86
  198. digitalhub-0.8.0b2/digitalhub/entities/function/spec.py +0 -81
  199. digitalhub-0.8.0b2/digitalhub/entities/function/status.py +0 -9
  200. digitalhub-0.8.0b2/digitalhub/entities/model/builder.py +0 -152
  201. digitalhub-0.8.0b2/digitalhub/entities/model/entity/huggingface.py +0 -9
  202. digitalhub-0.8.0b2/digitalhub/entities/model/entity/model.py +0 -9
  203. digitalhub-0.8.0b2/digitalhub/entities/model/entity/sklearn.py +0 -9
  204. digitalhub-0.8.0b2/digitalhub/entities/model/spec.py +0 -146
  205. digitalhub-0.8.0b2/digitalhub/entities/model/status.py +0 -33
  206. digitalhub-0.8.0b2/digitalhub/entities/project/builder.py +0 -82
  207. digitalhub-0.8.0b2/digitalhub/entities/project/status.py +0 -9
  208. digitalhub-0.8.0b2/digitalhub/entities/registries.py +0 -48
  209. digitalhub-0.8.0b2/digitalhub/entities/run/builder.py +0 -77
  210. digitalhub-0.8.0b2/digitalhub/entities/secret/builder.py +0 -93
  211. digitalhub-0.8.0b2/digitalhub/entities/secret/status.py +0 -9
  212. digitalhub-0.8.0b2/digitalhub/entities/task/builder.py +0 -74
  213. digitalhub-0.8.0b2/digitalhub/entities/task/status.py +0 -9
  214. digitalhub-0.8.0b2/digitalhub/entities/workflow/builder.py +0 -91
  215. digitalhub-0.8.0b2/digitalhub/entities/workflow/spec.py +0 -15
  216. digitalhub-0.8.0b2/digitalhub/entities/workflow/status.py +0 -9
  217. digitalhub-0.8.0b2/digitalhub/registry/models.py +0 -87
  218. digitalhub-0.8.0b2/digitalhub/registry/registry.py +0 -74
  219. digitalhub-0.8.0b2/digitalhub/registry/utils.py +0 -150
  220. digitalhub-0.8.0b2/digitalhub/runtimes/builder.py +0 -53
  221. digitalhub-0.8.0b2/digitalhub.egg-info/SOURCES.txt +0 -164
  222. digitalhub-0.8.0b2/test/test_crud_artifacts.py +0 -96
  223. digitalhub-0.8.0b2/test/test_crud_dataitems.py +0 -96
  224. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/LICENSE.txt +0 -0
  225. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/client/__init__.py +0 -0
  226. {digitalhub-0.8.0b2/digitalhub/client/objects → digitalhub-0.8.0b4/digitalhub/client/_base}/__init__.py +0 -0
  227. /digitalhub-0.8.0b2/digitalhub/client/objects/base.py → /digitalhub-0.8.0b4/digitalhub/client/_base/client.py +0 -0
  228. {digitalhub-0.8.0b2/digitalhub/context → digitalhub-0.8.0b4/digitalhub/client/dhcore}/__init__.py +0 -0
  229. {digitalhub-0.8.0b2/digitalhub/datastores → digitalhub-0.8.0b4/digitalhub/client/local}/__init__.py +0 -0
  230. {digitalhub-0.8.0b2/digitalhub/datastores/objects → digitalhub-0.8.0b4/digitalhub/context}/__init__.py +0 -0
  231. {digitalhub-0.8.0b2/digitalhub/entities → digitalhub-0.8.0b4/digitalhub/datastores}/__init__.py +0 -0
  232. {digitalhub-0.8.0b2/digitalhub/entities → digitalhub-0.8.0b4/digitalhub/datastores}/_base/__init__.py +0 -0
  233. {digitalhub-0.8.0b2/digitalhub/entities/_base/entity → digitalhub-0.8.0b4/digitalhub/datastores/local}/__init__.py +0 -0
  234. {digitalhub-0.8.0b2/digitalhub/entities/_base/spec → digitalhub-0.8.0b4/digitalhub/datastores/remote}/__init__.py +0 -0
  235. {digitalhub-0.8.0b2/digitalhub/entities/_base/status → digitalhub-0.8.0b4/digitalhub/datastores/s3}/__init__.py +0 -0
  236. {digitalhub-0.8.0b2/digitalhub/entities/_builders → digitalhub-0.8.0b4/digitalhub/datastores/sql}/__init__.py +0 -0
  237. {digitalhub-0.8.0b2/digitalhub/entities/artifact → digitalhub-0.8.0b4/digitalhub/entities}/__init__.py +0 -0
  238. {digitalhub-0.8.0b2/digitalhub/entities/artifact/entity → digitalhub-0.8.0b4/digitalhub/entities/_base}/__init__.py +0 -0
  239. {digitalhub-0.8.0b2/digitalhub/entities/dataitem → digitalhub-0.8.0b4/digitalhub/entities/_base/_base}/__init__.py +0 -0
  240. {digitalhub-0.8.0b2/digitalhub/entities/dataitem/entity → digitalhub-0.8.0b4/digitalhub/entities/_base/context}/__init__.py +0 -0
  241. {digitalhub-0.8.0b2/digitalhub/entities/function → digitalhub-0.8.0b4/digitalhub/entities/_base/entity}/__init__.py +0 -0
  242. {digitalhub-0.8.0b2/digitalhub/entities/model → digitalhub-0.8.0b4/digitalhub/entities/_base/executable}/__init__.py +0 -0
  243. {digitalhub-0.8.0b2/digitalhub/entities/model/entity → digitalhub-0.8.0b4/digitalhub/entities/_base/material}/__init__.py +0 -0
  244. {digitalhub-0.8.0b2/digitalhub/entities/project → digitalhub-0.8.0b4/digitalhub/entities/_base/unversioned}/__init__.py +0 -0
  245. {digitalhub-0.8.0b2/digitalhub/entities/run → digitalhub-0.8.0b4/digitalhub/entities/_base/versioned}/__init__.py +0 -0
  246. {digitalhub-0.8.0b2/digitalhub/entities/secret → digitalhub-0.8.0b4/digitalhub/entities/_builders}/__init__.py +0 -0
  247. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/entities/_builders/name.py +0 -0
  248. {digitalhub-0.8.0b2/digitalhub/entities/task → digitalhub-0.8.0b4/digitalhub/entities/artifact}/__init__.py +0 -0
  249. {digitalhub-0.8.0b2/digitalhub/entities/workflow → digitalhub-0.8.0b4/digitalhub/entities/artifact/_base}/__init__.py +0 -0
  250. {digitalhub-0.8.0b2/digitalhub/readers → digitalhub-0.8.0b4/digitalhub/entities/artifact/artifact}/__init__.py +0 -0
  251. {digitalhub-0.8.0b2/digitalhub/readers/objects → digitalhub-0.8.0b4/digitalhub/entities/dataitem}/__init__.py +0 -0
  252. {digitalhub-0.8.0b2/digitalhub/registry → digitalhub-0.8.0b4/digitalhub/entities/dataitem/_base}/__init__.py +0 -0
  253. {digitalhub-0.8.0b2/digitalhub/runtimes → digitalhub-0.8.0b4/digitalhub/entities/dataitem/dataitem}/__init__.py +0 -0
  254. {digitalhub-0.8.0b2/digitalhub/stores → digitalhub-0.8.0b4/digitalhub/entities/dataitem/iceberg}/__init__.py +0 -0
  255. {digitalhub-0.8.0b2/digitalhub/stores/objects → digitalhub-0.8.0b4/digitalhub/entities/dataitem/table}/__init__.py +0 -0
  256. {digitalhub-0.8.0b2/digitalhub/entities/dataitem → digitalhub-0.8.0b4/digitalhub/entities/dataitem/table}/models.py +0 -0
  257. {digitalhub-0.8.0b2/digitalhub/utils → digitalhub-0.8.0b4/digitalhub/entities/function}/__init__.py +0 -0
  258. {digitalhub-0.8.0b2/digitalhub/entities/model → digitalhub-0.8.0b4/digitalhub/entities/model/mlflow}/models.py +0 -0
  259. {digitalhub-0.8.0b2/digitalhub/entities/_base → digitalhub-0.8.0b4/digitalhub/entities/utils}/api.py +0 -0
  260. {digitalhub-0.8.0b2/digitalhub/entities → digitalhub-0.8.0b4/digitalhub/entities/utils}/entity_types.py +0 -0
  261. {digitalhub-0.8.0b2/digitalhub/entities/_base → digitalhub-0.8.0b4/digitalhub/entities/utils}/state.py +0 -0
  262. /digitalhub-0.8.0b2/digitalhub/readers/objects/base.py → /digitalhub-0.8.0b4/digitalhub/readers/_base/readers.py +0 -0
  263. /digitalhub-0.8.0b2/digitalhub/runtimes/base.py → /digitalhub-0.8.0b4/digitalhub/runtimes/_base.py +0 -0
  264. /digitalhub-0.8.0b2/digitalhub/stores/objects/base.py → /digitalhub-0.8.0b4/digitalhub/stores/_base/store.py +0 -0
  265. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/utils/data_utils.py +0 -0
  266. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/utils/file_utils.py +0 -0
  267. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/utils/git_utils.py +0 -0
  268. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/utils/io_utils.py +0 -0
  269. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/utils/logger.py +0 -0
  270. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub/utils/uri_utils.py +0 -0
  271. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub.egg-info/dependency_links.txt +0 -0
  272. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/digitalhub.egg-info/top_level.txt +0 -0
  273. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/setup.cfg +0 -0
  274. {digitalhub-0.8.0b2/test → digitalhub-0.8.0b4/test/local/imports}/test_imports.py +0 -0
  275. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/test/testkfp.py +0 -0
  276. {digitalhub-0.8.0b2 → digitalhub-0.8.0b4}/test/testkfp_pipeline.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: digitalhub
3
- Version: 0.8.0b2
3
+ Version: 0.8.0b4
4
4
  Summary: Python SDK for Digitalhub
5
5
  Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
6
6
  License: Apache License
@@ -239,6 +239,7 @@ Requires-Dist: PyYAML
239
239
  Requires-Dist: python-dotenv
240
240
  Requires-Dist: GitPython>=3
241
241
  Requires-Dist: psycopg2-binary
242
+ Requires-Dist: python-slugify
242
243
  Provides-Extra: full
243
244
  Requires-Dist: pandas<2.2,>=1.2; extra == "full"
244
245
  Requires-Dist: mlflow; extra == "full"
@@ -262,4 +263,4 @@ Requires-Dist: numpydoc>=1.6; extra == "docs"
262
263
  The Digitalhub SDK library is used to manage entities and executions in Digitalhub from Python.
263
264
  It comes with a suite of tools to help you manage your projects and executions. It exposes CRUD methods to create, read, update and delete entities, and objects methods to excute functions or workflows, collect or store execution results and data.
264
265
 
265
- A more detailed description of the library can be found in the [official documentation](https://scc-digitalhub.github.io/docs/) of Digitalhub.
266
+ A more detailed description of the library can be found in the [official documentation](https://scc-digitalhub.github.io/sdk-docs/).
@@ -3,4 +3,4 @@
3
3
  The Digitalhub SDK library is used to manage entities and executions in Digitalhub from Python.
4
4
  It comes with a suite of tools to help you manage your projects and executions. It exposes CRUD methods to create, read, update and delete entities, and objects methods to excute functions or workflows, collect or store execution results and data.
5
5
 
6
- A more detailed description of the library can be found in the [official documentation](https://scc-digitalhub.github.io/docs/) of Digitalhub.
6
+ A more detailed description of the library can be found in the [official documentation](https://scc-digitalhub.github.io/sdk-docs/).
@@ -68,14 +68,15 @@ from digitalhub.entities.workflow.crud import (
68
68
  )
69
69
 
70
70
  try:
71
- from digitalhub.entities.model.entity.mlflow import from_mlflow_run
71
+ from digitalhub.entities.model.mlflow.utils import from_mlflow_run
72
72
  except ImportError:
73
73
  ...
74
74
 
75
- from digitalhub.registry.utils import register_entities, register_runtimes_entities
76
- from digitalhub.stores.builder import set_store
77
- from digitalhub.utils.env_utils import refresh_token, set_dhcore_env
75
+ from digitalhub.client.dhcore.utils import refresh_token, set_dhcore_env
78
76
 
79
77
  # Register entities into registry
78
+ from digitalhub.factory.utils import register_entities, register_runtimes_entities
79
+ from digitalhub.stores.builder import set_store
80
+
80
81
  register_entities()
81
82
  register_runtimes_entities()
@@ -2,11 +2,11 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.client.objects.dhcore import ClientDHCore
6
- from digitalhub.client.objects.local import ClientLocal
5
+ from digitalhub.client.dhcore.client import ClientDHCore
6
+ from digitalhub.client.local.client import ClientLocal
7
7
 
8
8
  if typing.TYPE_CHECKING:
9
- from digitalhub.client.objects.base import Client
9
+ from digitalhub.client._base.client import Client
10
10
 
11
11
 
12
12
  class ClientBuilder:
@@ -5,11 +5,12 @@ import typing
5
5
  from urllib.parse import urlparse
6
6
 
7
7
  from dotenv import load_dotenv, set_key
8
- from pydantic import BaseModel
9
8
  from requests import request
10
9
  from requests.exceptions import HTTPError, JSONDecodeError, RequestException
11
10
 
12
- from digitalhub.client.objects.base import Client
11
+ from digitalhub.client._base.client import Client
12
+ from digitalhub.client.dhcore.env import ENV_FILE, FALLBACK_USER, MAX_API_LEVEL, MIN_API_LEVEL
13
+ from digitalhub.client.dhcore.models import BasicAuth, OAuth2TokenAuth
13
14
  from digitalhub.utils.exceptions import (
14
15
  BackendError,
15
16
  BadRequestError,
@@ -24,52 +25,6 @@ if typing.TYPE_CHECKING:
24
25
  from requests import Response
25
26
 
26
27
 
27
- # Use env user as fallback in the API calls
28
- try:
29
- FALLBACK_USER = os.getlogin()
30
- except Exception:
31
- FALLBACK_USER = None
32
-
33
- # File where to write DHCORE_ACCESS_TOKEN and DHCORE_REFRESH_TOKEN
34
- # It's used because we inject the variables in jupyter env,
35
- # but refresh token is only available once. Is it's used, we cannot
36
- # overwrite it with coder, so we need to store the new one in a file,
37
- # preserved for jupyter restart
38
- ENV_FILE = ".dhcore"
39
-
40
-
41
- # API levels that are supported
42
- MAX_API_LEVEL = 20
43
- MIN_API_LEVEL = 8
44
-
45
-
46
- class AuthConfig(BaseModel):
47
- """Client configuration model."""
48
-
49
- user: str = FALLBACK_USER
50
- """Username."""
51
-
52
-
53
- class OAuth2TokenAuth(AuthConfig):
54
- """OAuth2 token authentication model."""
55
-
56
- access_token: str
57
- """OAuth2 token."""
58
-
59
- refresh_token: str = None
60
- """OAuth2 refresh token."""
61
-
62
- client_id: str = None
63
- """OAuth2 client id."""
64
-
65
-
66
- class BasicAuth(AuthConfig):
67
- """Basic authentication model."""
68
-
69
- password: str
70
- """Basic authentication password."""
71
-
72
-
73
28
  class ClientDHCore(Client):
74
29
  """
75
30
  DHCore client.
@@ -624,11 +579,16 @@ class ClientDHCore(Client):
624
579
  dict
625
580
  Response object.
626
581
  """
582
+ # Get refersh token from .core file to avoid concurrency
583
+ # in a shared workspace
584
+ self._load_env()
585
+ refresh_token = os.getenv("DHCORE_REFRESH_TOKEN")
586
+
627
587
  # Send request to get new access token
628
588
  payload = {
629
589
  "grant_type": "refresh_token",
630
590
  "client_id": self._client_id,
631
- "refresh_token": self._refresh_token,
591
+ "refresh_token": refresh_token,
632
592
  }
633
593
  headers = {"Content-Type": "application/x-www-form-urlencoded"}
634
594
  r = request("POST", url, data=payload, headers=headers, timeout=60)
@@ -0,0 +1,21 @@
1
+ from __future__ import annotations
2
+
3
+ import os
4
+
5
+ # Use env user as fallback in the API calls
6
+ try:
7
+ FALLBACK_USER = os.getlogin()
8
+ except Exception:
9
+ FALLBACK_USER = None
10
+
11
+ # File where to write DHCORE_ACCESS_TOKEN and DHCORE_REFRESH_TOKEN
12
+ # It's used because we inject the variables in jupyter env,
13
+ # but refresh token is only available once. Is it's used, we cannot
14
+ # overwrite it with coder, so we need to store the new one in a file,
15
+ # preserved for jupyter restart
16
+ ENV_FILE = ".dhcore"
17
+
18
+
19
+ # API levels that are supported
20
+ MAX_API_LEVEL = 20
21
+ MIN_API_LEVEL = 8
@@ -0,0 +1,46 @@
1
+ from __future__ import annotations
2
+
3
+ from pydantic import BaseModel
4
+
5
+ from digitalhub.client.dhcore.env import FALLBACK_USER
6
+
7
+
8
+ class AuthConfig(BaseModel):
9
+ """Client configuration model."""
10
+
11
+ user: str = FALLBACK_USER
12
+ """Username."""
13
+
14
+
15
+ class BasicAuth(AuthConfig):
16
+ """Basic authentication model."""
17
+
18
+ password: str
19
+ """Basic authentication password."""
20
+
21
+
22
+ class ClientParams(AuthConfig):
23
+ """Client id authentication model."""
24
+
25
+ client_id: str = None
26
+ """OAuth2 client id."""
27
+
28
+ client_scecret: str = None
29
+ """OAuth2 client secret."""
30
+
31
+
32
+ class OAuth2TokenAuth(ClientParams):
33
+ """OAuth2 token authentication model."""
34
+
35
+ access_token: str
36
+ """OAuth2 token."""
37
+
38
+ refresh_token: str = None
39
+ """OAuth2 refresh token."""
40
+
41
+
42
+ class TokenExchangeAuth(ClientParams):
43
+ """Token exchange authentication model."""
44
+
45
+ exchange_token: str
46
+ """Exchange token."""
@@ -6,7 +6,7 @@ import typing
6
6
  from digitalhub.client.builder import check_client_exists, get_client
7
7
 
8
8
  if typing.TYPE_CHECKING:
9
- from digitalhub.client.objects.dhcore import ClientDHCore
9
+ from digitalhub.client.dhcore.client import ClientDHCore
10
10
 
11
11
 
12
12
  def set_dhcore_env(
@@ -109,15 +109,3 @@ def refresh_token() -> None:
109
109
  """
110
110
  client: ClientDHCore = get_client(local=False)
111
111
  client._get_new_access_token()
112
-
113
-
114
- def get_s3_bucket() -> str | None:
115
- """
116
- Function to get S3 bucket name.
117
-
118
- Returns
119
- -------
120
- str
121
- The S3 bucket name.
122
- """
123
- return os.getenv("S3_BUCKET_NAME", "datalake")
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  from copy import deepcopy
4
4
  from datetime import datetime, timezone
5
5
 
6
- from digitalhub.client.objects.base import Client
6
+ from digitalhub.client._base.client import Client
7
7
  from digitalhub.utils.exceptions import BackendError
8
8
 
9
9
 
@@ -5,7 +5,7 @@ import typing
5
5
  from digitalhub.context.context import Context
6
6
 
7
7
  if typing.TYPE_CHECKING:
8
- from digitalhub.entities.project.entity._base import Project
8
+ from digitalhub.entities.project._base.entity import Project
9
9
 
10
10
 
11
11
  class ContextBuilder:
@@ -4,7 +4,7 @@ import typing
4
4
  from pathlib import Path
5
5
 
6
6
  if typing.TYPE_CHECKING:
7
- from digitalhub.entities.project.entity._base import Project
7
+ from digitalhub.entities.project._base.entity import Project
8
8
 
9
9
 
10
10
  class Context:
@@ -7,7 +7,7 @@ from typing import Any
7
7
  from digitalhub.readers.builder import get_reader_by_engine
8
8
 
9
9
  if typing.TYPE_CHECKING:
10
- from digitalhub.stores.objects.base import Store
10
+ from digitalhub.stores._base.store import Store
11
11
 
12
12
 
13
13
  class Datastore(metaclass=ABCMeta):
@@ -2,16 +2,16 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.datastores.objects.local import LocalDatastore
6
- from digitalhub.datastores.objects.remote import RemoteDatastore
7
- from digitalhub.datastores.objects.s3 import S3Datastore
8
- from digitalhub.datastores.objects.sql import SqlDatastore
5
+ from digitalhub.datastores.local.datastore import LocalDatastore
6
+ from digitalhub.datastores.remote.datastore import RemoteDatastore
7
+ from digitalhub.datastores.s3.datastore import S3Datastore
8
+ from digitalhub.datastores.sql.datastore import SqlDatastore
9
9
  from digitalhub.stores.builder import get_default_store, get_store
10
10
  from digitalhub.utils.uri_utils import map_uri_scheme
11
11
 
12
12
  if typing.TYPE_CHECKING:
13
- from digitalhub.datastores.objects.base import Datastore
14
- from digitalhub.stores.objects.base import Store
13
+ from digitalhub.datastores._base.datastore import Datastore
14
+ from digitalhub.stores._base.store import Store
15
15
 
16
16
 
17
17
  REGISTRY_DATASTORES = {"local": LocalDatastore, "remote": RemoteDatastore, "s3": S3Datastore, "sql": SqlDatastore}
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  from pathlib import Path
4
4
  from typing import Any
5
5
 
6
- from digitalhub.datastores.objects.base import Datastore
6
+ from digitalhub.datastores._base.datastore import Datastore
7
7
  from digitalhub.readers.builder import get_reader_by_object
8
8
 
9
9
 
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
- from digitalhub.datastores.objects.base import Datastore
5
+ from digitalhub.datastores._base.datastore import Datastore
6
6
 
7
7
 
8
8
  class RemoteDatastore(Datastore):
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  from io import BytesIO
4
4
  from typing import Any
5
5
 
6
- from digitalhub.datastores.objects.base import Datastore
6
+ from digitalhub.datastores._base.datastore import Datastore
7
7
  from digitalhub.readers.builder import get_reader_by_object
8
8
 
9
9
 
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
- from digitalhub.datastores.objects.base import Datastore
5
+ from digitalhub.datastores._base.datastore import Datastore
6
6
  from digitalhub.readers.builder import get_reader_by_object
7
7
 
8
8
 
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  from digitalhub.utils.generic_utils import dict_to_json
4
4
 
5
5
 
6
- class ModelObj:
6
+ class Base:
7
7
  """
8
8
  Base class for all entities.
9
9
  It implements to_dict abd to_json method to represent
@@ -4,14 +4,14 @@ import typing
4
4
 
5
5
  from digitalhub.context.builder import get_context
6
6
  from digitalhub.entities._base.crud import create_entity_api_ctx, read_entity_api_ctx, update_entity_api_ctx
7
- from digitalhub.entities._base.entity.base import Entity
7
+ from digitalhub.entities._base.entity.entity import Entity
8
8
  from digitalhub.utils.generic_utils import get_timestamp
9
9
 
10
10
  if typing.TYPE_CHECKING:
11
11
  from digitalhub.context.context import Context
12
- from digitalhub.entities._base.metadata import Metadata
13
- from digitalhub.entities._base.spec.base import Spec
14
- from digitalhub.entities._base.status.base import Status
12
+ from digitalhub.entities._base.entity.metadata import Metadata
13
+ from digitalhub.entities._base.entity.spec import Spec
14
+ from digitalhub.entities._base.entity.status import Status
15
15
 
16
16
 
17
17
  class ContextEntity(Entity):
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  import typing
4
4
 
5
5
  from digitalhub.context.builder import get_context
6
- from digitalhub.entities._base.api import (
6
+ from digitalhub.entities.utils.api import (
7
7
  api_base_create,
8
8
  api_base_delete,
9
9
  api_base_list,
@@ -20,10 +20,10 @@ from digitalhub.entities._base.api import (
20
20
  api_ctx_stop,
21
21
  api_ctx_update,
22
22
  )
23
- from digitalhub.entities.utils import parse_entity_key
23
+ from digitalhub.entities.utils.utils import parse_entity_key
24
24
 
25
25
  if typing.TYPE_CHECKING:
26
- from digitalhub.client.objects.base import Client
26
+ from digitalhub.client._base.client import Client
27
27
 
28
28
 
29
29
  def create_entity_api_base(
@@ -3,19 +3,20 @@ from __future__ import annotations
3
3
  import typing
4
4
  from abc import ABCMeta, abstractmethod
5
5
 
6
- from digitalhub.entities._base.base import ModelObj
6
+ from digitalhub.entities._base._base.entity import Base
7
+ from digitalhub.factory.factory import factory
7
8
 
8
9
  if typing.TYPE_CHECKING:
9
- from digitalhub.entities._base.metadata import Metadata
10
- from digitalhub.entities._base.spec.base import Spec
11
- from digitalhub.entities._base.status.base import Status
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
12
13
 
13
14
 
14
- class Entity(ModelObj, metaclass=ABCMeta):
15
+ class Entity(Base, metaclass=ABCMeta):
15
16
  """
16
17
  Abstract class for entities.
17
18
 
18
- An entity is a collection of metadata, specification and status
19
+ An entity is a collection of metadata, specifications.and status
19
20
  representing a variety of objects handled by Digitalhub.
20
21
  """
21
22
 
@@ -68,7 +69,7 @@ class Entity(ModelObj, metaclass=ABCMeta):
68
69
  -------
69
70
  None
70
71
  """
71
- new_obj = self.from_dict(obj)
72
+ new_obj = factory.build_entity_from_dict(self.kind, obj)
72
73
  self.metadata = new_obj.metadata
73
74
  self.spec = new_obj.spec
74
75
  self.status = new_obj.status
@@ -93,33 +94,6 @@ class Entity(ModelObj, metaclass=ABCMeta):
93
94
  """
94
95
  return {k: v for k, v in super().to_dict().items() if k in self._obj_attr}
95
96
 
96
- @classmethod
97
- def from_dict(cls, obj: dict, validate: bool = True) -> Entity:
98
- """
99
- Create a new object from dictionary.
100
-
101
- Parameters
102
- ----------
103
- obj : dict
104
- Dictionary to create object from.
105
- validate : bool
106
- Flag to indicate if arguments validation against a pydantic schema must be ignored.
107
-
108
- Returns
109
- -------
110
- Self
111
- Self instance.
112
- """
113
- parsed_dict = cls._parse_dict(obj, validate=validate)
114
- return cls(**parsed_dict)
115
-
116
- @staticmethod
117
- @abstractmethod
118
- def _parse_dict(obj: dict, validate: bool = True) -> dict:
119
- """
120
- Abstract method to parse dictionary.
121
- """
122
-
123
97
  def __repr__(self) -> str:
124
98
  """
125
99
  Return string representation of the entity object.
@@ -1,9 +1,9 @@
1
1
  from __future__ import annotations
2
2
 
3
- from digitalhub.entities._base.base import ModelObj
3
+ from digitalhub.entities._base._base.entity import Base
4
4
 
5
5
 
6
- class Metadata(ModelObj):
6
+ class Metadata(Base):
7
7
  """
8
8
  A class representing the metadata of an entity.
9
9
  Metadata is a collection of information about an entity thought
@@ -2,46 +2,46 @@ from __future__ import annotations
2
2
 
3
3
  from pydantic import BaseModel
4
4
 
5
- from digitalhub.entities._base.base import ModelObj
5
+ from digitalhub.entities._base._base.entity import Base
6
6
 
7
7
 
8
- class Spec(ModelObj):
8
+ class Spec(Base):
9
9
  """
10
- A class representing the specification of an entity.
11
- Specification is a collection of information about an entity
10
+ A class representing the specifications.of an entity.
11
+ specifications.is a collection of information about an entity
12
12
  thought to be immutable by the user.
13
13
  """
14
14
 
15
15
  @classmethod
16
16
  def from_dict(cls, obj: dict) -> Spec:
17
17
  """
18
- Return entity specification object from dictionary.
18
+ Return entity specifications.object from dictionary.
19
19
 
20
20
  Parameters
21
21
  ----------
22
22
  obj : dict
23
- A dictionary containing the attributes of the entity specification.
23
+ A dictionary containing the attributes of the entity specifications.
24
24
 
25
25
  Returns
26
26
  -------
27
27
  EntitySpec
28
- An entity specification object.
28
+ An entity specifications.object.
29
29
  """
30
30
  return cls(**obj)
31
31
 
32
32
 
33
- class SpecParams(BaseModel, extra="ignore"):
33
+ class SpecValidator(BaseModel, extra="ignore"):
34
34
  """
35
35
  A class representing the parameters of an entity.
36
36
  This base class is used to define the parameters of an entity
37
- specification and is used to validate the parameters passed
37
+ specifications.and is used to validate the parameters passed
38
38
  to the constructor.
39
39
  """
40
40
 
41
41
 
42
42
  class MaterialSpec(Spec):
43
43
  """
44
- Material specification class.
44
+ Material specifications.class.
45
45
  """
46
46
 
47
47
  def __init__(self, path: str, **kwargs) -> None:
@@ -49,7 +49,7 @@ class MaterialSpec(Spec):
49
49
  self.path = path
50
50
 
51
51
 
52
- class MaterialParams(SpecParams):
52
+ class MaterialValidator(SpecValidator):
53
53
  """
54
54
  Material parameters class.
55
55
  """
@@ -1,9 +1,9 @@
1
1
  from __future__ import annotations
2
2
 
3
- from digitalhub.entities._base.base import ModelObj
3
+ from digitalhub.entities._base._base.entity import Base
4
4
 
5
5
 
6
- class Status(ModelObj):
6
+ class Status(Base):
7
7
  """
8
8
  Base Status class.
9
9
  The status class contains information about the state of an entity,