digitalhub 0.8.0b5__tar.gz → 0.8.0b7__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 (242) hide show
  1. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/PKG-INFO +1 -1
  2. digitalhub-0.8.0b5/digitalhub/entities/_builders/entity.py → digitalhub-0.8.0b7/digitalhub/entities/_base/entity/builder.py +27 -5
  3. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/entity/entity.py +2 -2
  4. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/entity/status.py +12 -1
  5. digitalhub-0.8.0b7/digitalhub/entities/_base/runtime_entity/builder.py +95 -0
  6. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/unversioned/builder.py +1 -1
  7. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/versioned/builder.py +1 -1
  8. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/artifact/crud.py +1 -1
  9. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/crud.py +1 -1
  10. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/function/_base/builder.py +2 -1
  11. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/function/_base/entity.py +3 -6
  12. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/crud.py +1 -1
  13. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/project/_base/builder.py +1 -1
  14. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/run/_base/builder.py +2 -1
  15. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/run/_base/entity.py +22 -41
  16. digitalhub-0.8.0b7/digitalhub/entities/run/_base/spec.py +50 -0
  17. digitalhub-0.8.0b7/digitalhub/entities/run/_base/status.py +9 -0
  18. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/secret/_base/builder.py +1 -1
  19. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/task/_base/builder.py +2 -8
  20. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/utils/utils.py +18 -0
  21. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/workflow/_base/builder.py +2 -1
  22. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/workflow/_base/entity.py +3 -6
  23. digitalhub-0.8.0b7/digitalhub/factory/api.py +271 -0
  24. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/factory/factory.py +80 -18
  25. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/runtimes/_base.py +3 -65
  26. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/runtimes/builder.py +2 -6
  27. digitalhub-0.8.0b7/digitalhub/utils/__init__.py +0 -0
  28. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub.egg-info/PKG-INFO +1 -1
  29. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub.egg-info/SOURCES.txt +10 -9
  30. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/pyproject.toml +2 -2
  31. digitalhub-0.8.0b5/digitalhub/entities/run/_base/spec.py +0 -153
  32. digitalhub-0.8.0b5/digitalhub/entities/run/_base/status.py +0 -114
  33. digitalhub-0.8.0b5/digitalhub/runtimes/kind_registry.py +0 -184
  34. digitalhub-0.8.0b5/digitalhub/runtimes/utils.py +0 -28
  35. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/LICENSE.txt +0 -0
  36. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/README.md +0 -0
  37. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/__init__.py +0 -0
  38. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/__init__.py +0 -0
  39. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/_base/__init__.py +0 -0
  40. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/_base/client.py +0 -0
  41. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/builder.py +0 -0
  42. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/dhcore/__init__.py +0 -0
  43. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/dhcore/client.py +0 -0
  44. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/dhcore/env.py +0 -0
  45. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/dhcore/models.py +0 -0
  46. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/dhcore/utils.py +0 -0
  47. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/local/__init__.py +0 -0
  48. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/client/local/client.py +0 -0
  49. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/context/__init__.py +0 -0
  50. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/context/builder.py +0 -0
  51. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/context/context.py +0 -0
  52. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/__init__.py +0 -0
  53. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/_base/__init__.py +0 -0
  54. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/_base/datastore.py +0 -0
  55. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/builder.py +0 -0
  56. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/local/__init__.py +0 -0
  57. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/local/datastore.py +0 -0
  58. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/remote/__init__.py +0 -0
  59. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/remote/datastore.py +0 -0
  60. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/s3/__init__.py +0 -0
  61. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/s3/datastore.py +0 -0
  62. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/sql/__init__.py +0 -0
  63. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/datastores/sql/datastore.py +0 -0
  64. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/__init__.py +0 -0
  65. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/__init__.py +0 -0
  66. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/_base/__init__.py +0 -0
  67. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/_base/entity.py +0 -0
  68. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/context/__init__.py +0 -0
  69. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/context/entity.py +0 -0
  70. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/crud.py +0 -0
  71. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/entity/__init__.py +0 -0
  72. {digitalhub-0.8.0b5/digitalhub/entities/_base/executable → digitalhub-0.8.0b7/digitalhub/entities/_base/entity/_constructors}/__init__.py +0 -0
  73. {digitalhub-0.8.0b5/digitalhub/entities/_builders → digitalhub-0.8.0b7/digitalhub/entities/_base/entity/_constructors}/metadata.py +0 -0
  74. {digitalhub-0.8.0b5/digitalhub/entities/_builders → digitalhub-0.8.0b7/digitalhub/entities/_base/entity/_constructors}/name.py +0 -0
  75. {digitalhub-0.8.0b5/digitalhub/entities/_builders → digitalhub-0.8.0b7/digitalhub/entities/_base/entity/_constructors}/spec.py +0 -0
  76. {digitalhub-0.8.0b5/digitalhub/entities/_builders → digitalhub-0.8.0b7/digitalhub/entities/_base/entity/_constructors}/status.py +0 -0
  77. {digitalhub-0.8.0b5/digitalhub/entities/_builders → digitalhub-0.8.0b7/digitalhub/entities/_base/entity/_constructors}/uuid.py +0 -0
  78. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/entity/metadata.py +0 -0
  79. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/entity/spec.py +0 -0
  80. {digitalhub-0.8.0b5/digitalhub/entities/_base/material → digitalhub-0.8.0b7/digitalhub/entities/_base/executable}/__init__.py +0 -0
  81. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/executable/entity.py +0 -0
  82. {digitalhub-0.8.0b5/digitalhub/entities/_base/unversioned → digitalhub-0.8.0b7/digitalhub/entities/_base/material}/__init__.py +0 -0
  83. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/material/entity.py +0 -0
  84. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/material/spec.py +0 -0
  85. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/material/status.py +0 -0
  86. {digitalhub-0.8.0b5/digitalhub/entities/_base/versioned → digitalhub-0.8.0b7/digitalhub/entities/_base/runtime_entity}/__init__.py +0 -0
  87. {digitalhub-0.8.0b5/digitalhub/entities/_builders → digitalhub-0.8.0b7/digitalhub/entities/_base/unversioned}/__init__.py +0 -0
  88. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/unversioned/entity.py +0 -0
  89. {digitalhub-0.8.0b5/digitalhub/entities/artifact → digitalhub-0.8.0b7/digitalhub/entities/_base/versioned}/__init__.py +0 -0
  90. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/_base/versioned/entity.py +0 -0
  91. {digitalhub-0.8.0b5/digitalhub/entities/artifact/_base → digitalhub-0.8.0b7/digitalhub/entities/artifact}/__init__.py +0 -0
  92. {digitalhub-0.8.0b5/digitalhub/entities/artifact/artifact → digitalhub-0.8.0b7/digitalhub/entities/artifact/_base}/__init__.py +0 -0
  93. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/artifact/_base/builder.py +0 -0
  94. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/artifact/_base/entity.py +0 -0
  95. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/artifact/_base/spec.py +0 -0
  96. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/artifact/_base/status.py +0 -0
  97. {digitalhub-0.8.0b5/digitalhub/entities/dataitem → digitalhub-0.8.0b7/digitalhub/entities/artifact/artifact}/__init__.py +0 -0
  98. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/artifact/artifact/builder.py +0 -0
  99. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/artifact/artifact/entity.py +0 -0
  100. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/artifact/artifact/spec.py +0 -0
  101. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/artifact/artifact/status.py +0 -0
  102. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/artifact/builder.py +0 -0
  103. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/builders.py +0 -0
  104. {digitalhub-0.8.0b5/digitalhub/entities/dataitem/_base → digitalhub-0.8.0b7/digitalhub/entities/dataitem}/__init__.py +0 -0
  105. {digitalhub-0.8.0b5/digitalhub/entities/dataitem/dataitem → digitalhub-0.8.0b7/digitalhub/entities/dataitem/_base}/__init__.py +0 -0
  106. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/_base/builder.py +0 -0
  107. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/_base/entity.py +0 -0
  108. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/_base/spec.py +0 -0
  109. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/_base/status.py +0 -0
  110. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/builder.py +0 -0
  111. {digitalhub-0.8.0b5/digitalhub/entities/dataitem/iceberg → digitalhub-0.8.0b7/digitalhub/entities/dataitem/dataitem}/__init__.py +0 -0
  112. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/dataitem/builder.py +0 -0
  113. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/dataitem/entity.py +0 -0
  114. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/dataitem/spec.py +0 -0
  115. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/dataitem/status.py +0 -0
  116. {digitalhub-0.8.0b5/digitalhub/entities/dataitem/table → digitalhub-0.8.0b7/digitalhub/entities/dataitem/iceberg}/__init__.py +0 -0
  117. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/iceberg/builder.py +0 -0
  118. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/iceberg/entity.py +0 -0
  119. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/iceberg/spec.py +0 -0
  120. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/iceberg/status.py +0 -0
  121. {digitalhub-0.8.0b5/digitalhub/entities/function → digitalhub-0.8.0b7/digitalhub/entities/dataitem/table}/__init__.py +0 -0
  122. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/table/builder.py +0 -0
  123. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/table/entity.py +0 -0
  124. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/table/models.py +0 -0
  125. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/table/spec.py +0 -0
  126. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/dataitem/table/status.py +0 -0
  127. {digitalhub-0.8.0b5/digitalhub/entities/function/_base → digitalhub-0.8.0b7/digitalhub/entities/function}/__init__.py +0 -0
  128. {digitalhub-0.8.0b5/digitalhub/entities/model → digitalhub-0.8.0b7/digitalhub/entities/function/_base}/__init__.py +0 -0
  129. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/function/_base/models.py +0 -0
  130. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/function/_base/spec.py +0 -0
  131. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/function/_base/status.py +0 -0
  132. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/function/builder.py +0 -0
  133. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/function/crud.py +0 -0
  134. {digitalhub-0.8.0b5/digitalhub/entities/model/_base → digitalhub-0.8.0b7/digitalhub/entities/model}/__init__.py +0 -0
  135. {digitalhub-0.8.0b5/digitalhub/entities/model/huggingface → digitalhub-0.8.0b7/digitalhub/entities/model/_base}/__init__.py +0 -0
  136. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/_base/builder.py +0 -0
  137. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/_base/entity.py +0 -0
  138. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/_base/spec.py +0 -0
  139. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/_base/status.py +0 -0
  140. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/builder.py +0 -0
  141. {digitalhub-0.8.0b5/digitalhub/entities/model/mlflow → digitalhub-0.8.0b7/digitalhub/entities/model/huggingface}/__init__.py +0 -0
  142. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/huggingface/builder.py +0 -0
  143. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/huggingface/entity.py +0 -0
  144. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/huggingface/spec.py +0 -0
  145. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/huggingface/status.py +0 -0
  146. {digitalhub-0.8.0b5/digitalhub/entities/model/model → digitalhub-0.8.0b7/digitalhub/entities/model/mlflow}/__init__.py +0 -0
  147. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/mlflow/builder.py +0 -0
  148. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/mlflow/entity.py +0 -0
  149. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/mlflow/models.py +0 -0
  150. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/mlflow/spec.py +0 -0
  151. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/mlflow/status.py +0 -0
  152. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/mlflow/utils.py +0 -0
  153. {digitalhub-0.8.0b5/digitalhub/entities/model/sklearn → digitalhub-0.8.0b7/digitalhub/entities/model/model}/__init__.py +0 -0
  154. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/model/builder.py +0 -0
  155. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/model/entity.py +0 -0
  156. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/model/spec.py +0 -0
  157. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/model/status.py +0 -0
  158. {digitalhub-0.8.0b5/digitalhub/entities/project → digitalhub-0.8.0b7/digitalhub/entities/model/sklearn}/__init__.py +0 -0
  159. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/sklearn/builder.py +0 -0
  160. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/sklearn/entity.py +0 -0
  161. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/sklearn/spec.py +0 -0
  162. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/model/sklearn/status.py +0 -0
  163. {digitalhub-0.8.0b5/digitalhub/entities/project/_base → digitalhub-0.8.0b7/digitalhub/entities/project}/__init__.py +0 -0
  164. {digitalhub-0.8.0b5/digitalhub/entities/run → digitalhub-0.8.0b7/digitalhub/entities/project/_base}/__init__.py +0 -0
  165. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/project/_base/entity.py +0 -0
  166. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/project/_base/spec.py +0 -0
  167. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/project/_base/status.py +0 -0
  168. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/project/builder.py +0 -0
  169. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/project/crud.py +0 -0
  170. {digitalhub-0.8.0b5/digitalhub/entities/run/_base → digitalhub-0.8.0b7/digitalhub/entities/run}/__init__.py +0 -0
  171. {digitalhub-0.8.0b5/digitalhub/entities/secret → digitalhub-0.8.0b7/digitalhub/entities/run/_base}/__init__.py +0 -0
  172. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/run/builder.py +0 -0
  173. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/run/crud.py +0 -0
  174. {digitalhub-0.8.0b5/digitalhub/entities/secret/_base → digitalhub-0.8.0b7/digitalhub/entities/secret}/__init__.py +0 -0
  175. {digitalhub-0.8.0b5/digitalhub/entities/task → digitalhub-0.8.0b7/digitalhub/entities/secret/_base}/__init__.py +0 -0
  176. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/secret/_base/entity.py +0 -0
  177. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/secret/_base/spec.py +0 -0
  178. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/secret/_base/status.py +0 -0
  179. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/secret/builder.py +0 -0
  180. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/secret/crud.py +0 -0
  181. {digitalhub-0.8.0b5/digitalhub/entities/task/_base → digitalhub-0.8.0b7/digitalhub/entities/task}/__init__.py +0 -0
  182. {digitalhub-0.8.0b5/digitalhub/entities/utils → digitalhub-0.8.0b7/digitalhub/entities/task/_base}/__init__.py +0 -0
  183. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/task/_base/entity.py +0 -0
  184. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/task/_base/models.py +0 -0
  185. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/task/_base/spec.py +0 -0
  186. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/task/_base/status.py +0 -0
  187. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/task/builder.py +0 -0
  188. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/task/crud.py +0 -0
  189. {digitalhub-0.8.0b5/digitalhub/entities/workflow → digitalhub-0.8.0b7/digitalhub/entities/utils}/__init__.py +0 -0
  190. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/utils/api.py +0 -0
  191. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/utils/entity_types.py +0 -0
  192. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/utils/state.py +0 -0
  193. {digitalhub-0.8.0b5/digitalhub/entities/workflow/_base → digitalhub-0.8.0b7/digitalhub/entities/workflow}/__init__.py +0 -0
  194. {digitalhub-0.8.0b5/digitalhub/factory → digitalhub-0.8.0b7/digitalhub/entities/workflow/_base}/__init__.py +0 -0
  195. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/workflow/_base/spec.py +0 -0
  196. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/workflow/_base/status.py +0 -0
  197. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/workflow/builder.py +0 -0
  198. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/entities/workflow/crud.py +0 -0
  199. {digitalhub-0.8.0b5/digitalhub/readers → digitalhub-0.8.0b7/digitalhub/factory}/__init__.py +0 -0
  200. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/factory/utils.py +0 -0
  201. {digitalhub-0.8.0b5/digitalhub/readers/_base → digitalhub-0.8.0b7/digitalhub/readers}/__init__.py +0 -0
  202. {digitalhub-0.8.0b5/digitalhub/readers/pandas → digitalhub-0.8.0b7/digitalhub/readers/_base}/__init__.py +0 -0
  203. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/readers/_base/readers.py +0 -0
  204. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/readers/builder.py +0 -0
  205. {digitalhub-0.8.0b5/digitalhub/runtimes → digitalhub-0.8.0b7/digitalhub/readers/pandas}/__init__.py +0 -0
  206. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/readers/pandas/readers.py +0 -0
  207. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/readers/registry.py +0 -0
  208. {digitalhub-0.8.0b5/digitalhub/stores → digitalhub-0.8.0b7/digitalhub/runtimes}/__init__.py +0 -0
  209. {digitalhub-0.8.0b5/digitalhub/stores/_base → digitalhub-0.8.0b7/digitalhub/stores}/__init__.py +0 -0
  210. {digitalhub-0.8.0b5/digitalhub/stores/local → digitalhub-0.8.0b7/digitalhub/stores/_base}/__init__.py +0 -0
  211. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/stores/_base/store.py +0 -0
  212. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/stores/builder.py +0 -0
  213. {digitalhub-0.8.0b5/digitalhub/stores/remote → digitalhub-0.8.0b7/digitalhub/stores/local}/__init__.py +0 -0
  214. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/stores/local/store.py +0 -0
  215. {digitalhub-0.8.0b5/digitalhub/stores/s3 → digitalhub-0.8.0b7/digitalhub/stores/remote}/__init__.py +0 -0
  216. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/stores/remote/store.py +0 -0
  217. {digitalhub-0.8.0b5/digitalhub/stores/sql → digitalhub-0.8.0b7/digitalhub/stores/s3}/__init__.py +0 -0
  218. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/stores/s3/store.py +0 -0
  219. {digitalhub-0.8.0b5/digitalhub/utils → digitalhub-0.8.0b7/digitalhub/stores/sql}/__init__.py +0 -0
  220. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/stores/sql/store.py +0 -0
  221. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/utils/data_utils.py +0 -0
  222. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/utils/exceptions.py +0 -0
  223. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/utils/file_utils.py +0 -0
  224. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/utils/generic_utils.py +0 -0
  225. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/utils/git_utils.py +0 -0
  226. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/utils/io_utils.py +0 -0
  227. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/utils/logger.py +0 -0
  228. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/utils/s3_utils.py +0 -0
  229. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub/utils/uri_utils.py +0 -0
  230. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub.egg-info/dependency_links.txt +0 -0
  231. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub.egg-info/requires.txt +0 -0
  232. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/digitalhub.egg-info/top_level.txt +0 -0
  233. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/setup.cfg +0 -0
  234. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/test/local/CRUD/test_artifacts.py +0 -0
  235. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/test/local/CRUD/test_dataitems.py +0 -0
  236. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/test/local/CRUD/test_models.py +0 -0
  237. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/test/local/imports/test_imports.py +0 -0
  238. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/test/test_crud_functions.py +0 -0
  239. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/test/test_crud_runs.py +0 -0
  240. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/test/test_crud_tasks.py +0 -0
  241. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/test/testkfp.py +0 -0
  242. {digitalhub-0.8.0b5 → digitalhub-0.8.0b7}/test/testkfp_pipeline.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: digitalhub
