digitalhub 0.9.0b4__tar.gz → 0.9.2__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 (238) hide show
  1. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/LICENSE.txt +1 -1
  2. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/PKG-INFO +3 -3
  3. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/_base/client.py +56 -20
  4. digitalhub-0.9.2/digitalhub/client/_base/key_builder.py +52 -0
  5. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/dhcore/api_builder.py +1 -1
  6. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/dhcore/client.py +4 -0
  7. digitalhub-0.9.2/digitalhub/client/dhcore/key_builder.py +58 -0
  8. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/local/client.py +2 -0
  9. digitalhub-0.9.2/digitalhub/client/local/key_builder.py +58 -0
  10. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/project/entity.py +1 -1
  11. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/unversioned/entity.py +2 -1
  12. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/versioned/entity.py +2 -1
  13. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_operations/processor.py +119 -0
  14. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/utils/git_utils.py +3 -3
  15. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/utils/uri_utils.py +68 -32
  16. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub.egg-info/PKG-INFO +3 -3
  17. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub.egg-info/SOURCES.txt +3 -0
  18. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/pyproject.toml +2 -2
  19. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/README.md +0 -0
  20. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/__init__.py +0 -0
  21. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/__init__.py +0 -0
  22. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/_base/__init__.py +0 -0
  23. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/_base/api_builder.py +0 -0
  24. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/api.py +0 -0
  25. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/builder.py +0 -0
  26. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/dhcore/__init__.py +0 -0
  27. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/dhcore/enums.py +0 -0
  28. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/dhcore/env.py +0 -0
  29. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/dhcore/models.py +0 -0
  30. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/dhcore/utils.py +0 -0
  31. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/local/__init__.py +0 -0
  32. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/client/local/api_builder.py +0 -0
  33. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/context/api.py +0 -0
  34. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/context/builder.py +0 -0
  35. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/context/context.py +0 -0
  36. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/__init__.py +0 -0
  37. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/__init__.py +0 -0
  38. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/_base/__init__.py +0 -0
  39. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/_base/entity.py +0 -0
  40. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/context/__init__.py +0 -0
  41. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/context/entity.py +0 -0
  42. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/__init__.py +0 -0
  43. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/_constructors/__init__.py +0 -0
  44. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/_constructors/metadata.py +0 -0
  45. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/_constructors/name.py +0 -0
  46. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/_constructors/spec.py +0 -0
  47. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/_constructors/status.py +0 -0
  48. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/_constructors/uuid.py +0 -0
  49. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/builder.py +0 -0
  50. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/entity.py +0 -0
  51. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/metadata.py +0 -0
  52. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/spec.py +0 -0
  53. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/entity/status.py +0 -0
  54. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/executable/__init__.py +0 -0
  55. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/executable/entity.py +0 -0
  56. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/material/__init__.py +0 -0
  57. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/material/entity.py +0 -0
  58. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/material/spec.py +0 -0
  59. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/material/status.py +0 -0
  60. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/material/utils.py +0 -0
  61. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/project/__init__.py +0 -0
  62. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/runtime_entity/__init__.py +0 -0
  63. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/runtime_entity/builder.py +0 -0
  64. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/unversioned/__init__.py +0 -0
  65. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/unversioned/builder.py +0 -0
  66. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/versioned/__init__.py +0 -0
  67. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_base/versioned/builder.py +0 -0
  68. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_commons/__init__.py +0 -0
  69. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_commons/enums.py +0 -0
  70. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_commons/utils.py +0 -0
  71. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/_operations/__init__.py +0 -0
  72. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/__init__.py +0 -0
  73. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/_base/__init__.py +0 -0
  74. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/_base/builder.py +0 -0
  75. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/_base/entity.py +0 -0
  76. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/_base/spec.py +0 -0
  77. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/_base/status.py +0 -0
  78. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/artifact/__init__.py +0 -0
  79. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/artifact/builder.py +0 -0
  80. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/artifact/entity.py +0 -0
  81. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/artifact/spec.py +0 -0
  82. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/artifact/status.py +0 -0
  83. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/crud.py +0 -0
  84. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/artifact/utils.py +0 -0
  85. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/builders.py +0 -0
  86. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/__init__.py +0 -0
  87. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/_base/__init__.py +0 -0
  88. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/_base/builder.py +0 -0
  89. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/_base/entity.py +0 -0
  90. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/_base/spec.py +0 -0
  91. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/_base/status.py +0 -0
  92. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/crud.py +0 -0
  93. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/dataitem/__init__.py +0 -0
  94. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/dataitem/builder.py +0 -0
  95. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/dataitem/entity.py +0 -0
  96. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/dataitem/spec.py +0 -0
  97. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/dataitem/status.py +0 -0
  98. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/iceberg/__init__.py +0 -0
  99. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/iceberg/builder.py +0 -0
  100. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/iceberg/entity.py +0 -0
  101. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/iceberg/spec.py +0 -0
  102. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/iceberg/status.py +0 -0
  103. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/table/__init__.py +0 -0
  104. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/table/builder.py +0 -0
  105. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/table/entity.py +0 -0
  106. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/table/models.py +0 -0
  107. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/table/spec.py +0 -0
  108. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/table/status.py +0 -0
  109. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/dataitem/utils.py +0 -0
  110. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/function/__init__.py +0 -0
  111. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/function/_base/__init__.py +0 -0
  112. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/function/_base/builder.py +0 -0
  113. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/function/_base/entity.py +0 -0
  114. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/function/_base/spec.py +0 -0
  115. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/function/_base/status.py +0 -0
  116. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/function/crud.py +0 -0
  117. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/__init__.py +0 -0
  118. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/_base/__init__.py +0 -0
  119. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/_base/builder.py +0 -0
  120. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/_base/entity.py +0 -0
  121. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/_base/spec.py +0 -0
  122. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/_base/status.py +0 -0
  123. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/crud.py +0 -0
  124. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/huggingface/__init__.py +0 -0
  125. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/huggingface/builder.py +0 -0
  126. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/huggingface/entity.py +0 -0
  127. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/huggingface/spec.py +0 -0
  128. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/huggingface/status.py +0 -0
  129. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/mlflow/__init__.py +0 -0
  130. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/mlflow/builder.py +0 -0
  131. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/mlflow/entity.py +0 -0
  132. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/mlflow/models.py +0 -0
  133. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/mlflow/spec.py +0 -0
  134. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/mlflow/status.py +0 -0
  135. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/mlflow/utils.py +0 -0
  136. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/model/__init__.py +0 -0
  137. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/model/builder.py +0 -0
  138. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/model/entity.py +0 -0
  139. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/model/spec.py +0 -0
  140. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/model/status.py +0 -0
  141. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/sklearn/__init__.py +0 -0
  142. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/sklearn/builder.py +0 -0
  143. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/sklearn/entity.py +0 -0
  144. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/sklearn/spec.py +0 -0
  145. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/sklearn/status.py +0 -0
  146. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/model/utils.py +0 -0
  147. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/project/__init__.py +0 -0
  148. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/project/_base/__init__.py +0 -0
  149. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/project/_base/builder.py +0 -0
  150. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/project/_base/entity.py +0 -0
  151. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/project/_base/spec.py +0 -0
  152. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/project/_base/status.py +0 -0
  153. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/project/crud.py +0 -0
  154. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/project/utils.py +0 -0
  155. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/run/__init__.py +0 -0
  156. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/run/_base/__init__.py +0 -0
  157. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/run/_base/builder.py +0 -0
  158. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/run/_base/entity.py +0 -0
  159. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/run/_base/spec.py +0 -0
  160. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/run/_base/status.py +0 -0
  161. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/run/crud.py +0 -0
  162. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/secret/__init__.py +0 -0
  163. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/secret/_base/__init__.py +0 -0
  164. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/secret/_base/builder.py +0 -0
  165. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/secret/_base/entity.py +0 -0
  166. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/secret/_base/spec.py +0 -0
  167. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/secret/_base/status.py +0 -0
  168. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/secret/crud.py +0 -0
  169. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/task/__init__.py +0 -0
  170. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/task/_base/__init__.py +0 -0
  171. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/task/_base/builder.py +0 -0
  172. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/task/_base/entity.py +0 -0
  173. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/task/_base/models.py +0 -0
  174. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/task/_base/spec.py +0 -0
  175. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/task/_base/status.py +0 -0
  176. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/task/_base/utils.py +0 -0
  177. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/task/crud.py +0 -0
  178. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/workflow/__init__.py +0 -0
  179. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/workflow/_base/__init__.py +0 -0
  180. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/workflow/_base/builder.py +0 -0
  181. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/workflow/_base/entity.py +0 -0
  182. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/workflow/_base/spec.py +0 -0
  183. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/workflow/_base/status.py +0 -0
  184. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/entities/workflow/crud.py +0 -0
  185. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/factory/__init__.py +0 -0
  186. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/factory/api.py +0 -0
  187. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/factory/factory.py +0 -0
  188. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/factory/utils.py +0 -0
  189. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/__init__.py +0 -0
  190. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/_base/__init__.py +0 -0
  191. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/_base/builder.py +0 -0
  192. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/_base/reader.py +0 -0
  193. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/_commons/__init__.py +0 -0
  194. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/_commons/enums.py +0 -0
  195. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/api.py +0 -0
  196. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/factory.py +0 -0
  197. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/pandas/__init__.py +0 -0
  198. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/pandas/builder.py +0 -0
  199. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/readers/pandas/reader.py +0 -0
  200. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/runtimes/__init__.py +0 -0
  201. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/runtimes/_base.py +0 -0
  202. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/runtimes/builder.py +0 -0
  203. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/runtimes/enums.py +0 -0
  204. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/__init__.py +0 -0
  205. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/_base/__init__.py +0 -0
  206. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/_base/store.py +0 -0
  207. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/api.py +0 -0
  208. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/builder.py +0 -0
  209. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/local/__init__.py +0 -0
  210. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/local/store.py +0 -0
  211. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/remote/__init__.py +0 -0
  212. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/remote/store.py +0 -0
  213. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/s3/__init__.py +0 -0
  214. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/s3/store.py +0 -0
  215. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/sql/__init__.py +0 -0
  216. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/stores/sql/store.py +0 -0
  217. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/utils/__init__.py +0 -0
  218. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/utils/data_utils.py +0 -0
  219. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/utils/exceptions.py +0 -0
  220. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/utils/file_utils.py +0 -0
  221. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/utils/generic_utils.py +0 -0
  222. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/utils/io_utils.py +0 -0
  223. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/utils/logger.py +0 -0
  224. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub/utils/s3_utils.py +0 -0
  225. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub.egg-info/dependency_links.txt +0 -0
  226. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub.egg-info/requires.txt +0 -0
  227. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/digitalhub.egg-info/top_level.txt +0 -0
  228. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/setup.cfg +0 -0
  229. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/test/local/CRUD/test_artifacts.py +0 -0
  230. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/test/local/CRUD/test_dataitems.py +0 -0
  231. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/test/local/CRUD/test_models.py +0 -0
  232. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/test/local/imports/test_imports.py +0 -0
  233. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/test/local/instances/test_validate.py +0 -0
  234. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/test/test_crud_functions.py +0 -0
  235. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/test/test_crud_runs.py +0 -0
  236. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/test/test_crud_tasks.py +0 -0
  237. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/test/testkfp.py +0 -0
  238. {digitalhub-0.9.0b4 → digitalhub-0.9.2}/test/testkfp_pipeline.py +0 -0
