digitalhub 0.10.0b1__tar.gz → 0.10.0b3__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 (308) hide show
  1. digitalhub-0.10.0b3/.github/scripts/bump.sh +40 -0
  2. digitalhub-0.10.0b3/.github/scripts/changelog.sh +7 -0
  3. digitalhub-0.10.0b3/.github/scripts/cliff.toml +78 -0
  4. digitalhub-0.10.0b3/.github/workflows/release.yml +146 -0
  5. digitalhub-0.10.0b3/.github/workflows/run_local_test.yml +42 -0
  6. digitalhub-0.10.0b3/.github/workflows/test_release.yml +85 -0
  7. digitalhub-0.10.0b3/.gitignore +167 -0
  8. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/PKG-INFO +27 -29
  9. digitalhub-0.10.0b3/digitalhub/entities/dataitem/_base/entity.py +34 -0
  10. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/crud.py +14 -3
  11. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/table/entity.py +49 -35
  12. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/utils.py +40 -1
  13. {digitalhub-0.10.0b1/digitalhub/readers → digitalhub-0.10.0b3/digitalhub/readers/data}/_base/builder.py +1 -1
  14. {digitalhub-0.10.0b1/digitalhub/readers → digitalhub-0.10.0b3/digitalhub/readers/data}/_base/reader.py +16 -4
  15. {digitalhub-0.10.0b1/digitalhub/readers → digitalhub-0.10.0b3/digitalhub/readers/data}/api.py +2 -2
  16. {digitalhub-0.10.0b1/digitalhub/readers → digitalhub-0.10.0b3/digitalhub/readers/data}/factory.py +3 -3
  17. {digitalhub-0.10.0b1/digitalhub/readers → digitalhub-0.10.0b3/digitalhub/readers/data}/pandas/builder.py +2 -2
  18. {digitalhub-0.10.0b1/digitalhub/readers → digitalhub-0.10.0b3/digitalhub/readers/data}/pandas/reader.py +56 -24
  19. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/_base/store.py +60 -23
  20. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/local/store.py +101 -71
  21. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/remote/store.py +81 -0
  22. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/s3/configurator.py +3 -2
  23. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/s3/store.py +144 -41
  24. digitalhub-0.10.0b3/digitalhub/stores/sql/__init__.py +0 -0
  25. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/sql/store.py +90 -30
  26. digitalhub-0.10.0b3/digitalhub/utils/__init__.py +0 -0
  27. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/pyproject.toml +11 -16
  28. digitalhub-0.10.0b3/scripts/README.md +3 -0
  29. digitalhub-0.10.0b3/scripts/local-copy/README.md +5 -0
  30. digitalhub-0.10.0b3/scripts/local-copy/local_copy.sh +14 -0
  31. digitalhub-0.10.0b3/scripts/quick-docker-copy/DBT.dockerfile +13 -0
  32. digitalhub-0.10.0b3/scripts/quick-docker-copy/KFP.dockerfile +18 -0
  33. digitalhub-0.10.0b3/scripts/quick-docker-copy/PY10.dockerfile +11 -0
  34. digitalhub-0.10.0b3/scripts/quick-docker-copy/PY11.dockerfile +11 -0
  35. digitalhub-0.10.0b3/scripts/quick-docker-copy/PY9.dockerfile +11 -0
  36. digitalhub-0.10.0b3/scripts/quick-docker-copy/README.md +29 -0
  37. digitalhub-0.10.0b3/scripts/quick-docker-copy/build_containers.sh +6 -0
  38. digitalhub-0.10.0b3/scripts/spec_exporter/README.md +39 -0
  39. digitalhub-0.10.0b3/scripts/spec_exporter/exporter.sh +23 -0
  40. digitalhub-0.10.0b3/test/local/instances/entities/artifact/artifact-http.json +25 -0
  41. digitalhub-0.10.0b3/test/local/instances/entities/artifact/artifact-local.json +26 -0
  42. digitalhub-0.10.0b3/test/local/instances/entities/artifact/artifact-s3.json +26 -0
  43. digitalhub-0.10.0b3/test/local/instances/entities/artifact/artifact-sql.json +25 -0
  44. digitalhub-0.10.0b3/test/local/instances/entities/dataitem/dataitem-table.json +37 -0
  45. digitalhub-0.10.0b3/test/local/instances/entities/dataitem/dataitem.json +25 -0
  46. digitalhub-0.10.0b3/test/local/instances/entities/model/model-huggingface.json +36 -0
  47. digitalhub-0.10.0b3/test/local/instances/entities/model/model-mlflow.json +167 -0
  48. digitalhub-0.10.0b3/test/local/instances/entities/model/model-sklearn.json +34 -0
  49. digitalhub-0.10.0b3/test/local/instances/entities/model/model.json +27 -0
  50. digitalhub-0.10.0b3/test/local/instances/entities/project.json +255 -0
  51. digitalhub-0.10.0b3/test/local/instances/entities/secret.json +24 -0
  52. digitalhub-0.10.0b3/test/local/instances/entities_other/function/function-container-git.json +35 -0
  53. digitalhub-0.10.0b3/test/local/instances/entities_other/function/function-container-local.json +35 -0
  54. digitalhub-0.10.0b3/test/local/instances/entities_other/function/function-container-zip.json +35 -0
  55. digitalhub-0.10.0b3/test/local/instances/entities_other/function/function-dbt.json +27 -0
  56. digitalhub-0.10.0b3/test/local/instances/entities_other/function/function-huggingfaceserve.json +25 -0
  57. digitalhub-0.10.0b3/test/local/instances/entities_other/function/function-mlflowserve.json +26 -0
  58. digitalhub-0.10.0b3/test/local/instances/entities_other/function/function-python-git.json +35 -0
  59. digitalhub-0.10.0b3/test/local/instances/entities_other/function/function-python-local.json +35 -0
  60. digitalhub-0.10.0b3/test/local/instances/entities_other/function/function-python-zip.json +35 -0
  61. digitalhub-0.10.0b3/test/local/instances/entities_other/function/function-sklearnserve.json +26 -0
  62. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-container+build.json +90 -0
  63. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-container+deploy.json +89 -0
  64. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-container+job.json +458 -0
  65. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-container+serve.json +1143 -0
  66. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-dbt+transform.json +1202 -0
  67. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-huggingfaceserve+serve.json +1413 -0
  68. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-kfp+pipeline.json +276 -0
  69. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-mlflowserve+serve.json +86 -0
  70. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-python+build.json +927 -0
  71. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-python+job.json +479 -0
  72. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-python+serve.json +1972 -0
  73. digitalhub-0.10.0b3/test/local/instances/entities_other/run/run-sklearnserve+serve.json +1492 -0
  74. digitalhub-0.10.0b3/test/local/instances/entities_other/workflow/workflow-kfp.json +31 -0
  75. digitalhub-0.10.0b1/digitalhub/entities/dataitem/_base/entity.py +0 -75
  76. digitalhub-0.10.0b1/digitalhub.egg-info/PKG-INFO +0 -265
  77. digitalhub-0.10.0b1/digitalhub.egg-info/SOURCES.txt +0 -249
  78. digitalhub-0.10.0b1/digitalhub.egg-info/dependency_links.txt +0 -1
  79. digitalhub-0.10.0b1/digitalhub.egg-info/requires.txt +0 -33
  80. digitalhub-0.10.0b1/digitalhub.egg-info/top_level.txt +0 -4
  81. digitalhub-0.10.0b1/setup.cfg +0 -4
  82. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/LICENSE.txt +0 -0
  83. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/README.md +0 -0
  84. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/__init__.py +0 -0
  85. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/__init__.py +0 -0
  86. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/_base/__init__.py +0 -0
  87. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/_base/api_builder.py +0 -0
  88. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/_base/client.py +0 -0
  89. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/_base/key_builder.py +0 -0
  90. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/api.py +0 -0
  91. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/builder.py +0 -0
  92. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/dhcore/__init__.py +0 -0
  93. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/dhcore/api_builder.py +0 -0
  94. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/dhcore/client.py +0 -0
  95. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/dhcore/configurator.py +0 -0
  96. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/dhcore/enums.py +0 -0
  97. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/dhcore/error_parser.py +0 -0
  98. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/dhcore/key_builder.py +0 -0
  99. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/dhcore/models.py +0 -0
  100. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/dhcore/utils.py +0 -0
  101. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/local/__init__.py +0 -0
  102. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/local/api_builder.py +0 -0
  103. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/local/client.py +0 -0
  104. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/local/enums.py +0 -0
  105. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/client/local/key_builder.py +0 -0
  106. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/configurator/__init__.py +0 -0
  107. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/configurator/api.py +0 -0
  108. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/configurator/configurator.py +0 -0
  109. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/configurator/credentials_store.py +0 -0
  110. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/configurator/ini_module.py +0 -0
  111. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/context/api.py +0 -0
  112. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/context/builder.py +0 -0
  113. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/context/context.py +0 -0
  114. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/__init__.py +0 -0
  115. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/__init__.py +0 -0
  116. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/_base/__init__.py +0 -0
  117. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/_base/entity.py +0 -0
  118. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/context/__init__.py +0 -0
  119. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/context/entity.py +0 -0
  120. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/__init__.py +0 -0
  121. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/_constructors/__init__.py +0 -0
  122. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/_constructors/metadata.py +0 -0
  123. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/_constructors/name.py +0 -0
  124. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/_constructors/spec.py +0 -0
  125. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/_constructors/status.py +0 -0
  126. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/_constructors/uuid.py +0 -0
  127. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/builder.py +0 -0
  128. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/entity.py +0 -0
  129. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/metadata.py +0 -0
  130. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/spec.py +0 -0
  131. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/entity/status.py +0 -0
  132. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/executable/__init__.py +0 -0
  133. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/executable/entity.py +0 -0
  134. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/material/__init__.py +0 -0
  135. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/material/entity.py +0 -0
  136. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/material/spec.py +0 -0
  137. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/material/status.py +0 -0
  138. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/material/utils.py +0 -0
  139. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/project/__init__.py +0 -0
  140. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/project/entity.py +0 -0
  141. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/runtime_entity/__init__.py +0 -0
  142. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/runtime_entity/builder.py +0 -0
  143. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/unversioned/__init__.py +0 -0
  144. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/unversioned/builder.py +0 -0
  145. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/unversioned/entity.py +0 -0
  146. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/versioned/__init__.py +0 -0
  147. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/versioned/builder.py +0 -0
  148. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_base/versioned/entity.py +0 -0
  149. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_commons/__init__.py +0 -0
  150. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_commons/enums.py +0 -0
  151. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_commons/models.py +0 -0
  152. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_commons/utils.py +0 -0
  153. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_operations/__init__.py +0 -0
  154. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/_operations/processor.py +0 -0
  155. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/__init__.py +0 -0
  156. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/_base/__init__.py +0 -0
  157. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/_base/builder.py +0 -0
  158. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/_base/entity.py +0 -0
  159. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/_base/spec.py +0 -0
  160. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/_base/status.py +0 -0
  161. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/artifact/__init__.py +0 -0
  162. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/artifact/builder.py +0 -0
  163. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/artifact/entity.py +0 -0
  164. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/artifact/spec.py +0 -0
  165. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/artifact/status.py +0 -0
  166. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/crud.py +0 -0
  167. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/artifact/utils.py +0 -0
  168. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/builders.py +0 -0
  169. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/__init__.py +0 -0
  170. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/_base/__init__.py +0 -0
  171. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/_base/builder.py +0 -0
  172. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/_base/spec.py +0 -0
  173. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/_base/status.py +0 -0
  174. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/dataitem/__init__.py +0 -0
  175. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/dataitem/builder.py +0 -0
  176. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/dataitem/entity.py +0 -0
  177. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/dataitem/spec.py +0 -0
  178. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/dataitem/status.py +0 -0
  179. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/iceberg/__init__.py +0 -0
  180. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/iceberg/builder.py +0 -0
  181. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/iceberg/entity.py +0 -0
  182. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/iceberg/spec.py +0 -0
  183. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/iceberg/status.py +0 -0
  184. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/table/__init__.py +0 -0
  185. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/table/builder.py +0 -0
  186. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/table/models.py +0 -0
  187. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/table/spec.py +0 -0
  188. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/table/status.py +0 -0
  189. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/dataitem/table/utils.py +0 -0
  190. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/function/__init__.py +0 -0
  191. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/function/_base/__init__.py +0 -0
  192. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/function/_base/builder.py +0 -0
  193. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/function/_base/entity.py +0 -0
  194. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/function/_base/spec.py +0 -0
  195. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/function/_base/status.py +0 -0
  196. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/function/crud.py +0 -0
  197. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/__init__.py +0 -0
  198. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/_base/__init__.py +0 -0
  199. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/_base/builder.py +0 -0
  200. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/_base/entity.py +0 -0
  201. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/_base/spec.py +0 -0
  202. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/_base/status.py +0 -0
  203. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/crud.py +0 -0
  204. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/huggingface/__init__.py +0 -0
  205. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/huggingface/builder.py +0 -0
  206. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/huggingface/entity.py +0 -0
  207. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/huggingface/spec.py +0 -0
  208. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/huggingface/status.py +0 -0
  209. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/mlflow/__init__.py +0 -0
  210. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/mlflow/builder.py +0 -0
  211. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/mlflow/entity.py +0 -0
  212. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/mlflow/models.py +0 -0
  213. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/mlflow/spec.py +0 -0
  214. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/mlflow/status.py +0 -0
  215. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/mlflow/utils.py +0 -0
  216. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/model/__init__.py +0 -0
  217. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/model/builder.py +0 -0
  218. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/model/entity.py +0 -0
  219. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/model/spec.py +0 -0
  220. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/model/status.py +0 -0
  221. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/sklearn/__init__.py +0 -0
  222. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/sklearn/builder.py +0 -0
  223. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/sklearn/entity.py +0 -0
  224. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/sklearn/spec.py +0 -0
  225. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/sklearn/status.py +0 -0
  226. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/model/utils.py +0 -0
  227. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/project/__init__.py +0 -0
  228. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/project/_base/__init__.py +0 -0
  229. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/project/_base/builder.py +0 -0
  230. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/project/_base/entity.py +0 -0
  231. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/project/_base/spec.py +0 -0
  232. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/project/_base/status.py +0 -0
  233. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/project/crud.py +0 -0
  234. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/project/utils.py +0 -0
  235. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/run/__init__.py +0 -0
  236. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/run/_base/__init__.py +0 -0
  237. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/run/_base/builder.py +0 -0
  238. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/run/_base/entity.py +0 -0
  239. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/run/_base/spec.py +0 -0
  240. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/run/_base/status.py +0 -0
  241. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/run/crud.py +0 -0
  242. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/secret/__init__.py +0 -0
  243. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/secret/_base/__init__.py +0 -0
  244. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/secret/_base/builder.py +0 -0
  245. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/secret/_base/entity.py +0 -0
  246. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/secret/_base/spec.py +0 -0
  247. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/secret/_base/status.py +0 -0
  248. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/secret/crud.py +0 -0
  249. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/task/__init__.py +0 -0
  250. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/task/_base/__init__.py +0 -0
  251. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/task/_base/builder.py +0 -0
  252. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/task/_base/entity.py +0 -0
  253. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/task/_base/models.py +0 -0
  254. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/task/_base/spec.py +0 -0
  255. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/task/_base/status.py +0 -0
  256. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/task/_base/utils.py +0 -0
  257. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/task/crud.py +0 -0
  258. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/workflow/__init__.py +0 -0
  259. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/workflow/_base/__init__.py +0 -0
  260. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/workflow/_base/builder.py +0 -0
  261. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/workflow/_base/entity.py +0 -0
  262. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/workflow/_base/spec.py +0 -0
  263. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/workflow/_base/status.py +0 -0
  264. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/entities/workflow/crud.py +0 -0
  265. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/factory/__init__.py +0 -0
  266. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/factory/api.py +0 -0
  267. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/factory/factory.py +0 -0
  268. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/factory/utils.py +0 -0
  269. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/readers/__init__.py +0 -0
  270. {digitalhub-0.10.0b1/digitalhub/readers/_base → digitalhub-0.10.0b3/digitalhub/readers/data}/__init__.py +0 -0
  271. {digitalhub-0.10.0b1/digitalhub/readers/pandas → digitalhub-0.10.0b3/digitalhub/readers/data/_base}/__init__.py +0 -0
  272. {digitalhub-0.10.0b1/digitalhub/runtimes → digitalhub-0.10.0b3/digitalhub/readers/data/pandas}/__init__.py +0 -0
  273. {digitalhub-0.10.0b1/digitalhub/readers → digitalhub-0.10.0b3/digitalhub/readers/data}/pandas/enums.py +0 -0
  274. {digitalhub-0.10.0b1/digitalhub/stores → digitalhub-0.10.0b3/digitalhub/readers/query}/__init__.py +0 -0
  275. {digitalhub-0.10.0b1/digitalhub/stores/_base → digitalhub-0.10.0b3/digitalhub/runtimes}/__init__.py +0 -0
  276. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/runtimes/_base.py +0 -0
  277. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/runtimes/builder.py +0 -0
  278. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/runtimes/enums.py +0 -0
  279. {digitalhub-0.10.0b1/digitalhub/stores/local → digitalhub-0.10.0b3/digitalhub/stores}/__init__.py +0 -0
  280. {digitalhub-0.10.0b1/digitalhub/stores/remote → digitalhub-0.10.0b3/digitalhub/stores/_base}/__init__.py +0 -0
  281. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/api.py +0 -0
  282. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/builder.py +0 -0
  283. {digitalhub-0.10.0b1/digitalhub/stores/s3 → digitalhub-0.10.0b3/digitalhub/stores/local}/__init__.py +0 -0
  284. {digitalhub-0.10.0b1/digitalhub/stores/sql → digitalhub-0.10.0b3/digitalhub/stores/remote}/__init__.py +0 -0
  285. {digitalhub-0.10.0b1/digitalhub/utils → digitalhub-0.10.0b3/digitalhub/stores/s3}/__init__.py +0 -0
  286. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/s3/enums.py +0 -0
  287. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/s3/models.py +0 -0
  288. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/s3/utils.py +0 -0
  289. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/sql/configurator.py +0 -0
  290. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/sql/enums.py +0 -0
  291. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/stores/sql/models.py +0 -0
  292. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/utils/exceptions.py +0 -0
  293. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/utils/file_utils.py +0 -0
  294. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/utils/generic_utils.py +0 -0
  295. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/utils/git_utils.py +0 -0
  296. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/utils/io_utils.py +0 -0
  297. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/utils/logger.py +0 -0
  298. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/digitalhub/utils/uri_utils.py +0 -0
  299. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/test/local/CRUD/test_artifacts.py +0 -0
  300. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/test/local/CRUD/test_dataitems.py +0 -0
  301. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/test/local/CRUD/test_models.py +0 -0
  302. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/test/local/imports/test_imports.py +0 -0
  303. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/test/local/instances/test_validate.py +0 -0
  304. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/test/test_crud_functions.py +0 -0
  305. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/test/test_crud_runs.py +0 -0
  306. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/test/test_crud_tasks.py +0 -0
  307. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/test/testkfp.py +0 -0
  308. {digitalhub-0.10.0b1 → digitalhub-0.10.0b3}/test/testkfp_pipeline.py +0 -0