3
- Version: 0.8.0b5
3
+ Version: 0.8.0b7
4
4
  Summary: Python SDK for Digitalhub
5
5
  Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
6
6
  License: Apache License
@@ -3,11 +3,11 @@ from __future__ import annotations
3
3
  import typing
4
4
  from abc import abstractmethod
5
5
 
6
- from digitalhub.entities._builders.metadata import build_metadata
7
- from digitalhub.entities._builders.name import build_name
8
- from digitalhub.entities._builders.spec import build_spec
9
- from digitalhub.entities._builders.status import build_status
10
- from digitalhub.entities._builders.uuid import build_uuid
6
+ from digitalhub.entities._base.entity._constructors.metadata import build_metadata
7
+ from digitalhub.entities._base.entity._constructors.name import build_name
8
+ from digitalhub.entities._base.entity._constructors.spec import build_spec
9
+ from digitalhub.entities._base.entity._constructors.status import build_status
10
+ from digitalhub.entities._base.entity._constructors.uuid import build_uuid
11
11
  from digitalhub.utils.exceptions import BuilderError
12
12
 
13
13
  if typing.TYPE_CHECKING:
@@ -151,3 +151,25 @@ class EntityBuilder:
151
151
  """
152
152
  Build entity object from dictionary.
153
153
  """