@@ -186,7 +186,7 @@ APPENDIX: How to apply the Apache License to your work.
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright [yyyy] [name of copyright owner]
189
+ Copyright 2024 DSLab, Fondazione Bruno Kessler
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: digitalhub
3
- Version: 0.9.0b4
3
+ Version: 0.9.2
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
@@ -191,7 +191,7 @@ License: Apache License
191
191
  same "printed page" as the copyright notice for easier
192
192
  identification within third-party archives.
193
193
 
194
- Copyright [yyyy] [name of copyright owner]
194
+ Copyright 2024 DSLab, Fondazione Bruno Kessler
195
195
 
196
196
  Licensed under the Apache License, Version 2.0 (the "License");
197
197
  you may not use this file except in compliance with the License.
@@ -1,8 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import typing
3
4
  from abc import abstractmethod
4
5
 
5
- from digitalhub.client._base.api_builder import ClientApiBuilder
6
+ if typing.TYPE_CHECKING:
7
+ from digitalhub.client._base.api_builder import ClientApiBuilder
8
+ from digitalhub.client._base.key_builder import ClientKeyBuilder
6
9
 
7
10
 
8
11
  class Client:
@@ -16,26 +19,11 @@ class Client:
16
19
 
17
20
  def __init__(self) -> None:
