digitalhub 0.10.0b5__tar.gz → 0.10.0b6__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 (311) hide show
  1. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/PKG-INFO +1 -4
  2. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/_base/api_builder.py +1 -1
  3. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/_base/client.py +22 -0
  4. digitalhub-0.10.0b6/digitalhub/client/_base/params_builder.py +16 -0
  5. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/api_builder.py +4 -3
  6. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/client.py +4 -0
  7. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/configurator.py +22 -0
  8. digitalhub-0.10.0b6/digitalhub/client/dhcore/params_builder.py +174 -0
  9. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/local/api_builder.py +4 -1
  10. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/local/client.py +6 -0
  11. digitalhub-0.10.0b6/digitalhub/client/local/params_builder.py +116 -0
  12. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/context/entity.py +4 -4
  13. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/executable/entity.py +2 -2
  14. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/material/entity.py +3 -3
  15. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/unversioned/entity.py +2 -2
  16. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/versioned/entity.py +2 -2
  17. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_commons/enums.py +1 -0
  18. digitalhub-0.10.0b6/digitalhub/entities/_commons/metrics.py +164 -0
  19. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_commons/utils.py +0 -26
  20. digitalhub-0.10.0b6/digitalhub/entities/_processors/base.py +527 -0
  21. digitalhub-0.10.0b5/digitalhub/entities/_operations/processor.py → digitalhub-0.10.0b6/digitalhub/entities/_processors/context.py +85 -739
  22. digitalhub-0.10.0b6/digitalhub/entities/_processors/utils.py +158 -0
  23. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/crud.py +10 -10
  24. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/crud.py +10 -10
  25. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/function/crud.py +9 -9
  26. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/_base/entity.py +26 -78
  27. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/_base/status.py +1 -1
  28. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/crud.py +10 -10
  29. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/project/_base/entity.py +317 -9
  30. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/project/crud.py +10 -9
  31. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/run/_base/entity.py +32 -84
  32. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/run/_base/status.py +1 -1
  33. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/run/crud.py +8 -8
  34. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/secret/_base/entity.py +3 -3
  35. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/secret/crud.py +9 -9
  36. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/entity.py +4 -4
  37. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/models.py +10 -0
  38. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/task/crud.py +8 -8
  39. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/workflow/crud.py +9 -9
  40. digitalhub-0.10.0b6/digitalhub/stores/s3/enums.py +17 -0
  41. digitalhub-0.10.0b6/digitalhub/stores/sql/enums.py +16 -0
  42. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/utils/git_utils.py +16 -9
  43. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/pyproject.toml +2 -5
  44. digitalhub-0.10.0b5/digitalhub/entities/_base/project/entity.py +0 -341
  45. digitalhub-0.10.0b5/digitalhub/entities/_commons/models.py +0 -13
  46. digitalhub-0.10.0b5/digitalhub/stores/s3/enums.py +0 -17
  47. digitalhub-0.10.0b5/digitalhub/stores/sql/enums.py +0 -16
  48. digitalhub-0.10.0b5/digitalhub/utils/__init__.py +0 -0
  49. digitalhub-0.10.0b5/test/local/instances/entities_other/function/function-container-git.json +0 -35
  50. digitalhub-0.10.0b5/test/local/instances/entities_other/function/function-container-local.json +0 -35
  51. digitalhub-0.10.0b5/test/local/instances/entities_other/function/function-container-zip.json +0 -35
  52. digitalhub-0.10.0b5/test/local/instances/entities_other/function/function-dbt.json +0 -27
  53. digitalhub-0.10.0b5/test/local/instances/entities_other/function/function-huggingfaceserve.json +0 -25
  54. digitalhub-0.10.0b5/test/local/instances/entities_other/function/function-mlflowserve.json +0 -26
  55. digitalhub-0.10.0b5/test/local/instances/entities_other/function/function-python-git.json +0 -35
  56. digitalhub-0.10.0b5/test/local/instances/entities_other/function/function-python-local.json +0 -35
  57. digitalhub-0.10.0b5/test/local/instances/entities_other/function/function-python-zip.json +0 -35
  58. digitalhub-0.10.0b5/test/local/instances/entities_other/function/function-sklearnserve.json +0 -26
  59. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-container+build.json +0 -90
  60. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-container+deploy.json +0 -89
  61. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-container+job.json +0 -457
  62. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-container+serve.json +0 -1143
  63. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-dbt+transform.json +0 -1202
  64. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-huggingfaceserve+serve.json +0 -1413
  65. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-kfp+pipeline.json +0 -275
  66. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-mlflowserve+serve.json +0 -86
  67. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-python+build.json +0 -927
  68. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-python+job.json +0 -479
  69. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-python+serve.json +0 -1972
  70. digitalhub-0.10.0b5/test/local/instances/entities_other/run/run-sklearnserve+serve.json +0 -1492
  71. digitalhub-0.10.0b5/test/local/instances/entities_other/workflow/workflow-kfp.json +0 -31
  72. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/.github/scripts/bump.sh +0 -0
  73. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/.github/scripts/changelog.sh +0 -0
  74. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/.github/scripts/cliff.toml +0 -0
  75. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/.github/workflows/release.yml +0 -0
  76. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/.github/workflows/run_local_test.yml +0 -0
  77. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/.github/workflows/test_release.yml +0 -0
  78. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/.gitignore +0 -0
  79. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/LICENSE.txt +0 -0
  80. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/README.md +0 -0
  81. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/__init__.py +0 -0
  82. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/__init__.py +0 -0
  83. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/_base/__init__.py +0 -0
  84. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/_base/key_builder.py +0 -0
  85. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/api.py +0 -0
  86. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/builder.py +0 -0
  87. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/__init__.py +0 -0
  88. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/enums.py +0 -0
  89. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/error_parser.py +0 -0
  90. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/key_builder.py +0 -0
  91. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/models.py +0 -0
  92. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/utils.py +0 -0
  93. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/local/__init__.py +0 -0
  94. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/local/enums.py +0 -0
  95. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/client/local/key_builder.py +0 -0
  96. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/configurator/__init__.py +0 -0
  97. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/configurator/api.py +0 -0
  98. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/configurator/configurator.py +0 -0
  99. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/configurator/credentials_store.py +0 -0
  100. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/configurator/ini_module.py +0 -0
  101. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/context/api.py +0 -0
  102. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/context/builder.py +0 -0
  103. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/context/context.py +0 -0
  104. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/__init__.py +0 -0
  105. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/__init__.py +0 -0
  106. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/_base/__init__.py +0 -0
  107. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/_base/entity.py +0 -0
  108. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/context/__init__.py +0 -0
  109. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/__init__.py +0 -0
  110. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/__init__.py +0 -0
  111. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/metadata.py +0 -0
  112. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/name.py +0 -0
  113. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/spec.py +0 -0
  114. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/status.py +0 -0
  115. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/uuid.py +0 -0
  116. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/builder.py +0 -0
  117. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/entity.py +0 -0
  118. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/metadata.py +0 -0
  119. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/spec.py +0 -0
  120. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/status.py +0 -0
  121. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/executable/__init__.py +0 -0
  122. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/material/__init__.py +0 -0
  123. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/material/spec.py +0 -0
  124. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/material/status.py +0 -0
  125. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/material/utils.py +0 -0
  126. {digitalhub-0.10.0b5/digitalhub/entities/_base/project → digitalhub-0.10.0b6/digitalhub/entities/_base/runtime_entity}/__init__.py +0 -0
  127. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/runtime_entity/builder.py +0 -0
  128. {digitalhub-0.10.0b5/digitalhub/entities/_base/runtime_entity → digitalhub-0.10.0b6/digitalhub/entities/_base/unversioned}/__init__.py +0 -0
  129. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/unversioned/builder.py +0 -0
  130. {digitalhub-0.10.0b5/digitalhub/entities/_base/unversioned → digitalhub-0.10.0b6/digitalhub/entities/_base/versioned}/__init__.py +0 -0
  131. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_base/versioned/builder.py +0 -0
  132. {digitalhub-0.10.0b5/digitalhub/entities/_base/versioned → digitalhub-0.10.0b6/digitalhub/entities/_commons}/__init__.py +0 -0
  133. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/_commons/types.py +0 -0
  134. {digitalhub-0.10.0b5/digitalhub/entities/_commons → digitalhub-0.10.0b6/digitalhub/entities/_processors}/__init__.py +0 -0
  135. {digitalhub-0.10.0b5/digitalhub/entities/_operations → digitalhub-0.10.0b6/digitalhub/entities/artifact}/__init__.py +0 -0
  136. {digitalhub-0.10.0b5/digitalhub/entities/artifact → digitalhub-0.10.0b6/digitalhub/entities/artifact/_base}/__init__.py +0 -0
  137. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/_base/builder.py +0 -0
  138. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/_base/entity.py +0 -0
  139. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/_base/spec.py +0 -0
  140. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/_base/status.py +0 -0
  141. {digitalhub-0.10.0b5/digitalhub/entities/artifact/_base → digitalhub-0.10.0b6/digitalhub/entities/artifact/artifact}/__init__.py +0 -0
  142. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/artifact/builder.py +0 -0
  143. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/artifact/entity.py +0 -0
  144. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/artifact/spec.py +0 -0
  145. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/artifact/status.py +0 -0
  146. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/utils.py +0 -0
  147. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/builders.py +0 -0
  148. {digitalhub-0.10.0b5/digitalhub/entities/artifact/artifact → digitalhub-0.10.0b6/digitalhub/entities/dataitem}/__init__.py +0 -0
  149. {digitalhub-0.10.0b5/digitalhub/entities/dataitem → digitalhub-0.10.0b6/digitalhub/entities/dataitem/_base}/__init__.py +0 -0
  150. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/_base/builder.py +0 -0
  151. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/_base/entity.py +0 -0
  152. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/_base/spec.py +0 -0
  153. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/_base/status.py +0 -0
  154. {digitalhub-0.10.0b5/digitalhub/entities/dataitem/_base → digitalhub-0.10.0b6/digitalhub/entities/dataitem/dataitem}/__init__.py +0 -0
  155. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/dataitem/builder.py +0 -0
  156. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/dataitem/entity.py +0 -0
  157. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/dataitem/spec.py +0 -0
  158. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/dataitem/status.py +0 -0
  159. {digitalhub-0.10.0b5/digitalhub/entities/dataitem/dataitem → digitalhub-0.10.0b6/digitalhub/entities/dataitem/iceberg}/__init__.py +0 -0
  160. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/iceberg/builder.py +0 -0
  161. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/iceberg/entity.py +0 -0
  162. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/iceberg/spec.py +0 -0
  163. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/iceberg/status.py +0 -0
  164. {digitalhub-0.10.0b5/digitalhub/entities/dataitem/iceberg → digitalhub-0.10.0b6/digitalhub/entities/dataitem/table}/__init__.py +0 -0
  165. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/builder.py +0 -0
  166. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/entity.py +0 -0
  167. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/models.py +0 -0
  168. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/spec.py +0 -0
  169. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/status.py +0 -0
  170. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/utils.py +0 -0
  171. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/utils.py +0 -0
  172. {digitalhub-0.10.0b5/digitalhub/entities/dataitem/table → digitalhub-0.10.0b6/digitalhub/entities/function}/__init__.py +0 -0
  173. {digitalhub-0.10.0b5/digitalhub/entities/function → digitalhub-0.10.0b6/digitalhub/entities/function/_base}/__init__.py +0 -0
  174. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/function/_base/builder.py +0 -0
  175. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/function/_base/entity.py +0 -0
  176. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/function/_base/spec.py +0 -0
  177. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/function/_base/status.py +0 -0
  178. {digitalhub-0.10.0b5/digitalhub/entities/function/_base → digitalhub-0.10.0b6/digitalhub/entities/model}/__init__.py +0 -0
  179. {digitalhub-0.10.0b5/digitalhub/entities/model → digitalhub-0.10.0b6/digitalhub/entities/model/_base}/__init__.py +0 -0
  180. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/_base/builder.py +0 -0
  181. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/_base/spec.py +0 -0
  182. {digitalhub-0.10.0b5/digitalhub/entities/model/_base → digitalhub-0.10.0b6/digitalhub/entities/model/huggingface}/__init__.py +0 -0
  183. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/huggingface/builder.py +0 -0
  184. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/huggingface/entity.py +0 -0
  185. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/huggingface/spec.py +0 -0
  186. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/huggingface/status.py +0 -0
  187. {digitalhub-0.10.0b5/digitalhub/entities/model/huggingface → digitalhub-0.10.0b6/digitalhub/entities/model/mlflow}/__init__.py +0 -0
  188. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/builder.py +0 -0
  189. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/entity.py +0 -0
  190. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/models.py +0 -0
  191. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/spec.py +0 -0
  192. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/status.py +0 -0
  193. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/utils.py +0 -0
  194. {digitalhub-0.10.0b5/digitalhub/entities/model/mlflow → digitalhub-0.10.0b6/digitalhub/entities/model/model}/__init__.py +0 -0
  195. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/model/builder.py +0 -0
  196. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/model/entity.py +0 -0
  197. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/model/spec.py +0 -0
  198. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/model/status.py +0 -0
  199. {digitalhub-0.10.0b5/digitalhub/entities/model/model → digitalhub-0.10.0b6/digitalhub/entities/model/sklearn}/__init__.py +0 -0
  200. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/sklearn/builder.py +0 -0
  201. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/sklearn/entity.py +0 -0
  202. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/sklearn/spec.py +0 -0
  203. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/sklearn/status.py +0 -0
  204. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/model/utils.py +0 -0
  205. {digitalhub-0.10.0b5/digitalhub/entities/model/sklearn → digitalhub-0.10.0b6/digitalhub/entities/project}/__init__.py +0 -0
  206. {digitalhub-0.10.0b5/digitalhub/entities/project → digitalhub-0.10.0b6/digitalhub/entities/project/_base}/__init__.py +0 -0
  207. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/project/_base/builder.py +0 -0
  208. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/project/_base/spec.py +0 -0
  209. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/project/_base/status.py +0 -0
  210. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/project/utils.py +0 -0
  211. {digitalhub-0.10.0b5/digitalhub/entities/project/_base → digitalhub-0.10.0b6/digitalhub/entities/run}/__init__.py +0 -0
  212. {digitalhub-0.10.0b5/digitalhub/entities/run → digitalhub-0.10.0b6/digitalhub/entities/run/_base}/__init__.py +0 -0
  213. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/run/_base/builder.py +0 -0
  214. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/run/_base/spec.py +0 -0
  215. {digitalhub-0.10.0b5/digitalhub/entities/run/_base → digitalhub-0.10.0b6/digitalhub/entities/secret}/__init__.py +0 -0
  216. {digitalhub-0.10.0b5/digitalhub/entities/secret → digitalhub-0.10.0b6/digitalhub/entities/secret/_base}/__init__.py +0 -0
  217. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/secret/_base/builder.py +0 -0
  218. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/secret/_base/spec.py +0 -0
  219. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/secret/_base/status.py +0 -0
  220. {digitalhub-0.10.0b5/digitalhub/entities/secret/_base → digitalhub-0.10.0b6/digitalhub/entities/task}/__init__.py +0 -0
  221. {digitalhub-0.10.0b5/digitalhub/entities/task → digitalhub-0.10.0b6/digitalhub/entities/task/_base}/__init__.py +0 -0
  222. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/builder.py +0 -0
  223. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/spec.py +0 -0
  224. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/status.py +0 -0
  225. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/utils.py +0 -0
  226. {digitalhub-0.10.0b5/digitalhub/entities/task/_base → digitalhub-0.10.0b6/digitalhub/entities/workflow}/__init__.py +0 -0
  227. {digitalhub-0.10.0b5/digitalhub/entities/workflow → digitalhub-0.10.0b6/digitalhub/entities/workflow/_base}/__init__.py +0 -0
  228. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/workflow/_base/builder.py +0 -0
  229. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/workflow/_base/entity.py +0 -0
  230. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/workflow/_base/spec.py +0 -0
  231. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/entities/workflow/_base/status.py +0 -0
  232. {digitalhub-0.10.0b5/digitalhub/entities/workflow/_base → digitalhub-0.10.0b6/digitalhub/factory}/__init__.py +0 -0
  233. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/factory/api.py +0 -0
  234. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/factory/factory.py +0 -0
  235. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/factory/utils.py +0 -0
  236. {digitalhub-0.10.0b5/digitalhub/factory → digitalhub-0.10.0b6/digitalhub/readers}/__init__.py +0 -0
  237. {digitalhub-0.10.0b5/digitalhub/readers → digitalhub-0.10.0b6/digitalhub/readers/data}/__init__.py +0 -0
  238. {digitalhub-0.10.0b5/digitalhub/readers/data → digitalhub-0.10.0b6/digitalhub/readers/data/_base}/__init__.py +0 -0
  239. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/readers/data/_base/builder.py +0 -0
  240. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/readers/data/_base/reader.py +0 -0
  241. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/readers/data/api.py +0 -0
  242. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/readers/data/factory.py +0 -0
  243. {digitalhub-0.10.0b5/digitalhub/readers/data/_base → digitalhub-0.10.0b6/digitalhub/readers/data/pandas}/__init__.py +0 -0
  244. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/readers/data/pandas/builder.py +0 -0
  245. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/readers/data/pandas/reader.py +0 -0
  246. {digitalhub-0.10.0b5/digitalhub/readers/data/pandas → digitalhub-0.10.0b6/digitalhub/readers/query}/__init__.py +0 -0
  247. {digitalhub-0.10.0b5/digitalhub/readers/query → digitalhub-0.10.0b6/digitalhub/runtimes}/__init__.py +0 -0
  248. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/runtimes/_base.py +0 -0
  249. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/runtimes/builder.py +0 -0
  250. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/runtimes/enums.py +0 -0
  251. {digitalhub-0.10.0b5/digitalhub/runtimes → digitalhub-0.10.0b6/digitalhub/stores}/__init__.py +0 -0
  252. {digitalhub-0.10.0b5/digitalhub/stores → digitalhub-0.10.0b6/digitalhub/stores/_base}/__init__.py +0 -0
  253. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/_base/store.py +0 -0
  254. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/api.py +0 -0
  255. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/builder.py +0 -0
  256. {digitalhub-0.10.0b5/digitalhub/stores/_base → digitalhub-0.10.0b6/digitalhub/stores/local}/__init__.py +0 -0
  257. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/local/store.py +0 -0
  258. {digitalhub-0.10.0b5/digitalhub/stores/local → digitalhub-0.10.0b6/digitalhub/stores/remote}/__init__.py +0 -0
  259. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/remote/store.py +0 -0
  260. {digitalhub-0.10.0b5/digitalhub/stores/remote → digitalhub-0.10.0b6/digitalhub/stores/s3}/__init__.py +0 -0
  261. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/s3/configurator.py +0 -0
  262. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/s3/models.py +0 -0
  263. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/s3/store.py +0 -0
  264. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/s3/utils.py +0 -0
  265. {digitalhub-0.10.0b5/digitalhub/stores/s3 → digitalhub-0.10.0b6/digitalhub/stores/sql}/__init__.py +0 -0
  266. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/sql/configurator.py +0 -0
  267. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/sql/models.py +0 -0
  268. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/stores/sql/store.py +0 -0
  269. {digitalhub-0.10.0b5/digitalhub/stores/sql → digitalhub-0.10.0b6/digitalhub/utils}/__init__.py +0 -0
  270. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/utils/enums.py +0 -0
  271. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/utils/exceptions.py +0 -0
  272. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/utils/file_utils.py +0 -0
  273. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/utils/generic_utils.py +0 -0
  274. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/utils/io_utils.py +0 -0
  275. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/utils/logger.py +0 -0
  276. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/utils/types.py +0 -0
  277. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/digitalhub/utils/uri_utils.py +0 -0
  278. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/README.md +0 -0
  279. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/local-copy/README.md +0 -0
  280. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/local-copy/local_copy.sh +0 -0
  281. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/DBT.dockerfile +0 -0
  282. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/KFP.dockerfile +0 -0
  283. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/PY10.dockerfile +0 -0
  284. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/PY11.dockerfile +0 -0
  285. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/PY9.dockerfile +0 -0
  286. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/README.md +0 -0
  287. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/build_containers.sh +0 -0
  288. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/spec_exporter/README.md +0 -0
  289. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/scripts/spec_exporter/exporter.sh +0 -0
  290. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/CRUD/test_artifacts.py +0 -0
  291. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/CRUD/test_dataitems.py +0 -0
  292. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/CRUD/test_models.py +0 -0
  293. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/imports/test_imports.py +0 -0
  294. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/artifact/artifact-http.json +0 -0
  295. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/artifact/artifact-local.json +0 -0
  296. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/artifact/artifact-s3.json +0 -0
  297. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/artifact/artifact-sql.json +0 -0
  298. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/dataitem/dataitem-table.json +0 -0
  299. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/dataitem/dataitem.json +0 -0
  300. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/model/model-huggingface.json +0 -0
  301. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/model/model-mlflow.json +0 -0
  302. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/model/model-sklearn.json +0 -0
  303. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/model/model.json +0 -0
  304. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/project.json +0 -0
  305. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/entities/secret.json +0 -0
  306. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/local/instances/test_validate.py +0 -0
  307. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/test_crud_functions.py +0 -0
  308. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/test_crud_runs.py +0 -0
  309. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/test_crud_tasks.py +0 -0
  310. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/testkfp.py +0 -0
  311. {digitalhub-0.10.0b5 → digitalhub-0.10.0b6}/test/testkfp_pipeline.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: digitalhub