154
+
155
+ def get_entity_type(self) -> str:
156
+ """
157
+ Get entity type.
158
+
159
+ Returns
160
+ -------
161
+ str
162
+ Entity type.
163
+ """
164
+ return self.ENTITY_TYPE
165
+
166
+ def get_kind(self) -> str:
167
+ """
168
+ Get entity kind.
169
+
170
+ Returns
171
+ -------
172
+ str
173
+ Entity kind.
174
+ """
175
+ return self.ENTITY_KIND
@@ -4,7 +4,7 @@ import typing
4
4
  from abc import ABCMeta, abstractmethod
5
5
 
6
6
  from digitalhub.entities._base._base.entity import Base
7
- from digitalhub.factory.factory import factory
7
+ from digitalhub.factory.api import build_entity_from_dict
8
8
 
9
9
  if typing.TYPE_CHECKING:
10
10
  from digitalhub.entities._base.entity.metadata import Metadata
@@ -69,7 +69,7 @@ class Entity(Base, metaclass=ABCMeta):
69
69
  -------
70
70
  None
71
71
  """
72
- new_obj = factory.build_entity_from_dict(self.kind, obj)
72
+ new_obj = build_entity_from_dict(self.kind, obj)
73
73
  self.metadata = new_obj.metadata
74
74
  self.spec = new_obj.spec
75
75
  self.status = new_obj.status
@@ -10,9 +10,20 @@ class Status(Base):
10
10
  for example, the state of a RUNNING run, and eventual error message.
11
11
  """