@@ -0,0 +1,40 @@
1
+ # Extract version
2
+ VERSION=$(bumpver show -n --environ | grep CUR | awk '{gsub(/CURRENT_VERSION=/, ""); print}')
3
+
4
+ # Check if version include beta tag
5
+ if [[ $VERSION == *"b"* ]];
6
+ then HAS_BETA_TAG=1;
7
+ else HAS_BETA_TAG=0;
8
+ fi
9
+
10
+ # Evaluate version bumping request
11
+ case $1 in
12
+ new-beta-major|new-beta-minor|new-beta-patch)
13
+ rel=$(echo $1 | awk '{gsub(/new-beta-/, ""); print}')
14
+ if [ $HAS_BETA_TAG -eq 0 ];
15
+ then
16
+ bumpver update -n --$rel --tag=beta
17
+ else
18
+ echo "You can create a new beta from a final version! Current version: $VERSION"; exit 1;
19
+ fi
20
+ ;;
21
+ final)
22
+ if [ $HAS_BETA_TAG -eq 1 ];
23
+ then
24
+ bumpver update -n --tag=final
25
+ else
26
+ echo "You can create a final version from a beta version! Current version: $VERSION"; exit 1;
27
+ fi
28
+ ;;
29
+ upgrade-beta)
30
+ if [ $HAS_BETA_TAG -eq 1 ];
31
+ then
32
+ bumpver update -n --tag-num
33
+ else
34
+ echo "You can upgrade a beta from a beta version! Current version: $VERSION"; exit 1;
35
+ fi
36
+ ;;
37
+ major|minor|patch)
38
+ bumpver update -n --$1 --tag=final
39
+ ;;
40
+ esac
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+
3
+ if [ "$2" = "true" ]; then
4
+ touch CHANGELOG.md
5
+ else
6
+ git-cliff --unreleased --tag ${1} -c .github/scripts/cliff.toml -v -o
7
+ fi
@@ -0,0 +1,78 @@
1
+ # git-cliff ~ default configuration file
2
+ # https://git-cliff.org/docs/configuration
3
+ #
4
+ # Lines starting with "#" are comments.
5
+ # Configuration options are organized into tables and keys.
6
+ # See documentation for more information on available options.
7
+
8
+ [changelog]
9
+ # template for the changelog header
10
+ header = """
11
+ Changelog\n
12
+ """
13
+ # template for the changelog body
14
+ # https://keats.github.io/tera/docs/#introduction
15
+ body = """
16
+ ## {{ version | trim_start_matches(pat="v") }} - {{ timestamp | date(format="%Y-%m-%d") }}
17
+ {% if previous %}\
18
+ {% if previous.commit_id and commit_id %}
19
+ [{{ previous.commit_id | truncate(length=7, end="") }}]({{ previous.commit_id }})...\
20
+ [{{ commit_id | truncate(length=7, end="") }}]({{ commit_id }})
21
+ {% endif %}\
22
+ {% endif %}\
23
+ {% for group, commits in commits | group_by(attribute="group") %}
24
+ ### {{ group | upper_first }}
25
+ {% for commit in commits %}
26
+ - {{ commit.message | split(pat="\n") | first | upper_first | trim }} ([{{ commit.id | truncate(length=7, end="") }}]({{ commit.id }}))\
27
+ {% for footer in commit.footers -%}
28
+ , {{ footer.token }}{{ footer.separator }}{{ footer.value }}\
29
+ {% endfor %}\
30
+ {% endfor %}
31
+ {% endfor %}\n
32
+ """
33
+ # template for the changelog footer
34
+ footer = """"""
35
+ # remove the leading and trailing s
36
+ trim = true
37
+ # postprocessors
38
+ postprocessors = [
39
+ # { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
40
+ ]
41
+ # render body even when there are no releases to process
42
+ # render_always = true
43
+ # output file path
44
+ # output = "test.md"
45
+
46
+ [git]
47
+ # parse the commits based on https://www.conventionalcommits.org
48
+ conventional_commits = true
49
+ # filter out the commits that are not conventional
50
+ filter_unconventional = true
51
+ # process each line of a commit as an individual commit
52
+ split_commits = false
53
+ # regex for preprocessing the commit messages
54
+ commit_preprocessors = [
55
+ # Replace issue numbers
56
+ #{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
57
+ # Check spelling of the commit with https://github.com/crate-ci/typos
58
+ # If the spelling is incorrect, it will be automatically fixed.
59
+ #{ pattern = '.*', replace_command = 'typos --write-changes -' },
60
+ ]
61
+ # regex for parsing and grouping commits
62
+ commit_parsers = [
63
+ { message = "^feat", group = "<!-- 0 --> Features" },
64
+ { message = "^fix", group = "<!-- 1 --> Bug Fixes" },
65
+ { message = "^refactor", group = "<!-- 2 --> Refactor" },
66
+ { message = "^perf", group = "<!-- 3 --> Performance" },
67
+ { message = "^build", group = "<!-- 4 --> Build" },
68
+ { message = "^doc", group = "<!-- 5 --> Documentation" },
69
+ { message = ".*", group = "<!-- 10 --> Other" , skip = true },
70
+ ]
71
+ # filter out the commits that are not matched by commit parsers
72
+ filter_commits = false
73
+ # sort the tags topologically
74
+ topo_order = false
75
+ # sort the commits inside sections by oldest/newest order
76
+ sort_commits = "oldest"
77
+ ignore_tags = ".*b.*"
78
+ use_branch_tags = true
@@ -0,0 +1,146 @@
1
+ name: Release on PyPI and GitHub
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ release-type:
7
+ description: "Release type"
8
+ required: true
9
+ default: "tag-num"
10
+ type: choice
11
+ options:
12
+ - major
13
+ - minor
14
+ - patch
15
+ - upgrade-beta
16
+ - new-beta-major
17
+ - new-beta-minor
18
+ - new-beta-patch
19
+ - final
20
+ skip-pypi:
21
+ description: "If true, skip publishing to PyPI"
22
+ default: false
23
+ type: boolean
24
+
25
+ jobs:
26
+ bumpver-pyproject:
27
+ runs-on: ubuntu-latest
28
+ outputs:
29
+ version: ${{ steps.current-version.outputs.version }}
30
+ steps:
31
+ - uses: actions/checkout@v4
32
+ - uses: actions/setup-python@v5
33
+ with:
34
+ python-version: "3.10"
35
+
36
+ - name: Install bumpver
37
+ run: python -m pip install bumpver
38
+
39
+ # Evaluate input and bumpver accordingly
40
+ - name: Execute script bumpver
41
+ run: ./.github/scripts/bump.sh ${{ inputs.release-type }}
42
+
43
+ # Store current version for later use
44
+ - name: Current version
45
+ id: current-version
46
+ run: |
47
+ ver=$(bumpver show -n --environ | grep CUR | awk '{gsub(/CURRENT_VERSION=/, ""); print}')
48
+ echo "version=${ver}" >> "$GITHUB_OUTPUT"
49
+
50
+ # Commit modifications to pyproject.toml
51
+ - name: Commit changes
52
+ run: |
53
+ git config user.name "$GITHUB_ACTOR"
54
+ git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
55
+ git commit -a -m "bump: new version ${{ steps.current-version.outputs.version }}"
56
+ git push
57
+
58
+ build-n-publish:
59
+ name: Build and publish
60
+ if: ${{ !inputs.skip-pypi }}
61
+ needs: bumpver-pyproject
62
+ runs-on: ubuntu-latest
63
+ steps:
64
+ # Force with ref as https://github.com/orgs/community/discussions/110853
65
+ - uses: actions/checkout@v4
66
+ with:
67
+ ref: ${{ github.ref }}
68
+ - uses: actions/setup-python@v5
69
+ with:
70
+ python-version: "3.10"
71
+
72
+ # Build wheel to upload
73
+ - name: Install build and build a binary wheel
74
+ run: python -m pip install build && python -m build
75
+
76
+ # Publish to PyPI
77
+ - name: Publish distribution to PyPI
78
+ uses: pypa/gh-action-pypi-publish@release/v1
79
+ with:
80
+ password: ${{ secrets.PYPI_TOKEN }}
81
+
82
+ tag-and-release:
83
+ name: Tag and release on Github
84
+ needs: [bumpver-pyproject]
85
+ runs-on: ubuntu-latest
86
+ steps:
87
+ - uses: actions/checkout@v4
88
+ with:
89
+ ref: ${{ github.ref }}
90
+ fetch-depth: 0
91
+
92
+ - uses: actions/setup-python@v5
93
+ with:
94
+ python-version: "3.10"
95
+
96
+ - name: Install cliff
97
+ run: python -m pip install git-cliff
98
+
99
+ - name: Generate a changelog
100
+ env:
101
+ VERSION: ${{ needs.bumpver-pyproject.outputs.version }}
102
+ BETA: ${{ inputs.release-type == 'upgrade-beta' || startsWith(inputs.release-type, 'new-beta')}}
103
+ run: ./.github/scripts/changelog.sh ${{ env.VERSION }} ${{ env.BETA }}
104
+
105
+ - name: Create Release
106
+ id: create_release
107
+ uses: softprops/action-gh-release@v2
108
+ env:
109
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
110
+ VERSION: ${{ needs.bumpver-pyproject.outputs.version }}
111
+ BETA: ${{ inputs.release-type == 'upgrade-beta' || startsWith(inputs.release-type, 'new-beta')}}
112
+ with:
113
+ name: ${{ env.VERSION }}
114
+ tag_name: ${{ env.VERSION }}
115
+ body_path: CHANGELOG.md
116
+ draft: false
117
+ prerelease: ${{ env.BETA }}
118
+
119
+ # Send a trigger to python wrapper repo
120
+ trigger:
121
+ runs-on: ubuntu-latest
122
+ needs: [bumpver-pyproject, build-n-publish]
123
+ steps:
124
+ - uses: actions/checkout@v4
125
+ - name: Trigger Workflow in Another Repository
126
+ run: |
127
+ # Set the required variables
128
+ repo_owner="scc-digitalhub"
129
+ event_type="trigger-workflow"
130
+ lib_name="sdk"
131
+ lib_vers=${{ needs.bumpver-pyproject.outputs.version }}
132
+ branch=${{ github.ref }}
133
+
134
+ # Define the repositories to trigger
135
+ repos=("digitalhub-sdk-wrapper-kfp" "jupyter-notebook-custom-image" "digitalhub-sdk-wrapper-dbt" )
136
+
137
+ # Loop over the repositories and trigger the workflow
138
+ for repo in "${repos[@]}"; do
139
+ curl -L \
140
+ -X POST \
141
+ -H "Accept: application/vnd.github+json" \
142
+ -H "Authorization: Bearer ${{ secrets.TRIGGER_PAT }}" \
143
+ -H "X-GitHub-Api-Version: 2022-11-28" \
144
+ https://api.github.com/repos/$repo_owner/$repo/dispatches \
145
+ -d "{\"event_type\": \"$event_type\", \"client_payload\": {\"lib_name\": \"$lib_name\", \"lib_vers\": \"$lib_vers\", \"branch\": \"$branch\"}}"
146
+ done
@@ -0,0 +1,42 @@
1
+ name: Run Unit Local Test via Pytest
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ strategy:
9
+ matrix:
10
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
11
+
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - name: Set up Python ${{ matrix.python-version }}
15
+ uses: actions/setup-python@v5
16
+ with:
17
+ python-version: ${{ matrix.python-version }}
18
+ # You can test your matrix by printing the current Python version
19
+ - name: Display Python version
20
+ run: python -c "import sys; print(sys.version)"
21
+ - name: Install dependencies
22
+ run: |
23
+ python -m pip install --upgrade pip
24
+ python -m pip install .[dev]
25
+ - name: Lint with Ruff
26
+ run: |
27
+ pip install ruff
28
+ ruff check --output-format=github .
29
+ continue-on-error: true
30
+ - name: Get schema files from core
31
+ run: |
32
+ wget https://github.com/scc-digitalhub/digitalhub-core/archive/main.zip
33
+ 7z x main.zip
34
+ rm main.zip
35
+ mv digitalhub-core-main/schemas/specs test/local/instances/schemas
36
+ rm -r digitalhub-core-main
37
+ - name: Test with pytest
38
+ run: |
39
+ coverage run -m pytest test/local -v -s
40
+ - name: Generate Coverage Report
41
+ run: |
42
+ coverage report -m
@@ -0,0 +1,85 @@
1
+ name: Test release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ release-type:
7
+ description: "Release type"
8
+ required: true
9
+ default: "tag-num"
10
+ type: choice
11
+ options:
12
+ - major
13
+ - minor
14
+ - patch
15
+ - upgrade-beta
16
+ - new-beta-major
17
+ - new-beta-minor
18
+ - new-beta-patch
19
+ - final
20
+ skip-pypi:
21
+ description: "If true, skip publishing to PyPI"
22
+ default: false
23
+ type: boolean
24
+
25
+ jobs:
26
+ bumpver-pyproject:
27
+ runs-on: ubuntu-latest
28
+ outputs:
29
+ version: ${{ steps.current-version.outputs.version }}
30
+ steps:
31
+ - uses: actions/checkout@v4
32
+ - uses: actions/setup-python@v5
33
+ with:
34
+ python-version: "3.10"
35
+
36
+ - name: Install bumpver
37
+ run: python -m pip install bumpver
38
+
39
+ # Evaluate input and bumpver accordingly
40
+ - name: Execute script bumpver
41
+ run: ./.github/scripts/bump.sh ${{ inputs.release-type }}
42
+
43
+ # Store current version for later use
44
+ - name: Current version
45
+ id: current-version
46
+ run: |
47
+ ver=$(bumpver show -n --environ | grep CUR | awk '{gsub(/CURRENT_VERSION=/, ""); print}')
48
+ echo "version=${ver}" >> "$GITHUB_OUTPUT"
49
+
50
+ tag-and-release:
51
+ name: Tag and release on Github
52
+ needs: [bumpver-pyproject]
53
+ runs-on: ubuntu-latest
54
+ steps:
55
+ - uses: actions/checkout@v4
56
+ with:
57
+ ref: ${{ github.ref }}
58
+ fetch-depth: 0
59
+
60
+ - uses: actions/setup-python@v5
61
+ with:
62
+ python-version: "3.10"
63
+
64
+ - name: Install cliff
65
+ run: python -m pip install git-cliff
66
+
67
+ - name: Generate a changelog
68
+ env:
69
+ VERSION: ${{ needs.bumpver-pyproject.outputs.version }}
70
+ BETA: ${{ inputs.release-type == 'upgrade-beta' || startsWith(inputs.release-type, 'new-beta')}}
71
+ run: ./.github/scripts/changelog.sh ${{ env.VERSION }} ${{ env.BETA }}
72
+
73
+ - name: Create Release
74
+ id: create_release
75
+ uses: softprops/action-gh-release@v2
76
+ env:
77
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
78
+ VERSION: ${{ needs.bumpver-pyproject.outputs.version }}
79
+ BETA: ${{ inputs.release-type == 'upgrade-beta' || startsWith(inputs.release-type, 'new-beta')}}
80
+ with:
81
+ name: ${{ env.VERSION }}
82
+ tag_name: ${{ env.VERSION }}
83
+ body_path: CHANGELOG.md
84
+ draft: false
85
+ prerelease: ${{ env.BETA }}
@@ -0,0 +1,167 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ #docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # poetry
98
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102
+ #poetry.lock
103
+
104
+ # pdm
105
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106
+ #pdm.lock
107
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108
+ # in version control.
109
+ # https://pdm.fming.dev/#use-with-ide
110
+ .pdm.toml
111
+
112
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
113
+ __pypackages__/
114
+
115
+ # Celery stuff
116
+ celerybeat-schedule
117
+ celerybeat.pid
118
+
119
+ # SageMath parsed files
120
+ *.sage.py
121
+
122
+ # Environments
123
+ .env
124
+ .venv
125
+ env/
126
+ venv/
127
+ ENV/
128
+ env.bak/
129
+ venv.bak/
130
+
131
+ # Spyder project settings
132
+ .spyderproject
133
+ .spyproject
134
+
135
+ # Rope project settings
136
+ .ropeproject
137
+
138
+ # mkdocs documentation
139
+ /site
140
+
141
+ # mypy
142
+ .mypy_cache/
143
+ .dmypy.json
144
+ dmypy.json
145
+
146
+ # Pyre type checker
147
+ .pyre/
148
+
149
+ # pytype static type analyzer
150
+ .pytype/
151
+
152
+ # Cython debug symbols
153
+ cython_debug/
154
+
155
+ # PyCharm
156
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
157
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
158
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
159
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
160
+ #.idea/
161
+
162
+ # pylint
163
+ .pylintrc
164
+ .ruff_cache
165
+ TODO
166
+ .vscode
167
+ .DS_STORE
@@ -1,7 +1,8 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: digitalhub
3
- Version: 0.10.0b1
3
+ Version: 0.10.0b3
4
4
  Summary: Python SDK for Digitalhub