3
- Version: 0.10.0b5
3
+ Version: 0.10.0b6
4
4
  Summary: Python SDK for Digitalhub
5
5
  Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk
6
6
  Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
@@ -244,16 +244,13 @@ Requires-Dist: jsonschema; extra == 'dev'
244
244
  Requires-Dist: pytest; extra == 'dev'
245
245
  Requires-Dist: pytest-cov; extra == 'dev'
246
246
  Provides-Extra: full
247
- Requires-Dist: fsspec; extra == 'full'
248
247
  Requires-Dist: mlflow; extra == 'full'
249
248
  Requires-Dist: pandas; extra == 'full'
250
- Requires-Dist: s3fs; extra == 'full'
251
249
  Provides-Extra: mlflow
252
250
  Requires-Dist: mlflow; extra == 'mlflow'
253
251
  Provides-Extra: pandas
254
252
  Requires-Dist: fsspec; extra == 'pandas'
255
253
  Requires-Dist: pandas; extra == 'pandas'
256
- Requires-Dist: s3fs; extra == 'pandas'
257
254
  Description-Content-Type: text/markdown
258
255
 
259
256
  # Digitalhub Library
@@ -10,7 +10,7 @@ class ClientApiBuilder:
10
10
  """
11
11
 
12
12
  @abstractmethod
13
- def build_api(self) -> str:
13
+ def build_api(self, category: str, operation: str, **kwargs) -> str:
14
14
  """