12
12
 
13
- def __init__(self, state: str, message: str | None = None) -> None:
13
+ def __init__(
14
+ self,
15
+ state: str,
16
+ message: str | None = None,
17
+ transitions: list[dict] | None = None,
18
+ k8s: dict | None = None,
19
+ **kwargs,
20
+ ) -> None:
14
21
  self.state = state
15
22
  self.message = message
23
+ self.transitions = transitions
24
+ self.k8s = k8s
25
+
26
+ self._any_setter(**kwargs)
16
27
 
17
28
  @classmethod
18
29
  def from_dict(cls, obj: dict) -> Status:
@@ -0,0 +1,95 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.utils.exceptions import EntityError
4
+
5
+
6
+ class RuntimeEntityBuilder:
7
+ """
8
+ RuntimeEntity builder.
9
+ """
10
+
11
+ EXECUTABLE_KIND: str = None
12
+ TASKS_KINDS: dict = None
13
+ RUN_KIND: str = None
14
+
15
+ def __init__(self) -> None:
16
+ if self.EXECUTABLE_KIND is None:
17
+ raise EntityError("EXECUTABLE_KIND must be set")
18
+ if self.TASKS_KINDS is None:
19
+ raise EntityError("TASKS_KINDS must be set")
20
+ if self.RUN_KIND is None:
21
+ raise EntityError("RUN_KIND must be set")
22
+
23
+ def get_action_from_task_kind(self, task_kind: str) -> str:
24
+ """
25
+ Get action from task kind.
26
+
27
+ Parameters
28
+ ----------
29
+ task_kind : str
30
+ Task kind.
31
+
32
+ Returns
33
+ -------
34
+ str
35
+ Action.
36
+ """
37
+ for task in self.TASKS_KINDS:
38
+ if task["kind"] == task_kind:
39
+ return task["action"]
40
+ msg = f"Task kind {task_kind} not allowed."
41
+ raise EntityError(msg)
42
+
43
+ def get_task_kind_from_action(self, action: str) -> list[str]:
44
+ """
45
+ Get task kinds from action.
46
+
47
+ Parameters
48
+ ----------
49
+ action : str
50
+ Action.
51
+
52
+ Returns
53
+ -------
54
+ list[str]
55
+ Task kinds.
56
+ """
57
+ for task in self.TASKS_KINDS:
58
+ if task["action"] == action:
59
+ return task["kind"]
60
+ msg = f"Action {action} not allowed."
61
+ raise EntityError(msg)
62
+
63
+ def get_run_kind(self) -> str:
64
+ """
65
+ Get run kind.
66
+
67
+ Returns
68
+ -------
69
+ str
70
+ Run kind.
71
+ """
72
+ return self.RUN_KIND
73
+
74
+ def get_executable_kind(self) -> str:
75
+ """
76
+ Get executable kind.
77
+
78
+ Returns
79
+ -------
80
+ str
81
+ Executable kind.
82
+ """
83
+ return self.EXECUTABLE_KIND
84
+
85
+ def get_all_kinds(self) -> list[str]:
86
+ """
87
+ Get all kinds.
88
+
89
+ Returns
90
+ -------
91
+ list[str]
92
+ All kinds.
93
+ """
94
+ task_kinds = [i["kind"] for i in self.TASKS_KINDS]
95
+ return [self.EXECUTABLE_KIND, self.RUN_KIND, *task_kinds]
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.entities._builders.entity import EntityBuilder
5
+ from digitalhub.entities._base.entity.builder import EntityBuilder
6
6
 