5
+ Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk
5
6
  Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
6
7
  License: Apache License
7
8
  Version 2.0, January 2004
@@ -219,44 +220,41 @@ License: Apache License
219
220
 
220
221
  (SIL OPEN FONT LICENSE Version 1.1) The Inter font family (https://github.com/rsms/inter)
221
222
  (SIL OPEN FONT LICENSE Version 1.1) The Fira Code font family (https://github.com/tonsky/FiraCode)
222
-
223
- Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk
223
+ License-File: LICENSE.txt
224
224
  Keywords: data,dataops,kubernetes
225
225
  Classifier: License :: OSI Approved :: Apache Software License
226
226
  Classifier: Programming Language :: Python :: 3.9
227
227
  Classifier: Programming Language :: Python :: 3.10
228
228
  Classifier: Programming Language :: Python :: 3.11
229
- Requires-Python: >=3.9
230
- Description-Content-Type: text/markdown
231
- License-File: LICENSE.txt
229
+ Requires-Python: <3.13,>=3.9
232
230
  Requires-Dist: boto3
233
- Requires-Dist: pydantic
234
- Requires-Dist: sqlalchemy
235
- Requires-Dist: pyarrow
231
+ Requires-Dist: gitpython>=3
236
232
  Requires-Dist: numpy<2
237
- Requires-Dist: requests
238
- Requires-Dist: PyYAML
239
- Requires-Dist: python-dotenv
240
- Requires-Dist: GitPython>=3
241
233
  Requires-Dist: psycopg2-binary
234
+ Requires-Dist: pyarrow
235
+ Requires-Dist: pydantic
236
+ Requires-Dist: python-dotenv
242
237
  Requires-Dist: python-slugify
238
+ Requires-Dist: pyyaml
239
+ Requires-Dist: requests
240
+ Requires-Dist: sqlalchemy
241
+ Provides-Extra: dev
242
+ Requires-Dist: bumpver; extra == 'dev'
243
+ Requires-Dist: jsonschema; extra == 'dev'
244
+ Requires-Dist: pytest; extra == 'dev'
245
+ Requires-Dist: pytest-cov; extra == 'dev'
243
246
  Provides-Extra: full
244
- Requires-Dist: pandas; extra == "full"
245
- Requires-Dist: mlflow; extra == "full"
246
- Provides-Extra: pandas
247
- Requires-Dist: pandas; extra == "pandas"
247
+ Requires-Dist: fsspec; extra == 'full'
248
+ Requires-Dist: mlflow; extra == 'full'
249
+ Requires-Dist: pandas; extra == 'full'
250
+ Requires-Dist: s3fs; extra == 'full'
248
251
  Provides-Extra: mlflow
249
- Requires-Dist: mlflow; extra == "mlflow"
250
- Provides-Extra: dev
251
- Requires-Dist: black; extra == "dev"
252
- Requires-Dist: pytest; extra == "dev"
253
- Requires-Dist: bumpver; extra == "dev"
254
- Requires-Dist: ruff; extra == "dev"
255
- Requires-Dist: moto; extra == "dev"
256
- Provides-Extra: docs
257
- Requires-Dist: Sphinx>=7; extra == "docs"
258
- Requires-Dist: pydata-sphinx-theme>=0.15; extra == "docs"
259
- Requires-Dist: numpydoc>=1.6; extra == "docs"
252
+ Requires-Dist: mlflow; extra == 'mlflow'
253
+ Provides-Extra: pandas
254
+ Requires-Dist: fsspec; extra == 'pandas'
255
+ Requires-Dist: pandas; extra == 'pandas'
256
+ Requires-Dist: s3fs; extra == 'pandas'
257
+ Description-Content-Type: text/markdown
260
258
 
261
259
  # Digitalhub Library
262
260
 
@@ -0,0 +1,34 @@
1
+ from __future__ import annotations
2
+
3
+ import typing
4
+
5
+ from digitalhub.entities._base.material.entity import MaterialEntity
6
+ from digitalhub.entities._commons.enums import EntityTypes
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from digitalhub.entities._base.entity.metadata import Metadata
10
+ from digitalhub.entities.dataitem._base.spec import DataitemSpec
11
+ from digitalhub.entities.dataitem._base.status import DataitemStatus
12
+
13
+
14
+ class Dataitem(MaterialEntity):
15
+ """
16
+ A class representing a dataitem.
17
+ """
18
+
19
+ ENTITY_TYPE = EntityTypes.DATAITEM.value
20
+
21
+ def __init__(
22
+ self,
23
+ project: str,
24
+ name: str,
25
+ uuid: str,
26
+ kind: str,
27
+ metadata: Metadata,
28
+ spec: DataitemSpec,
29
+ status: DataitemStatus,
30
+ user: str | None = None,
31
+ ) -> None:
32
+ super().__init__(project, name, uuid, kind, metadata, spec, status, user)
33
+ self.spec: DataitemSpec
34
+ self.status: DataitemStatus