15
15
  Build the API for the client.
16
16
  """
@@ -7,6 +7,7 @@ from typing import Any
7
7
  if typing.TYPE_CHECKING:
8
8
  from digitalhub.client._base.api_builder import ClientApiBuilder
9
9
  from digitalhub.client._base.key_builder import ClientKeyBuilder
10
+ from digitalhub.client._base.params_builder import ClientParametersBuilder
10
11
 
11
12
 
12
13
  class Client:
@@ -21,6 +22,7 @@ class Client:
21
22
  def __init__(self) -> None:
22
23
  self._api_builder: ClientApiBuilder = None
23
24
  self._key_builder: ClientKeyBuilder = None
25
+ self._params_builder: ClientParametersBuilder = None
24
26
 
25
27
  ##############################
26
28
  # CRUD methods
@@ -112,6 +114,26 @@ class Client:
112
114
  """
113
115
  return self._key_builder.build_key(category, *args, **kwargs)
114
116
 
117
+ def build_parameters(self, category: str, operation: str, **kwargs) -> dict:
118
+ """
119
+ Build the parameters for the client call.
120
+
121
+ Parameters
122
+ ----------
123
+ category : str
124
+ API category.
125
+ operation : str
126
+ API operation.
127
+ **kwargs : dict
128
+ Parameters to build.
129
+
130
+ Returns
131
+ -------
132
+ dict
133
+ Parameters formatted.
134
+ """
135
+ return self._params_builder.build_parameters(category, operation, **kwargs)
136
+
115
137
  ##############################