7
7
  if typing.TYPE_CHECKING:
8
8
  from digitalhub.entities._base.unversioned.entity import UnversionedEntity
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.entities._builders.entity import EntityBuilder
5
+ from digitalhub.entities._base.entity.builder import EntityBuilder
6
6
 
7
7
  if typing.TYPE_CHECKING:
8
8
  from digitalhub.entities._base.versioned.entity import VersionedEntity
@@ -9,7 +9,7 @@ from digitalhub.entities._base.crud import (
9
9
  read_entity_api_ctx,
10
10
  read_entity_api_ctx_versions,
11
11
  )
12
- from digitalhub.entities._builders.uuid import build_uuid
12
+ from digitalhub.entities._base.entity._constructors.uuid import build_uuid
13
13
  from digitalhub.entities.artifact.builder import artifact_from_dict, artifact_from_parameters
14
14
  from digitalhub.entities.utils.entity_types import EntityTypes
15
15
  from digitalhub.entities.utils.utils import build_log_path_from_source, eval_local_source
@@ -12,7 +12,7 @@ from digitalhub.entities._base.crud import (
12
12
  read_entity_api_ctx,
13
13
  read_entity_api_ctx_versions,
14
14
  )
15
- from digitalhub.entities._builders.uuid import build_uuid
15
+ from digitalhub.entities._base.entity._constructors.uuid import build_uuid
16
16
  from digitalhub.entities.dataitem.builder import dataitem_from_dict, dataitem_from_parameters