18
21
  self._api_builder: ClientApiBuilder = None
22
+ self._key_builder: ClientKeyBuilder = None
19
23
 
20
- def build_api(self, category: str, operation: str, **kwargs) -> str:
21
- """
22
- Build the API for the client.
23
-
24
- Parameters
25
- ----------
26
- category : str
27
- API category.
28
- operation : str
29
- API operation.
30
- **kwargs : dict
31
- Additional parameters.
32
-
33
- Returns
34
- -------
35
- str
36
- API formatted.
37
- """
38
- return self._api_builder.build_api(category, operation, **kwargs)
24
+ ##############################
25
+ # CRUD methods
26
+ ##############################
39
27
 
40
28
  @abstractmethod
41
29
  def create_object(self, api: str, obj: dict, **kwargs) -> dict:
@@ -79,6 +67,54 @@ class Client:
79
67
  Search objects method.
80
68
  """
81
69
 
70
+ ##############################
71
+ # Build methods
72
+ ##############################
73
+
74
+ def build_api(self, category: str, operation: str, **kwargs) -> str:
75
+ """
76
+ Build the API for the client.
77
+
78
+ Parameters
79
+ ----------
80
+ category : str
81
+ API category.
82
+ operation : str
83
+ API operation.
84
+ **kwargs : dict
85
+ Additional parameters.
86
+
87
+ Returns
88
+ -------
89
+ str
90
+ API formatted.
91
+ """
92
+ return self._api_builder.build_api(category, operation, **kwargs)
93
+
94
+ def build_key(self, category: str, *args, **kwargs) -> str:
95
+ """
96
+ Build the key for the client.
97
+
98
+ Parameters
99
+ ----------
100
+ category : str
101
+ Key category.
102
+ *args : tuple
103
+ Additional arguments.
104
+ **kwargs : dict
105
+ Additional parameters.
106
+
107
+ Returns
108
+ -------
109
+ str
110
+ Key formatted.
111
+ """
112
+ return self._key_builder.build_key(category, *args, **kwargs)
113
+
114
+ ##############################
115
+ # Interface methods
116
+ ##############################
117
+
82
118
  @staticmethod
83
119
  @abstractmethod
84
120
  def is_local() -> bool:
@@ -0,0 +1,52 @@
1
+ from __future__ import annotations
2
+
3
+ from abc import abstractmethod
4
+
5
+ from digitalhub.entities._commons.enums import ApiCategories
6
+
7
+
8
+ class ClientKeyBuilder:
9
+ """
10
+ Class that build the key of entities.
11
+ """
12
+
13
+ def build_key(self, category: str, *args, **kwargs) -> str:
14
+ """
15
+ Build key.
16
+
17
+ Parameters
18
+ ----------
19
+ category : str
20
+ Key category.
21
+ *args : tuple
22
+ Positional arguments.
23
+ **kwargs : dict
24
+ Keyword arguments.
25
+
26
+ Returns
27
+ -------
28
+ str
29
+ Key.
30
+ """
31
+ if category == ApiCategories.BASE.value:
32
+ return self.base_entity_key(*args, **kwargs)
33
+ return self.context_entity_key(*args, **kwargs)
34
+
35
+ @abstractmethod
36
+ def base_entity_key(self, entity_id: str) -> str:
37
+ """
38
+ Build for base entity key.
39
+ """
40
+
41
+ @abstractmethod
42
+ def context_entity_key(
43
+ self,
44
+ project: str,
45
+ entity_type: str,
46
+ entity_kind: str,
47
+ entity_name: str,
48
+ entity_id: str | None = None,
49
+ ) -> str:
50
+ """
51
+ Build for context entity key.
52
+ """
@@ -91,7 +91,7 @@ class ClientDHCoreApiBuilder(ClientApiBuilder):
91
91
  elif operation == BackendOperations.RESUME.value:
92
92
  return f"{API_CONTEXT}/{project}/{entity_type}/{kwargs['entity_id']}/resume"
93
93
  elif operation == BackendOperations.DATA.value:
94
- return f"{API_CONTEXT}/{project}/{entity_type}/{kwargs['entity_id']}/data"
94
+ return f"{API_CONTEXT}/{project}/{entity_type}/data"
95
95
  elif operation == BackendOperations.FILES.value:
96
96
  return f"{API_CONTEXT}/{project}/{entity_type}/{kwargs['entity_id']}/files/info"
97
97
  elif operation == BackendOperations.SEARCH.value:
@@ -14,6 +14,7 @@ from digitalhub.client._base.client import Client
14
14
  from digitalhub.client.dhcore.api_builder import ClientDHCoreApiBuilder
15
15
  from digitalhub.client.dhcore.enums import AuthType, DhcoreEnvVar
16
16
  from digitalhub.client.dhcore.env import ENV_FILE, FALLBACK_USER, LIB_VERSION, MAX_API_LEVEL, MIN_API_LEVEL
17
+ from digitalhub.client.dhcore.key_builder import ClientDHCoreKeyBuilder
17
18
  from digitalhub.client.dhcore.models import BasicAuth, OAuth2TokenAuth
18
19
  from digitalhub.utils.exceptions import (
19
20
  BackendError,
@@ -52,6 +53,9 @@ class ClientDHCore(Client):
52
53
  # API builder
53
54
  self._api_builder = ClientDHCoreApiBuilder()
54
55
 
56
+ # Key builder
57
+ self._key_builder = ClientDHCoreKeyBuilder()
58
+
55
59
  # Endpoints
56
60
  self._endpoint_core: str | None = None
57
61
  self._endpoint_issuer: str | None = None
@@ -0,0 +1,58 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.client._base.key_builder import ClientKeyBuilder
4
+
5
+
6
+ class ClientDHCoreKeyBuilder(ClientKeyBuilder):
7
+ """
8
+ Class that build the key of entities.
9
+ """
10
+
11
+ def base_entity_key(self, entity_id: str) -> str:
12
+ """
13
+ Build for base entity key.
14
+
15
+ Parameters
16
+ ----------
17
+ entity_id : str
18
+ Entity id.
19
+
20
+ Returns
21
+ -------
22
+ str
23
+ Key.
24
+ """
25
+ return f"store://{entity_id}"
26
+
27
+ def context_entity_key(
28
+ self,
29
+ project: str,
30
+ entity_type: str,
31
+ entity_kind: str,
32
+ entity_name: str,
33
+ entity_id: str | None = None,
34
+ ) -> str:
35
+ """
36
+ Build for context entity key.
37
+
38
+ Parameters
39
+ ----------
40
+ project : str
41
+ Project name.
42
+ entity_type : str
43
+ Entity type.
44
+ entity_kind : str
45
+ Entity kind.
46
+ entity_name : str
47
+ Entity name.
48
+ entity_id : str
49
+ Entity ID.
50
+
51
+ Returns
52
+ -------
53
+ str
54
+ Key.
55
+ """
56
+ if entity_id is None:
57
+ return f"store://{project}/{entity_type}/{entity_kind}/{entity_name}"
58
+ return f"store://{project}/{entity_type}/{entity_kind}/{entity_name}:{entity_id}"
@@ -5,6 +5,7 @@ from datetime import datetime, timezone
5
5
 
6
6
  from digitalhub.client._base.client import Client
7
7
  from digitalhub.client.local.api_builder import ClientLocalApiBuilder
8
+ from digitalhub.client.local.key_builder import ClientLocalKeyBuilder
8
9
  from digitalhub.utils.exceptions import BackendError
9
10
 
10
11
 
@@ -24,6 +25,7 @@ class ClientLocal(Client):
24
25
  def __init__(self) -> None:
25
26
  super().__init__()
26
27
  self._api_builder = ClientLocalApiBuilder()
28
+ self._key_builder = ClientLocalKeyBuilder()
27
29
  self._db: dict[str, dict[str, dict]] = {}
28
30
 
29
31
  ##############################
@@ -0,0 +1,58 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.client._base.key_builder import ClientKeyBuilder
4
+
5
+
6
+ class ClientLocalKeyBuilder(ClientKeyBuilder):
7
+ """
8
+ Class that build the key of entities.
9
+ """
10
+
11
+ def base_entity_key(self, entity_id: str) -> str:
12
+ """
13
+ Build for base entity key.
14
+
15
+ Parameters
16
+ ----------
17
+ entity_id : str
18
+ Entity id.
19
+
20
+ Returns
21
+ -------
22
+ str
23
+ Key.
24
+ """
25
+ return f"store://{entity_id}"
26
+
27
+ def context_entity_key(
28
+ self,
29
+ project: str,
30
+ entity_type: str,
31
+ entity_kind: str,
32
+ entity_name: str,
33
+ entity_id: str | None = None,
34
+ ) -> str:
35
+ """
36
+ Build for context entity key.
37
+
38
+ Parameters
39
+ ----------
40
+ project : str
41
+ Project name.
42
+ entity_type : str
43
+ Entity type.
44
+ entity_kind : str
45
+ Entity kind.
46
+ entity_name : str
47
+ Entity name.
48
+ entity_id : str
49
+ Entity ID.
50
+
51
+ Returns
52
+ -------
53
+ str
54
+ Key.
55
+ """
56
+ if entity_id is None:
57
+ return f"store://{project}/{entity_type}/{entity_kind}/{entity_name}"
58
+ return f"store://{project}/{entity_type}/{entity_kind}/{entity_name}:{entity_id}"
@@ -40,7 +40,7 @@ class ProjectEntity(Entity):
40
40
  super().__init__(kind, metadata, spec, status, user)
41
41
  self.id = name
42
42
  self.name = name
43
- self.key = f"store://{name}"
43
+ self.key = processor.build_project_key(self.name, local=local)
44
44
 
45
45
  self._obj_attr.extend(["id", "name"])
46
46
 
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import typing
4
4
 
5
5
  from digitalhub.entities._base.context.entity import ContextEntity
6
+ from digitalhub.entities._operations.processor import processor
6
7
 
7
8
  if typing.TYPE_CHECKING:
8
9
  from digitalhub.entities._base.entity.metadata import Metadata
@@ -24,4 +25,4 @@ class UnversionedEntity(ContextEntity):
24
25
  super().__init__(project, kind, metadata, spec, status, user)
25
26
  self.id = uuid
26
27
  self.name = uuid
27
- self.key = f"store://{project}/{self.ENTITY_TYPE}/{kind}/{uuid}"
28
+ self.key = processor.build_context_entity_key(project, self.ENTITY_TYPE, kind, uuid)
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import typing
4
4
 
5
5
  from digitalhub.entities._base.context.entity import ContextEntity
6
+ from digitalhub.entities._operations.processor import processor
6
7
 
7
8
  if typing.TYPE_CHECKING:
8
9
  from digitalhub.entities._base.entity.metadata import Metadata
@@ -25,4 +26,4 @@ class VersionedEntity(ContextEntity):
25
26
  super().__init__(project, kind, metadata, spec, status, user)
26
27
  self.name = name
27
28
  self.id = uuid
28
- self.key = f"store://{project}/{self.ENTITY_TYPE}/{kind}/{name}:{uuid}"
29
+ self.key = processor.build_context_entity_key(project, self.ENTITY_TYPE, kind, name, uuid)
@@ -427,6 +427,55 @@ class OperationsProcessor:
427
427
  **kwargs,
428
428
  )
429
429
 
430
+ ##############################
431
+ # Base entity operations
432
+ ##############################
433
+
434
+ def _build_base_entity_key(
435
+ self,
436
+ client: Client,
437
+ entity_id: str,
438
+ ) -> str:
439
+ """
440
+ Build object key.
441
+
442
+ Parameters
443
+ ----------
444
+ client : Client
445
+ Client instance.
446
+ entity_id : str
447
+ Entity ID.
448
+
449
+ Returns
450
+ -------
451
+ str
452
+ Object key.
453
+ """
454
+ return client.build_key(ApiCategories.BASE.value, entity_id)
455
+
456
+ def build_project_key(
457
+ self,
458
+ entity_id: str,
459
+ **kwargs,
460
+ ) -> str:
461
+ """
462
+ Build object key.
463
+
464
+ Parameters
465
+ ----------
466
+ entity_id : str
467
+ Entity ID.
468
+ **kwargs : dict
469
+ Parameters to pass to entity builder.
470
+
471
+ Returns
472
+ -------
473
+ str
474
+ Object key.
475
+ """
476
+ client = get_client(kwargs.pop("local", False))
477
+ return self._build_base_entity_key(client, entity_id)
478
+
430
479
  def share_project_entity(
431
480
  self,
432
481
  entity_type: str,
@@ -1279,6 +1328,76 @@ class OperationsProcessor:
1279
1328
  # Context entity operations
1280
1329
  ##############################
1281
1330
 
1331
+ def _build_context_entity_key(
1332
+ self,
1333
+ context: Context,
1334
+ entity_type: str,
1335
+ entity_kind: str,
1336
+ entity_name: str,
1337
+ entity_id: str | None = None,
1338
+ ) -> str:
1339
+ """
1340
+ Build object key.
1341
+
1342
+ Parameters
1343
+ ----------
1344
+ context : Context
1345
+ Context instance.
1346
+ entity_type : str
1347
+ Entity type.
1348
+ entity_kind : str
1349
+ Entity kind.
1350
+ entity_name : str
1351
+ Entity name.
1352
+ entity_id : str
1353
+ Entity ID.
1354
+
1355
+ Returns
1356
+ -------
1357
+ str
1358
+ Object key.
1359
+ """
1360
+ return context.client.build_key(
1361
+ ApiCategories.CONTEXT.value,
1362
+ project=context.name,
1363
+ entity_type=entity_type,
1364
+ entity_kind=entity_kind,
1365
+ entity_name=entity_name,
1366
+ entity_id=entity_id,
1367
+ )
1368
+
1369
+ def build_context_entity_key(
1370
+ self,
1371
+ project: str,
1372
+ entity_type: str,
1373
+ entity_kind: str,
1374
+ entity_name: str,
1375
+ entity_id: str | None = None,
1376
+ ) -> str:
1377
+ """
1378
+ Build object key.
1379
+
1380
+ Parameters
1381
+ ----------
1382
+ project : str
1383
+ Project name.
1384
+ entity_type : str
1385
+ Entity type.
1386
+ entity_kind : str
1387
+ Entity kind.
1388
+ entity_name : str
1389
+ Entity name.
1390
+ entity_id : str
1391
+ Entity ID.
1392
+
1393
+ Returns
1394
+ -------
1395
+ str
1396
+ Object key.
1397
+ """
1398
+ context = self._get_context(project)
1399
+ return self._build_context_entity_key(context, entity_type, entity_kind, entity_name, entity_id)
1400
+
1282
1401
  def read_secret_data(
1283
1402
  self,
1284
1403
  project: str,
@@ -13,16 +13,16 @@ except ImportError as e:
13
13
  warnings.warn("git is not installed. Please install git and try again.", RuntimeWarning)
14
14
 
15
15
 
16
- def clone_repository(url: str, path: Path) -> None:
16
+ def clone_repository(path: Path, url: str) -> None:
17
17
  """
18
18
  Clone git repository.
19
19
 
20
20
  Parameters
21
21
  ----------
22
- url : str
23
- URL of the repository.
24
22
  path : Path
25
23
  Path where to save the repository.
24
+ url : str
25
+ URL of the repository.
26
26
 
27
27
  Returns
28
28
  -------