116
138
  # Interface methods
117
139
  ##############################
@@ -0,0 +1,16 @@
1
+ from __future__ import annotations
2
+
3
+ from abc import abstractmethod
4
+
5
+
6
+ class ClientParametersBuilder:
7
+ """
8
+ This class is used to build the parameters for the client call.
9
+ Depending on the client, the parameters are built differently.
10
+ """
11
+
12
+ @abstractmethod
13
+ def build_parameters(self, category: str, operation: str, **kwargs) -> dict:
14
+ """
15
+ Build the parameters for the client call.
16
+ """
@@ -71,8 +71,11 @@ class ClientDHCoreApiBuilder(ClientApiBuilder):
71
71
  """
72
72
  Build the context API for the client.
73
73
  """
74
- entity_type = kwargs["entity_type"] + "s"
75
74
  project = kwargs["project"]
75
+ if operation == BackendOperations.SEARCH.value:
76
+ return f"{API_CONTEXT}/{project}/solr/search/item"
77
+
78
+ entity_type = kwargs["entity_type"] + "s"
76
79
  if operation in (
77
80
  BackendOperations.CREATE.value,
78
81
  BackendOperations.LIST.value,
@@ -94,8 +97,6 @@ class ClientDHCoreApiBuilder(ClientApiBuilder):
94
97
  return f"{API_CONTEXT}/{project}/{entity_type}/data"
95
98
  elif operation == BackendOperations.FILES.value:
96
99
  return f"{API_CONTEXT}/{project}/{entity_type}/{kwargs['entity_id']}/files/info"
97
- elif operation == BackendOperations.SEARCH.value:
98
- return f"{API_CONTEXT}/{project}/solr/search/item"
99
100
  elif operation == BackendOperations.METRICS.value:
100
101
  if kwargs["metric_name"] is not None:
101
102
  return f"{API_CONTEXT}/{project}/{entity_type}/{kwargs['entity_id']}/metrics/{kwargs['metric_name']}"
@@ -11,6 +11,7 @@ from digitalhub.client.dhcore.api_builder import ClientDHCoreApiBuilder
11
11
  from digitalhub.client.dhcore.configurator import ClientDHCoreConfigurator
12
12
  from digitalhub.client.dhcore.error_parser import ErrorParser
13
13
  from digitalhub.client.dhcore.key_builder import ClientDHCoreKeyBuilder
14
+ from digitalhub.client.dhcore.params_builder import ClientDHCoreParametersBuilder
14
15
  from digitalhub.utils.exceptions import BackendError
15
16
  from digitalhub.utils.generic_utils import dump_json
16
17
 
@@ -43,6 +44,9 @@ class ClientDHCore(Client):
43
44
  # Key builder
44
45
  self._key_builder = ClientDHCoreKeyBuilder()
45
46
 
47
+ # Parameters builder
48
+ self._params_builder = ClientDHCoreParametersBuilder()
49
+
46
50
  # Error parser
47
51
  self._error_parser = ErrorParser()
48
52
 
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import os
3
4
  import typing
4
5
  from warnings import warn
5
6
 
@@ -8,6 +9,8 @@ from requests import request
8
9
  from digitalhub.client.dhcore.enums import AuthType, DhcoreEnvVar
9
10
  from digitalhub.client.dhcore.models import BasicAuth, OAuth2TokenAuth
10
11
  from digitalhub.configurator.configurator import configurator
12
+ from digitalhub.stores.s3.enums import S3StoreEnv
13
+ from digitalhub.stores.sql.enums import SqlStoreEnv
11
14
  from digitalhub.utils.exceptions import ClientError
12
15
  from digitalhub.utils.uri_utils import has_remote_scheme
13
16
 
@@ -264,6 +267,20 @@ class ClientDHCoreConfigurator:
264
267
  configurator.set_credential(DhcoreEnvVar.ACCESS_TOKEN.value, dict_response["access_token"])
265
268
  configurator.set_credential(DhcoreEnvVar.REFRESH_TOKEN.value, dict_response["refresh_token"])
266
269
 
270
+ # Set new credential in stores
271
+ if (access_key := dict_response.get("aws_access_key_id")) is not None:
272
+ configurator.set_credential(S3StoreEnv.ACCESS_KEY_ID.value, access_key)
273
+ os.environ[S3StoreEnv.ACCESS_KEY_ID.value] = access_key
274
+ if (secret_key := dict_response.get("aws_secret_access_key")) is not None:
275
+ configurator.set_credential(S3StoreEnv.SECRET_ACCESS_KEY.value,secret_key )
276
+ os.environ[S3StoreEnv.SECRET_ACCESS_KEY.value] = secret_key
277
+ if (db_username := dict_response.get("db_username")) is not None:
278
+ configurator.set_credential(SqlStoreEnv.USERNAME.value, db_username)
279
+ os.environ[SqlStoreEnv.USERNAME.value] = db_username
280
+ if (db_password := dict_response.get("db_password")) is not None:
281
+ configurator.set_credential(SqlStoreEnv.PASSWORD.value, db_password)
282
+ os.environ[SqlStoreEnv.PASSWORD.value] = db_password
283
+
267
284
  # Propagate new access token to config file
268
285
  self._write_env()
269
286
 
@@ -280,6 +297,10 @@ class ClientDHCoreConfigurator:
280
297
  [
281
298
  DhcoreEnvVar.ACCESS_TOKEN.value,
282
299
  DhcoreEnvVar.REFRESH_TOKEN.value,
300
+ S3StoreEnv.ACCESS_KEY_ID.value,
301
+ S3StoreEnv.SECRET_ACCESS_KEY.value,
302
+ SqlStoreEnv.USERNAME.value,
303
+ SqlStoreEnv.PASSWORD.value
283
304
  ]
284
305
  )