17
17
  from digitalhub.entities.utils.entity_types import EntityTypes
18
18
  from digitalhub.entities.utils.utils import build_log_path_from_filename, build_log_path_from_source, eval_local_source
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
+ from digitalhub.entities._base.runtime_entity.builder import RuntimeEntityBuilder
5
6
  from digitalhub.entities._base.versioned.builder import VersionedBuilder
6
7
  from digitalhub.entities.utils.entity_types import EntityTypes
7
8
 
@@ -9,7 +10,7 @@ if typing.TYPE_CHECKING:
9
10
  from digitalhub.entities.function._base.entity import Function
10
11
 
11
12
 
12
- class FunctionBuilder(VersionedBuilder):
13
+ class FunctionBuilder(VersionedBuilder, RuntimeEntityBuilder):
13
14
  """
14
15
  Function builder.
15
16
  """
@@ -5,7 +5,7 @@ from concurrent.futures import ThreadPoolExecutor
5
5
 
6
6
  from digitalhub.entities._base.executable.entity import ExecutableEntity
7
7
  from digitalhub.entities.utils.entity_types import EntityTypes
8
- from digitalhub.runtimes.utils import get_kind_registry
8
+ from digitalhub.factory.api import get_run_kind, get_task_kind_from_action
9
9
  from digitalhub.utils.exceptions import BackendError
10
10
 
11
11
  if typing.TYPE_CHECKING:
@@ -71,12 +71,9 @@ class Function(ExecutableEntity):
71
71
  Run
72
72
  Run instance.
73
73
  """
74
- # Get kind registry
75
- kind_reg = get_kind_registry(self.kind, self.project)
76
-
77
74
  # Get task and run kind
78
- task_kind = kind_reg.get_task_kind_from_action(action=action)
79
- run_kind = kind_reg.get_run_kind()
75
+ task_kind = get_task_kind_from_action(self.kind, action)
76
+ run_kind = get_run_kind(self.kind)
80
77
 
81
78
  # Create or update new task
82
79
  task = self._get_or_create_task(task_kind)
@@ -9,7 +9,7 @@ from digitalhub.entities._base.crud import (
9
9
  read_entity_api_ctx,
10
10
  read_entity_api_ctx_versions,
11
11
  )
12
- from digitalhub.entities._builders.uuid import build_uuid
12
+ from digitalhub.entities._base.entity._constructors.uuid import build_uuid
13
13
  from digitalhub.entities.model.builder import model_from_dict, model_from_parameters
14
14
  from digitalhub.entities.utils.entity_types import EntityTypes
15
15
  from digitalhub.entities.utils.utils import build_log_path_from_source, eval_local_source
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from digitalhub.entities._builders.entity import EntityBuilder
3
+ from digitalhub.entities._base.entity.builder import EntityBuilder
4
4
  from digitalhub.entities.project._base.entity import Project
5
5
  from digitalhub.entities.project._base.spec import ProjectSpec, ProjectValidator
6
6
  from digitalhub.entities.project._base.status import ProjectStatus
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
+ from digitalhub.entities._base.runtime_entity.builder import RuntimeEntityBuilder
5
6
  from digitalhub.entities._base.unversioned.builder import UnversionedBuilder
6
7
  from digitalhub.entities.utils.entity_types import EntityTypes
7
8
 
@@ -9,7 +10,7 @@ if typing.TYPE_CHECKING:
9
10
  from digitalhub.entities.run._base.entity import Run
10
11
 
11
12
 
12
- class RunBuilder(UnversionedBuilder):
13
+ class RunBuilder(UnversionedBuilder, RuntimeEntityBuilder):
13
14
  """
14
15
  Run builder.
15
16
  """
@@ -14,7 +14,13 @@ from digitalhub.entities._base.crud import (
14
14
  from digitalhub.entities._base.unversioned.entity import UnversionedEntity
15
15
  from digitalhub.entities.utils.entity_types import EntityTypes
16
16
  from digitalhub.entities.utils.state import State
17
- from digitalhub.factory.factory import factory
17
+ from digitalhub.factory.api import (
18
+ build_runtime,
19
+ build_spec,
20
+ build_status,
21
+ get_entity_type_from_kind,
22
+ get_executable_kind,
23
+ )
18
24
  from digitalhub.utils.exceptions import EntityError
19
25
  from digitalhub.utils.logger import LOGGER
20
26
 
@@ -59,11 +65,10 @@ class Run(UnversionedEntity):
59
65
  -------
60
66
  None
61
67
  """