285
306
 
@@ -334,6 +355,7 @@ class ClientDHCoreConfigurator:
334
355
  "grant_type": "refresh_token",
335
356
  "client_id": client_id,
336
357
  "refresh_token": refresh_token,
358
+ "scope": "openid credentials offline_access",
337
359
  }
338
360
  headers = {"Content-Type": "application/x-www-form-urlencoded"}
339
361
  return request("POST", url, data=payload, headers=headers, timeout=60)
@@ -0,0 +1,174 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.client._base.params_builder import ClientParametersBuilder
4
+ from digitalhub.entities._commons.enums import ApiCategories, BackendOperations
5
+
6
+
7
+ class ClientDHCoreParametersBuilder(ClientParametersBuilder):
8
+ """
9
+ This class is used to build the parameters for the DHCore client calls.
10
+ """
11
+
12
+ def build_parameters(self, category: str, operation: str, **kwargs) -> dict:
13
+ """
14
+ Build the parameters for the client call.
15
+
16
+ Parameters
17
+ ----------
18
+ category : str
19
+ API category.
20
+ operation : str
21
+ API operation.
22
+ **kwargs : dict
23
+ Parameters to build.
24
+
25
+ Returns
26
+ -------
27
+ dict
28
+ Parameters formatted.
29
+ """
30
+ if category == ApiCategories.BASE.value:
31
+ return self.build_parameters_base(operation, **kwargs)
32
+ return self.build_parameters_context(operation, **kwargs)
33
+
34
+ def build_parameters_base(self, operation: str, **kwargs) -> dict:
35
+ """
36
+ Build the base parameters for the client call.
37
+
38
+ Parameters
39
+ ----------
40
+ operation : str
41
+ API operation.
42
+ **kwargs : dict
43
+ Parameters to build.
44
+
45
+ Returns
46
+ -------
47
+ dict
48
+ Parameters formatted.
49
+ """
50
+ kwargs = self._set_params(**kwargs)
51
+ if operation == BackendOperations.DELETE.value:
52
+ if (cascade := kwargs.pop("cascade", None)) is not None:
53
+ kwargs["params"]["cascade"] = str(cascade).lower()
54
+ elif operation == BackendOperations.SHARE.value:
55
+ kwargs["params"]["user"] = kwargs.pop("user")
56
+ if kwargs.pop("unshare", False):
57
+ kwargs["params"]["id"] = kwargs.pop("id")
58
+
59
+ return kwargs
60
+
61
+ def build_parameters_context(self, operation: str, **kwargs) -> dict:
62
+ """
63
+ Build the context parameters for the client call.
64
+
65
+ Parameters
66
+ ----------
67
+ operation : str
68
+ API operation.
69
+ **kwargs : dict
70
+ Parameters to build.
71
+
72
+ Returns
73
+ -------
74
+ dict
75
+ Parameters formatted.
76
+ """
77
+ kwargs = self._set_params(**kwargs)
78
+
79
+ # Handle read
80
+ if operation == BackendOperations.READ_ALL_VERSIONS.value:
81
+ kwargs["params"]["versions"] = "all"
82
+ kwargs["params"]["name"] = kwargs.pop("entity_name")
83
+ # Handle delete
84
+ elif operation == BackendOperations.DELETE.value:
85
+ # Handle cascade
86
+ if (cascade := kwargs.pop("cascade", None)) is not None:
87
+ kwargs["params"]["cascade"] = str(cascade).lower()
88
+
89
+ # Handle delete all versions
90
+ entity_id = kwargs.pop("entity_id")
91
+ entity_name = kwargs.pop("entity_name")
92
+ if not kwargs.pop("delete_all_versions", False):
93
+ if entity_id is None:
94
+ raise ValueError(
95
+ "If `delete_all_versions` is False, `entity_id` must be provided,"
96
+ " either as an argument or in key `identifier`.",
97
+ )
98
+ else:
99
+ kwargs["params"]["name"] = entity_name
100
+ # Handle search
101
+ elif operation == BackendOperations.SEARCH.value:
102
+ # Handle fq
103
+ if (fq := kwargs.pop("fq", None)) is not None:
104
+ kwargs["params"]["fq"] = fq
105
+
106
+ # Add search query
107
+ if (query := kwargs.pop("query", None)) is not None:
108
+ kwargs["params"]["q"] = query
109
+
110
+ # Add search filters
111
+ fq = []
112
+
113
+ # Entity types
114
+ if (entity_types := kwargs.pop("entity_types", None)) is not None:
115
+ if not isinstance(entity_types, list):
116
+ entity_types = [entity_types]
117
+ if len(entity_types) == 1:
118
+ entity_types = entity_types[0]
119
+ else:
120
+ entity_types = " OR ".join(entity_types)
121
+ fq.append(f"type:({entity_types})")
122
+
123
+ # Name
124
+ if (name := kwargs.pop("name", None)) is not None:
125
+ fq.append(f'metadata.name:"{name}"')
126
+
127
+ # Kind
128
+ if (kind := kwargs.pop("kind", None)) is not None:
129
+ fq.append(f'kind:"{kind}"')
130
+
131
+ # Time
132
+ created = kwargs.pop("created", None)
133
+ updated = kwargs.pop("updated", None)
134
+ created = created if created is not None else "*"
135
+ updated = updated if updated is not None else "*"
136
+ fq.append(f"metadata.updated:[{created} TO {updated}]")
137
+
138
+ # Description
139
+ if (description := kwargs.pop("description", None)) is not None:
140
+ fq.append(f'metadata.description:"{description}"')
141
+
142
+ # Labels
143
+ if (labels := kwargs.pop("labels", None)) is not None:
144
+ if len(labels) == 1:
145
+ labels = labels[0]
146
+ else:
147
+ labels = " AND ".join(labels)
148
+ fq.append(f"metadata.labels:({labels})")
149
+
150
+ # Add filters
151
+ kwargs["params"]["fq"] = fq
152
+
153
+ return kwargs
154
+
155
+ @staticmethod
156
+ def _set_params(**kwargs) -> dict:
157
+ """
158
+ Format params parameter.
159
+
160
+ Parameters
161
+ ----------
162
+ **kwargs : dict
163
+ Keyword arguments.
164
+
165
+ Returns
166
+ -------
167
+ dict
168
+ Parameters with initialized params.
169
+ """
170
+ if not kwargs:
171
+ kwargs = {}
172
+ if "params" not in kwargs:
173
+ kwargs["params"] = {}
174
+ return kwargs
@@ -70,7 +70,10 @@ class ClientLocalApiBuilder(ClientApiBuilder):
70
70
  """
71
71
  Build the context API for the client.
72
72
  """
73
- entity_type = kwargs["entity_type"] + "s"
73
+ try:
74
+ entity_type = kwargs["entity_type"] + "s"
75
+ except KeyError:
76
+ pass
74
77
  project = kwargs["project"]
75
78
  if operation in (
76
79
  BackendOperations.CREATE.value,
@@ -8,6 +8,7 @@ from digitalhub.client._base.client import Client
8
8
  from digitalhub.client.local.api_builder import ClientLocalApiBuilder
9
9
  from digitalhub.client.local.enums import LocalClientVar
10
10
  from digitalhub.client.local.key_builder import ClientLocalKeyBuilder
11
+ from digitalhub.client.local.params_builder import ClientLocalParametersBuilder
11
12
  from digitalhub.utils.exceptions import BackendError
12
13
 
13
14
 
@@ -28,6 +29,7 @@ class ClientLocal(Client):
28
29
  super().__init__()
29
30
  self._api_builder = ClientLocalApiBuilder()
30
31
  self._key_builder = ClientLocalKeyBuilder()
32
+ self._params_builder = ClientLocalParametersBuilder()
31
33
  self._db: dict[str, dict[str, dict]] = {}
32
34
 
33
35
  ##############################
@@ -50,6 +52,8 @@ class ClientLocal(Client):
50
52
  dict
51
53
  The created object.
52
54
  """
55
+ if api == LocalClientVar.EMPTY.value:
56
+ return {}
53
57
  if not isinstance(obj, dict):
54
58
  raise TypeError("Object must be a dictionary")
55
59
 
@@ -178,6 +182,8 @@ class ClientLocal(Client):
178
182
  dict
179
183
  The updated object.
180
184
  """
185
+ if api == LocalClientVar.EMPTY.value:
186
+ return {}
181
187
  if not isinstance(obj, dict):
182
188
  raise TypeError("Object must be a dictionary")
183
189
 
@@ -0,0 +1,116 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.client._base.params_builder import ClientParametersBuilder
4
+ from digitalhub.entities._commons.enums import ApiCategories, BackendOperations
5
+
6
+
7
+ class ClientLocalParametersBuilder(ClientParametersBuilder):
8
+ """
9
+ This class is used to build the parameters for the Local client calls.
10
+ """
11
+
12
+ def build_parameters(self, category: str, operation: str, **kwargs) -> dict:
13
+ """
14
+ Build the parameters for the client call.
15
+
16
+ Parameters
17
+ ----------
18
+ category : str
19
+ API category.
20
+ operation : str
21
+ API operation.
22
+ **kwargs : dict
23
+ Parameters to build.
24
+
25
+ Returns
26
+ -------
27
+ dict
28
+ Parameters formatted.
29
+ """
30
+ if category == ApiCategories.BASE.value:
31
+ return self.build_parameters_base(operation, **kwargs)
32
+ return self.build_parameters_context(operation, **kwargs)
33
+
34
+ def build_parameters_base(self, operation: str, **kwargs) -> dict:
35
+ """
36
+ Build the base parameters for the client call.
37
+
38
+ Parameters
39
+ ----------
40
+ operation : str
41
+ API operation.
42
+ **kwargs : dict
43
+ Parameters to build.
44
+
45
+ Returns
46
+ -------
47
+ dict
48
+ Parameters formatted.
49
+ """
50
+ kwargs = self._set_params(**kwargs)
51
+ if operation == BackendOperations.DELETE.value:
52
+ if (cascade := kwargs.pop("cascade", None)) is not None:
53
+ kwargs["params"]["cascade"] = str(cascade).lower()
54
+ return kwargs
55
+
56
+ def build_parameters_context(self, operation: str, **kwargs) -> dict:
57
+ """
58
+ Build the context parameters for the client call.
59
+
60
+ Parameters
61
+ ----------
62
+ operation : str
63
+ API operation.
64
+ **kwargs : dict
65
+ Parameters to build.
66
+
67
+ Returns
68
+ -------
69
+ dict
70
+ Parameters formatted.
71
+ """
72
+ kwargs = self._set_params(**kwargs)
73
+
74
+ # Handle read
75
+ if operation == BackendOperations.READ_ALL_VERSIONS.value:
76
+ kwargs["params"]["versions"] = "all"
77
+ kwargs["params"]["name"] = kwargs.pop("entity_name")
78
+ # Handle delete
79
+ elif operation == BackendOperations.DELETE.value:
80
+ # Handle cascade
81
+ if cascade := kwargs.pop("cascade", None) is not None:
82
+ kwargs["params"]["cascade"] = str(cascade).lower()
83
+
84
+ # Handle delete all versions
85
+ entity_id = kwargs.pop("entity_id")
86
+ entity_name = kwargs.pop("entity_name")
87
+ if not kwargs.pop("delete_all_versions", False):
88
+ if entity_id is None:
89
+ raise ValueError(
90
+ "If `delete_all_versions` is False, `entity_id` must be provided,"
91
+ " either as an argument or in key `identifier`.",
92
+ )
93
+ else:
94
+ kwargs["params"]["name"] = entity_name
95
+ return kwargs
96
+
97
+ @staticmethod
98
+ def _set_params(**kwargs) -> dict:
99
+ """
100
+ Format params parameter.
101
+
102
+ Parameters
103
+ ----------
104
+ **kwargs : dict
105
+ Keyword arguments.
106
+
107
+ Returns
108
+ -------
109
+ dict
110
+ Parameters with initialized params.
111
+ """
112
+ if not kwargs:
113
+ kwargs = {}
114
+ if "params" not in kwargs:
115
+ kwargs["params"] = {}
116
+ return kwargs
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  from digitalhub.context.api import get_context
6
6
  from digitalhub.entities._base.entity.entity import Entity
7
- from digitalhub.entities._operations.processor import processor
7
+ from digitalhub.entities._processors.context import context_processor
8
8
  from digitalhub.utils.generic_utils import get_timestamp
9
9
  from digitalhub.utils.io_utils import write_yaml
10
10
 
@@ -64,7 +64,7 @@ class ContextEntity(Entity):
64
64
  ContextEntity
65
65
  Entity saved.
66
66
  """
67
- new_obj = processor.create_context_entity(_entity=self)
67
+ new_obj = context_processor.create_context_entity(_entity=self)
68
68
  self._update_attributes(new_obj)
69
69
  return self
70
70
 
@@ -79,7 +79,7 @@ class ContextEntity(Entity):
79
79
  """
80
80
  if self._context().local:
81
81
  self.metadata.updated = self.metadata.updated = get_timestamp()
82
- new_obj = processor.update_context_entity(self.project, self.ENTITY_TYPE, self.id, self.to_dict())
82
+ new_obj = context_processor.update_context_entity(self.project, self.ENTITY_TYPE, self.id, self.to_dict())
83
83
  self._update_attributes(new_obj)
84
84
  return self
85
85
 
@@ -106,7 +106,7 @@ class ContextEntity(Entity):
106
106
  ContextEntity
107
107
  Entity refreshed.
108
108
  """
109
- new_obj = processor.read_context_entity(self.key)
109
+ new_obj = context_processor.read_context_entity(self.key)
110
110
  self._update_attributes(new_obj)
111
111
  return self
112
112
 
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  from digitalhub.entities._base.versioned.entity import VersionedEntity
6
6
  from digitalhub.entities._commons.enums import EntityTypes
7
- from digitalhub.entities._operations.processor import processor
7
+ from digitalhub.entities._processors.context import context_processor
8
8
  from digitalhub.entities.run.crud import delete_run, get_run, list_runs
9
9
  from digitalhub.entities.task.crud import delete_task
10
10
  from digitalhub.factory.api import build_entity_from_dict, build_entity_from_params
@@ -247,7 +247,7 @@ class ExecutableEntity(VersionedEntity):
247
247
  Response from backend.
248
248
  """
249
249
  params = {self.ENTITY_TYPE: self._get_executable_string(), "kind": kind}
250
- return processor.list_context_entities(self.project, EntityTypes.TASK.value, params=params)
250
+ return context_processor.list_context_entities(self.project, EntityTypes.TASK.value, params=params)
251
251
 
252
252
  def _check_task_in_backend(self, kind: str) -> bool:
253
253
  """
@@ -4,7 +4,7 @@ import typing
4
4
  from pathlib import Path
5
5
 
6
6
  from digitalhub.entities._base.versioned.entity import VersionedEntity
7
- from digitalhub.entities._operations.processor import processor
7
+ from digitalhub.entities._processors.context import context_processor
8
8
  from digitalhub.stores.api import get_store
9
9
  from digitalhub.utils.types import SourcesOrListOfSources
10
10
 
@@ -59,7 +59,7 @@ class MaterialEntity(VersionedEntity):
59
59
 
60
60
  # Handle files info
61
61
  if files is not None:
62
- processor.update_files_info(self.project, self.ENTITY_TYPE, self.id, files)
62
+ context_processor.update_files_info(self.project, self.ENTITY_TYPE, self.id, files)
63
63
  self.add_files_info(files)
64
64
 
65
65
  return obj
@@ -238,7 +238,7 @@ class MaterialEntity(VersionedEntity):
238
238
  None
239
239
  """
240
240
  if not self._context().local and not self.status.files:
241
- files = processor.read_files_info(
241
+ files = context_processor.read_files_info(
242
242
  project=self.project,
243
243
  entity_type=self.ENTITY_TYPE,
244
244
  entity_id=self.id,
@@ -3,7 +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
+ from digitalhub.entities._processors.context import context_processor
7
7
 
8
8
  if typing.TYPE_CHECKING:
9
9
  from digitalhub.entities._base.entity.metadata import Metadata
@@ -25,4 +25,4 @@ class UnversionedEntity(ContextEntity):
25
25
  super().__init__(project, kind, metadata, spec, status, user)
26
26
  self.id = uuid
27
27
  self.name = uuid
28
- self.key = processor.build_context_entity_key(project, self.ENTITY_TYPE, kind, uuid)
28
+ self.key = context_processor.build_context_entity_key(project, self.ENTITY_TYPE, kind, uuid)
@@ -3,7 +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
+ from digitalhub.entities._processors.context import context_processor
7
7
 
8
8
  if typing.TYPE_CHECKING:
9
9
  from digitalhub.entities._base.entity.metadata import Metadata
@@ -26,4 +26,4 @@ class VersionedEntity(ContextEntity):
26
26
  super().__init__(project, kind, metadata, spec, status, user)
27
27
  self.name = name
28
28
  self.id = uuid
29
- self.key = processor.build_context_entity_key(project, self.ENTITY_TYPE, kind, name, uuid)
29
+ self.key = context_processor.build_context_entity_key(project, self.ENTITY_TYPE, kind, name, uuid)
@@ -73,6 +73,7 @@ class BackendOperations(Enum):
73
73
 
74
74
  CREATE = "create"
75
75
  READ = "read"
76
+ READ_ALL_VERSIONS = "read_all_versions"
76
77
  UPDATE = "update"
77
78
  DELETE = "delete"
78
79
  LIST = "list"