62
- runtime = self._get_runtime()
63
- executable = self._get_executable(runtime)
64
- task = self._get_task(runtime)
65
- new_spec = runtime.build(executable, task, self.to_dict())
66
- self.spec = factory.build_spec(
68
+ executable = self._get_executable()
69
+ task = self._get_task()
70
+ new_spec = self._get_runtime().build(executable, task, self.to_dict())
71
+ self.spec = build_spec(
67
72
  self.kind,
68
73
  **new_spec,
69
74
  )
@@ -92,9 +97,6 @@ class Run(UnversionedEntity):
92
97
  status = self._get_runtime().run(self.to_dict())
93
98
  except Exception as e:
94
99
  self.refresh()
95
- import pdb
96
-
97
- pdb.set_trace()
98
100
  if self.spec.local_execution:
99
101
  self._set_state(State.ERROR.value)
100
102
  self._set_message(str(e))
@@ -163,11 +165,6 @@ class Run(UnversionedEntity):
163
165
  """
164
166
  if not self._context().local and not self.spec.local_execution:
165
167
  return stop_api(self.project, self.ENTITY_TYPE, self.id)
166
- try:
167
- self.status.stop()
168
- except AttributeError:
169
- raise EntityError("Stop is not supported in local execution.")
170
- return
171
168
 
172
169
  def resume(self) -> None:
173
170
  """
@@ -179,14 +176,6 @@ class Run(UnversionedEntity):
179
176
  """
180
177
  if not self._context().local and not self.spec.local_execution:
181
178
  return resume_api(self.project, self.ENTITY_TYPE, self.id)
182
-
183
- try:
184
- self.status.resume()
185
- except AttributeError:
186
- raise EntityError("Resume is not supported in local execution.")
187
- return
188
- # re-run
189
- # TODO verify the logic and order
190
179
  self.run()
191
180
 
192
181
  ##############################
@@ -226,7 +215,7 @@ class Run(UnversionedEntity):
226
215
  -------
227
216
  None
228
217
  """
229
- self.status: RunStatus = factory.build_status(self.kind, **status)
218
+ self.status: RunStatus = build_status(self.kind, **status)
230
219
 
231
220
  def _set_state(self, state: str) -> None:
232
221
  """
@@ -267,24 +256,20 @@ class Run(UnversionedEntity):
267
256
  Runtime
268
257
  Runtime object.
269
258
  """
270
- return factory.build_runtime(self.kind, self.project)
259
+ return build_runtime(self.kind, self.project)
271
260
 
272
- def _get_executable(self, runtime: Runtime) -> dict:
261
+ def _get_executable(self) -> dict:
273
262
  """
274
- Get object from backend. Reimplemented to avoid circular imports.
275
-
276
- Parameters
277
- ----------
278
- runtime : Runtime
279
- Runtime object.
263
+ Get executable object from backend. Reimplemented to avoid
264
+ circular imports.
280
265
 
281
266
  Returns
282
267
  -------
283
268
  dict
284
269
  Executable (function or workflow) from backend.
285
270
  """
286
- exec_kind = runtime.get_executable_kind()
287
- entity_type = factory.get_entity_type_from_builder(exec_kind)
271
+ exec_kind = get_executable_kind(self.kind)
272
+ entity_type = get_entity_type_from_kind(exec_kind)
288
273
  splitted = self.spec.task.split("/")
289
274
  exec_name = splitted[-1].split(":")[0]
290
275
  exec_id = splitted[-1].split(":")[1]
@@ -295,21 +280,17 @@ class Run(UnversionedEntity):
295
280
  entity_id=exec_id,
296
281
  )
297
282
 
298
- def _get_task(self, runtime: Runtime) -> dict:
283
+ def _get_task(self) -> dict:
299
284
  """
300
- Get object from backend. Reimplemented to avoid circular imports.
301
-
302
- Parameters
303
- ----------
304
- runtime : Runtime
305
- Runtime object.
285
+ Get object from backend. Reimplemented to avoid
286
+ circular imports.
306
287
 
307
288
  Returns
308
289
  -------
309
290
  dict
310
291
  Task from backend.
311
292
  """
312
- executable_kind = runtime.get_executable_kind()
293
+ executable_kind = get_executable_kind(self.kind)
313
294
  exec_string = f"{executable_kind}://{self.spec.task.split('://')[1]}"
314
295
 
315
296
  # Local backend
@@ -0,0 +1,50 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.entities._base.entity.spec import Spec, SpecValidator
4
+ from digitalhub.entities.task._base.models import K8s
5
+
6
+
7
+ class RunSpec(Spec):
8
+ """RunSpec specifications."""
9
+
10
+ def __init__(
11
+ self,
12
+ task: str,
13
+ local_execution: bool = False,
14
+ function: str | None = None,
15
+ node_selector: dict | None = None,
16
+ volumes: list | None = None,
17
+ resources: dict | None = None,
18
+ affinity: dict | None = None,
19
+ tolerations: list | None = None,
20
+ envs: list | None = None,
21
+ secrets: list | None = None,
22
+ profile: str | None = None,
23
+ **kwargs,
24
+ ) -> None:
25
+ self.task = task
26
+ self.local_execution = local_execution
27
+ self.function = function
28
+ self.node_selector = node_selector
29
+ self.volumes = volumes
30
+ self.resources = resources
31
+ self.affinity = affinity
32
+ self.tolerations = tolerations
33
+ self.envs = envs
34
+ self.secrets = secrets
35
+ self.profile = profile
36
+
37
+
38
+ class RunValidator(SpecValidator, K8s):
39
+ """
40
+ RunValidator validator.
41
+ """
42
+
43
+ function: str = None
44
+ """The function associated with the run."""
45
+
46
+ task: str = None
47
+ """The task string associated with the run."""
48
+
49
+ local_execution: bool = False
50
+ """Flag to indicate if the run will be executed locally."""
@@ -0,0 +1,9 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.entities._base.entity.status import Status
4
+
5
+
6
+ class RunStatus(Status):
7
+ """
8
+ RunStatus status.
9
+ """
@@ -62,7 +62,7 @@ class SecretSecretBuilder(VersionedBuilder):
62
62
  description=description,
63
63
  labels=labels,
64
64
  )
65
- path = f"kubernetes://dhcore-proj-secrets-{project}/{name}"
65
+ path = f"secret://{name}"
66
66
  provider = "kubernetes"
67
67
  spec = self.build_spec(
68
68
  path=path,
@@ -2,27 +2,21 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
+ from digitalhub.entities._base.runtime_entity.builder import RuntimeEntityBuilder
5
6
  from digitalhub.entities._base.unversioned.builder import UnversionedBuilder
6
7
  from digitalhub.entities.utils.entity_types import EntityTypes
7
- from digitalhub.utils.exceptions import BuilderError
8
8
 
9
9
  if typing.TYPE_CHECKING:
10
10
  from digitalhub.entities.task._base.entity import Task
11
11
 
12
12
 
13
- class TaskBuilder(UnversionedBuilder):
13
+ class TaskBuilder(UnversionedBuilder, RuntimeEntityBuilder):
14
14
  """
15
15
  Task builder.
16
16
  """
17
17
 
18
- ACTION: str = None
19
18
  ENTITY_TYPE = EntityTypes.TASK.value
20
19
 
21
- def __init__(self) -> None:
22
- super().__init__()
23
- if self.ACTION is None:
24
- raise BuilderError("ACTION must be set")
25
-
26
20
  def build(
27
21
  self,
28
22
  project: str,
@@ -182,3 +182,21 @@ def build_log_path_from_source(
182
182
  path += f"/{Path(source).name}"
183
183
 
184
184
  return path
185
+
186
+
187
+ def get_entity_type_from_key(key: str) -> str:
188
+ """
189
+ Get entity type.
190
+
191
+ Parameters
192
+ ----------
193
+ key : str
194
+ The key of the entity.
195
+
196
+ Returns
197
+ -------
198
+ str
199
+ The entity type.
200
+ """
201
+ _, entity_type, _, _, _ = parse_entity_key(key)
202
+ return entity_type
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
+ from digitalhub.entities._base.runtime_entity.builder import RuntimeEntityBuilder
5
6
  from digitalhub.entities._base.versioned.builder import VersionedBuilder
6
7
  from digitalhub.entities.utils.entity_types import EntityTypes
7
8
 
@@ -9,7 +10,7 @@ if typing.TYPE_CHECKING:
9
10
  from digitalhub.entities.workflow._base.entity import Workflow
10
11
 
11
12
 
12
- class WorkflowBuilder(VersionedBuilder):
13
+ class WorkflowBuilder(VersionedBuilder, RuntimeEntityBuilder):
13
14
  """
14
15
  Workflow builder.
15
16
  """
@@ -4,7 +4,7 @@ import typing
4
4
 
5
5
  from digitalhub.entities._base.executable.entity import ExecutableEntity
6
6
  from digitalhub.entities.utils.entity_types import EntityTypes
7
- from digitalhub.runtimes.utils import get_kind_registry
7
+ from digitalhub.factory.api import get_run_kind, get_task_kind_from_action
8
8
  from digitalhub.utils.exceptions import BackendError
9
9
 
10
10
  if typing.TYPE_CHECKING:
@@ -60,12 +60,9 @@ class Workflow(ExecutableEntity):
60
60
  if action is None:
61
61
  action = "pipeline"
62
62
 
63
- # Get kind registry
64
- kind_reg = get_kind_registry(self.kind, self.project)
65
-
66
63
  # Get task and run kind
67
- task_kind = kind_reg.get_task_kind_from_action(action=action)
68
- run_kind = kind_reg.get_run_kind()
64
+ task_kind = get_task_kind_from_action(self.kind, action)
65
+ run_kind = get_run_kind(self.kind)
69
66
 
70
67
  # Create or update new task
71
68
  task = self._get_or_create_task(task_kind)