digitalhub-runtime-python 0.15.2__tar.gz → 0.16.0b0__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.
Files changed (182) hide show
  1. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/PKG-INFO +1 -1
  2. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/__init__.py +24 -0
  3. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_base/runtime_entity/builder.py +35 -0
  4. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/enums.py +8 -0
  5. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/function/hydra/builder.py +92 -0
  6. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/function/hydra/entity.py +81 -0
  7. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/function/hydra/models.py +60 -0
  8. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/function/hydra/spec.py +58 -0
  9. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/function/hydra/status.py +13 -0
  10. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/function/hydra/utils.py +111 -0
  11. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_build/builder.py +25 -0
  12. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_build/entity.py +25 -0
  13. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_build/spec.py +15 -0
  14. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_build/status.py +13 -0
  15. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_job/builder.py +25 -0
  16. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_job/entity.py +69 -0
  17. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_job/spec.py +78 -0
  18. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_job/status.py +13 -0
  19. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_subtask/builder.py +42 -0
  20. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_subtask/entity.py +23 -0
  21. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_subtask/spec.py +70 -0
  22. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_subtask/status.py +13 -0
  23. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_build/builder.py +25 -0
  24. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_build/entity.py +25 -0
  25. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_build/spec.py +42 -0
  26. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_build/status.py +13 -0
  27. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_job/builder.py +25 -0
  28. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_job/entity.py +24 -0
  29. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_job/spec.py +19 -0
  30. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_job/status.py +13 -0
  31. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_subtask/__init__.py +3 -0
  32. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_subtask/builder.py +25 -0
  33. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_subtask/entity.py +24 -0
  34. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_subtask/spec.py +19 -0
  35. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_subtask/status.py +13 -0
  36. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/openinference_build/__init__.py +3 -0
  37. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/openinference_serve/__init__.py +3 -0
  38. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/python_build/__init__.py +3 -0
  39. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/python_job/__init__.py +3 -0
  40. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/python_serve/__init__.py +3 -0
  41. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/runtimes/__init__.py +3 -0
  42. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/runtimes/builder.py +21 -0
  43. digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/runtimes/hydra_runtime.py +141 -0
  44. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/runtimes/runtime.py +4 -2
  45. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/pyproject.toml +2 -2
  46. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/.github/scripts/bump.sh +0 -0
  47. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/.github/scripts/changelog.sh +0 -0
  48. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/.github/scripts/cliff.toml +0 -0
  49. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/.github/workflows/release.yml +0 -0
  50. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/.github/workflows/run_local_test.yml +0 -0
  51. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/.github/workflows/test_release.yml +0 -0
  52. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/.gitignore +0 -0
  53. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/AUTHORS +0 -0
  54. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/CONTRIBUTING +0 -0
  55. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/COPYRIGHT +0 -0
  56. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/LICENSE +0 -0
  57. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/README.md +0 -0
  58. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/__init__.py +0 -0
  59. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_base/__init__.py +0 -0
  60. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_base/runtime_entity/__init__.py +0 -0
  61. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/__init__.py +0 -0
  62. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/requirement_parser/__init__.py +0 -0
  63. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/requirement_parser/enums.py +0 -0
  64. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/requirement_parser/factory.py +0 -0
  65. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/__init__.py +0 -0
  66. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_base.py +0 -0
  67. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_conda.py +0 -0
  68. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pip.py +0 -0
  69. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pyproject.py +0 -0
  70. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/_commons/requirement_parser/parser.py +0 -0
  71. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/__init__.py +0 -0
  72. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/guardrail/__init__.py +0 -0
  73. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/guardrail/builder.py +0 -0
  74. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/guardrail/entity.py +0 -0
  75. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/guardrail/models.py +0 -0
  76. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/guardrail/spec.py +0 -0
  77. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/guardrail/status.py +0 -0
  78. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/function/openinference → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/function/hydra}/__init__.py +0 -0
  79. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/function/python → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/function/openinference}/__init__.py +0 -0
  80. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/openinference/builder.py +0 -0
  81. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/openinference/entity.py +0 -0
  82. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/openinference/models.py +0 -0
  83. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/openinference/spec.py +0 -0
  84. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/openinference/status.py +0 -0
  85. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/run → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/function/python}/__init__.py +0 -0
  86. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/python/builder.py +0 -0
  87. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/python/entity.py +0 -0
  88. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/python/models.py +0 -0
  89. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/python/spec.py +0 -0
  90. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/python/status.py +0 -0
  91. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/function/python/utils.py +0 -0
  92. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/run/_base → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run}/__init__.py +0 -0
  93. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/run/guardrail_build → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/_base}/__init__.py +0 -0
  94. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/_base/entity.py +0 -0
  95. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/_base/spec.py +0 -0
  96. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/_base/status.py +0 -0
  97. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/_base/utils.py +0 -0
  98. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/run/guardrail_serve → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/guardrail_build}/__init__.py +0 -0
  99. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/guardrail_build/builder.py +0 -0
  100. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/guardrail_build/entity.py +0 -0
  101. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/guardrail_build/spec.py +0 -0
  102. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/guardrail_build/status.py +0 -0
  103. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/run/openinference_build → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/guardrail_serve}/__init__.py +0 -0
  104. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/guardrail_serve/builder.py +0 -0
  105. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/guardrail_serve/entity.py +0 -0
  106. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/guardrail_serve/spec.py +0 -0
  107. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/guardrail_serve/status.py +0 -0
  108. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/run/openinference_serve → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_build}/__init__.py +0 -0
  109. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/run/python_build → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_job}/__init__.py +0 -0
  110. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/run/python_job → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/hydra_subtask}/__init__.py +0 -0
  111. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/run/python_serve → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/openinference_build}/__init__.py +0 -0
  112. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/openinference_build/builder.py +0 -0
  113. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/openinference_build/entity.py +0 -0
  114. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/openinference_build/spec.py +0 -0
  115. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/openinference_build/status.py +0 -0
  116. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/task → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/openinference_serve}/__init__.py +0 -0
  117. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/openinference_serve/builder.py +0 -0
  118. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/openinference_serve/entity.py +0 -0
  119. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/openinference_serve/spec.py +0 -0
  120. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/openinference_serve/status.py +0 -0
  121. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/task/guardrail_build → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/python_build}/__init__.py +0 -0
  122. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_build/builder.py +0 -0
  123. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_build/entity.py +0 -0
  124. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_build/spec.py +0 -0
  125. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_build/status.py +0 -0
  126. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/task/guardrail_serve → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/python_job}/__init__.py +0 -0
  127. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_job/builder.py +0 -0
  128. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_job/entity.py +0 -0
  129. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_job/spec.py +0 -0
  130. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_job/status.py +0 -0
  131. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/task/openinference_build → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/run/python_serve}/__init__.py +0 -0
  132. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_serve/builder.py +0 -0
  133. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_serve/entity.py +0 -0
  134. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_serve/spec.py +0 -0
  135. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/run/python_serve/status.py +0 -0
  136. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/task/openinference_serve → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task}/__init__.py +0 -0
  137. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/task/python_build → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/guardrail_build}/__init__.py +0 -0
  138. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/guardrail_build/builder.py +0 -0
  139. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/guardrail_build/entity.py +0 -0
  140. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/guardrail_build/spec.py +0 -0
  141. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/guardrail_build/status.py +0 -0
  142. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/task/python_job → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/guardrail_serve}/__init__.py +0 -0
  143. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/guardrail_serve/builder.py +0 -0
  144. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/guardrail_serve/entity.py +0 -0
  145. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/guardrail_serve/spec.py +0 -0
  146. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/guardrail_serve/status.py +0 -0
  147. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/entities/task/python_serve → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_build}/__init__.py +0 -0
  148. {digitalhub_runtime_python-0.15.2/digitalhub_runtime_python/runtimes → digitalhub_runtime_python-0.16.0b0/digitalhub_runtime_python/entities/task/hydra_job}/__init__.py +0 -0
  149. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/openinference_build/builder.py +0 -0
  150. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/openinference_build/entity.py +0 -0
  151. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/openinference_build/spec.py +0 -0
  152. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/openinference_build/status.py +0 -0
  153. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/openinference_serve/builder.py +0 -0
  154. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/openinference_serve/entity.py +0 -0
  155. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/openinference_serve/spec.py +0 -0
  156. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/openinference_serve/status.py +0 -0
  157. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_build/builder.py +0 -0
  158. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_build/entity.py +0 -0
  159. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_build/spec.py +0 -0
  160. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_build/status.py +0 -0
  161. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_job/builder.py +0 -0
  162. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_job/entity.py +0 -0
  163. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_job/spec.py +0 -0
  164. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_job/status.py +0 -0
  165. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_serve/builder.py +0 -0
  166. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_serve/entity.py +0 -0
  167. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_serve/spec.py +0 -0
  168. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/entities/task/python_serve/status.py +0 -0
  169. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/utils/configuration.py +0 -0
  170. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/utils/inputs.py +0 -0
  171. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/utils/outputs.py +0 -0
  172. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/digitalhub_runtime_python/utils/utils.py +0 -0
  173. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/test/instances/entities/function/function-python-git.json +0 -0
  174. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/test/instances/entities/function/function-python-local.json +0 -0
  175. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/test/instances/entities/function/function-python-zip.json +0 -0
  176. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/test/instances/entities/run/run-python+build:run.json +0 -0
  177. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/test/instances/entities/run/run-python+job:run.json +0 -0
  178. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/test/instances/entities/run/run-python+serve:run.json +0 -0
  179. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/test/instances/entities/task/task-python+build.json +0 -0
  180. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/test/instances/entities/task/task-python+job.json +0 -0
  181. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/test/instances/entities/task/task-python+serve.json +0 -0
  182. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b0}/test/instances/test_validate.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: digitalhub-runtime-python
3
- Version: 0.15.2
3
+ Version: 0.16.0b0
4
4
  Summary: Python runtime for DHCore
5
5
  Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk-runtime-python
6
6
  Author-email: Fondazione Bruno Kessler <digitalhub@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
@@ -3,10 +3,14 @@
3
3
  # SPDX-License-Identifier: Apache-2.0
4
4
  from digitalhub_runtime_python.entities._commons.enums import EntityKinds
5
5
  from digitalhub_runtime_python.entities.function.guardrail.builder import FunctionGuardrailBuilder
6
+ from digitalhub_runtime_python.entities.function.hydra.builder import FunctionHydraBuilder
6
7
  from digitalhub_runtime_python.entities.function.openinference.builder import FunctionOpeninferenceBuilder
7
8
  from digitalhub_runtime_python.entities.function.python.builder import FunctionPythonBuilder
8
9
  from digitalhub_runtime_python.entities.run.guardrail_build.builder import RunGuardrailRunBuildBuilder
9
10
  from digitalhub_runtime_python.entities.run.guardrail_serve.builder import RunGuardrailRunServeBuilder
11
+ from digitalhub_runtime_python.entities.run.hydra_build.builder import RunHydraRunBuildBuilder
12
+ from digitalhub_runtime_python.entities.run.hydra_job.builder import RunHydraRunJobBuilder
13
+ from digitalhub_runtime_python.entities.run.hydra_subtask.builder import RunHydraRunSubtaskBuilder
10
14
  from digitalhub_runtime_python.entities.run.openinference_build.builder import RunOpeninferenceRunBuildBuilder
11
15
  from digitalhub_runtime_python.entities.run.openinference_serve.builder import RunOpeninferenceRunServeBuilder
12
16
  from digitalhub_runtime_python.entities.run.python_build.builder import RunPythonRunBuildBuilder
@@ -14,6 +18,9 @@ from digitalhub_runtime_python.entities.run.python_job.builder import RunPythonR
14
18
  from digitalhub_runtime_python.entities.run.python_serve.builder import RunPythonRunServeBuilder
15
19
  from digitalhub_runtime_python.entities.task.guardrail_build.builder import TaskGuardrailBuildBuilder
16
20
  from digitalhub_runtime_python.entities.task.guardrail_serve.builder import TaskGuardrailServeBuilder
21
+ from digitalhub_runtime_python.entities.task.hydra_build.builder import TaskHydraBuildBuilder
22
+ from digitalhub_runtime_python.entities.task.hydra_job.builder import TaskHydraJobBuilder
23
+ from digitalhub_runtime_python.entities.task.hydra_subtask.builder import TaskHydraSubtaskBuilder
17
24
  from digitalhub_runtime_python.entities.task.openinference_build.builder import TaskOpeninferenceBuildBuilder
18
25
  from digitalhub_runtime_python.entities.task.openinference_serve.builder import TaskOpeninferenceServeBuilder
19
26
  from digitalhub_runtime_python.entities.task.python_build.builder import TaskPythonBuildBuilder
@@ -25,6 +32,7 @@ entity_builders = (
25
32
  (EntityKinds.FUNCTION_GUARDRAIL.value, FunctionGuardrailBuilder),
26
33
  (EntityKinds.FUNCTION_OPENINFERENCE.value, FunctionOpeninferenceBuilder),
27
34
  (EntityKinds.FUNCTION_PYTHON.value, FunctionPythonBuilder),
35
+ (EntityKinds.FUNCTION_HYDRA.value, FunctionHydraBuilder),
28
36
  (EntityKinds.RUN_GUARDRAIL_BUILD.value, RunGuardrailRunBuildBuilder),
29
37
  (EntityKinds.RUN_GUARDRAIL_SERVE.value, RunGuardrailRunServeBuilder),
30
38
  (EntityKinds.RUN_OPENINFERENCE_BUILD.value, RunOpeninferenceRunBuildBuilder),
@@ -32,6 +40,9 @@ entity_builders = (
32
40
  (EntityKinds.RUN_PYTHON_BUILD.value, RunPythonRunBuildBuilder),
33
41
  (EntityKinds.RUN_PYTHON_JOB.value, RunPythonRunJobBuilder),
34
42
  (EntityKinds.RUN_PYTHON_SERVE.value, RunPythonRunServeBuilder),
43
+ (EntityKinds.RUN_HYDRA_BUILD.value, RunHydraRunBuildBuilder),
44
+ (EntityKinds.RUN_HYDRA_JOB.value, RunHydraRunJobBuilder),
45
+ (EntityKinds.RUN_HYDRA_SUBTASK.value, RunHydraRunSubtaskBuilder),
35
46
  (EntityKinds.TASK_GUARDRAIL_BUILD.value, TaskGuardrailBuildBuilder),
36
47
  (EntityKinds.TASK_GUARDRAIL_SERVE.value, TaskGuardrailServeBuilder),
37
48
  (EntityKinds.TASK_OPENINFERENCE_BUILD.value, TaskOpeninferenceBuildBuilder),
@@ -39,6 +50,9 @@ entity_builders = (
39
50
  (EntityKinds.TASK_PYTHON_BUILD.value, TaskPythonBuildBuilder),
40
51
  (EntityKinds.TASK_PYTHON_JOB.value, TaskPythonJobBuilder),
41
52
  (EntityKinds.TASK_PYTHON_SERVE.value, TaskPythonServeBuilder),
53
+ (EntityKinds.TASK_HYDRA_BUILD.value, TaskHydraBuildBuilder),
54
+ (EntityKinds.TASK_HYDRA_JOB.value, TaskHydraJobBuilder),
55
+ (EntityKinds.TASK_HYDRA_SUBTASK.value, TaskHydraSubtaskBuilder),
42
56
  )
43
57
 
44
58
  try:
@@ -47,12 +61,16 @@ try:
47
61
  RuntimeOpeninferenceBuilder,
48
62
  RuntimePythonBuilder,
49
63
  RuntimePythonJobBuilder,
64
+ RuntimeHydraBuilder,
65
+ RuntimeHydraSubtaskBuilder,
66
+ RuntimeHydraJobBuilder,
50
67
  )
51
68
 
52
69
  runtime_builders = (
53
70
  (EntityKinds.FUNCTION_GUARDRAIL.value, RuntimeGuardrailBuilder),
54
71
  (EntityKinds.FUNCTION_OPENINFERENCE.value, RuntimeOpeninferenceBuilder),
55
72
  (EntityKinds.FUNCTION_PYTHON.value, RuntimePythonBuilder),
73
+ (EntityKinds.FUNCTION_HYDRA.value, RuntimeHydraBuilder),
56
74
  (EntityKinds.RUN_GUARDRAIL_BUILD.value, RuntimeGuardrailBuilder),
57
75
  (EntityKinds.RUN_GUARDRAIL_SERVE.value, RuntimeGuardrailBuilder),
58
76
  (EntityKinds.RUN_OPENINFERENCE_BUILD.value, RuntimeOpeninferenceBuilder),
@@ -60,6 +78,9 @@ try:
60
78
  (EntityKinds.RUN_PYTHON_BUILD.value, RuntimePythonBuilder),
61
79
  (EntityKinds.RUN_PYTHON_JOB.value, RuntimePythonJobBuilder),
62
80
  (EntityKinds.RUN_PYTHON_SERVE.value, RuntimePythonBuilder),
81
+ (EntityKinds.RUN_HYDRA_BUILD.value, RuntimeHydraBuilder),
82
+ (EntityKinds.RUN_HYDRA_JOB.value, RuntimeHydraJobBuilder),
83
+ (EntityKinds.RUN_HYDRA_SUBTASK.value, RuntimeHydraSubtaskBuilder),
63
84
  (EntityKinds.TASK_GUARDRAIL_BUILD.value, RuntimeGuardrailBuilder),
64
85
  (EntityKinds.TASK_GUARDRAIL_SERVE.value, RuntimeGuardrailBuilder),
65
86
  (EntityKinds.TASK_OPENINFERENCE_BUILD.value, RuntimeOpeninferenceBuilder),
@@ -67,6 +88,9 @@ try:
67
88
  (EntityKinds.TASK_PYTHON_BUILD.value, RuntimePythonBuilder),
68
89
  (EntityKinds.TASK_PYTHON_JOB.value, RuntimePythonJobBuilder),
69
90
  (EntityKinds.TASK_PYTHON_SERVE.value, RuntimePythonBuilder),
91
+ (EntityKinds.TASK_HYDRA_BUILD.value, RuntimeHydraBuilder),
92
+ (EntityKinds.TASK_HYDRA_JOB.value, RuntimeHydraJobBuilder),
93
+ (EntityKinds.TASK_HYDRA_SUBTASK.value, RuntimeHydraSubtaskBuilder),
70
94
  )
71
95
  except ImportError as e:
72
96
  from digitalhub.utils.logger.logger import get_logger
@@ -100,3 +100,38 @@ class RuntimeEntityBuilderGuardrail(RuntimeEntityBuilder):
100
100
  ),
101
101
  ]
102
102
  )
103
+
104
+ class RuntimeEntityBuilderHydra(RuntimeEntityBuilder):
105
+ EXECUTABLE_KIND = EntityKinds.FUNCTION_HYDRA.value
106
+ TASKS_KINDS = map_actions(
107
+ [
108
+ (
109
+ EntityKinds.TASK_HYDRA_BUILD.value,
110
+ Actions.BUILD.value,
111
+ ),
112
+ (
113
+ EntityKinds.TASK_HYDRA_JOB.value,
114
+ Actions.JOB.value,
115
+ ),
116
+ (
117
+ EntityKinds.TASK_HYDRA_SUBTASK.value,
118
+ Actions.SUBTASK.value,
119
+ ),
120
+ ]
121
+ )
122
+ RUN_KINDS = map_actions(
123
+ [
124
+ (
125
+ EntityKinds.RUN_HYDRA_BUILD.value,
126
+ Actions.BUILD.value,
127
+ ),
128
+ (
129
+ EntityKinds.RUN_HYDRA_JOB.value,
130
+ Actions.JOB.value,
131
+ ),
132
+ (
133
+ EntityKinds.RUN_HYDRA_SUBTASK.value,
134
+ Actions.SUBTASK.value,
135
+ ),
136
+ ]
137
+ )
@@ -32,6 +32,13 @@ class EntityKinds(Enum):
32
32
  RUN_GUARDRAIL_BUILD = "guardrail+build:run"
33
33
  RUN_GUARDRAIL_SERVE = "guardrail+serve:run"
34
34
 
35
+ FUNCTION_HYDRA = "hydra"
36
+ TASK_HYDRA_BUILD = "hydra+build"
37
+ TASK_HYDRA_JOB = "hydra+job"
38
+ TASK_HYDRA_SUBTASK = "hydra+subtask"
39
+ RUN_HYDRA_BUILD = "hydra+build:run"
40
+ RUN_HYDRA_JOB = "hydra+job:run"
41
+ RUN_HYDRA_SUBTASK = "hydra+subtask:run"
35
42
 
36
43
  class Actions(Enum):
37
44
  """
@@ -41,3 +48,4 @@ class Actions(Enum):
41
48
  BUILD = "build"
42
49
  JOB = "job"
43
50
  SERVE = "serve"
51
+ SUBTASK = "subtask"
@@ -0,0 +1,92 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ from digitalhub.entities.function._base.builder import FunctionBuilder
8
+
9
+ from digitalhub_runtime_python.entities._base.runtime_entity.builder import RuntimeEntityBuilderHydra
10
+ from digitalhub_runtime_python.entities._commons.enums import EntityKinds
11
+ from digitalhub_runtime_python.entities.function.hydra.entity import FunctionHydra
12
+ from digitalhub_runtime_python.entities.function.hydra.spec import FunctionSpecHydra, FunctionValidatorHydra
13
+ from digitalhub_runtime_python.entities.function.hydra.status import FunctionStatusHydra
14
+
15
+ from digitalhub_runtime_python.entities.function.python.utils import source_check, source_post_check
16
+ from digitalhub_runtime_python.entities.function.hydra.utils import config_check
17
+
18
+ class FunctionHydraBuilder(FunctionBuilder, RuntimeEntityBuilderHydra):
19
+ """
20
+ FunctionHydra builder.
21
+ """
22
+
23
+ ENTITY_CLASS = FunctionHydra
24
+ ENTITY_SPEC_CLASS = FunctionSpecHydra
25
+ ENTITY_SPEC_VALIDATOR = FunctionValidatorHydra
26
+ ENTITY_STATUS_CLASS = FunctionStatusHydra
27
+ ENTITY_KIND = EntityKinds.FUNCTION_HYDRA.value
28
+
29
+ def build(
30
+ self,
31
+ kind: str,
32
+ project: str,
33
+ name: str,
34
+ uuid: str | None = None,
35
+ description: str | None = None,
36
+ labels: list[str] | None = None,
37
+ embedded: bool = False,
38
+ **kwargs,
39
+ ) -> FunctionHydra:
40
+ kwargs = source_check(**kwargs)
41
+ kwargs = config_check(**kwargs)
42
+ obj = super().build(
43
+ kind,
44
+ project,
45
+ name,
46
+ uuid,
47
+ description,
48
+ labels,
49
+ embedded,
50
+ **kwargs,
51
+ )
52
+ return source_post_check(obj)
53
+
54
+ def from_dict(self, obj: dict) -> FunctionHydra:
55
+ """
56
+ Create a new object from dictionary.
57
+
58
+ Parameters
59
+ ----------
60
+ obj : dict
61
+ Dictionary to create object from.
62
+
63
+ Returns
64
+ -------
65
+ FunctionHydra
66
+ Object instance.
67
+ """
68
+ entity = super().from_dict(obj)
69
+ return source_post_check(entity)
70
+
71
+ def _parse_dict(self, obj: dict) -> dict:
72
+ """
73
+ Get dictionary and parse it to a valid entity dictionary.
74
+
75
+ Parameters
76
+ ----------
77
+ obj : dict
78
+ Dictionary to parse.
79
+
80
+ Returns
81
+ -------
82
+ dict
83
+ A dictionary containing the attributes of the entity instance.
84
+ """
85
+ # Look for source in spec
86
+ if spec_dict := obj.get("spec", {}):
87
+ # Check source
88
+ source = spec_dict.get("source", {})
89
+ if source:
90
+ spec_dict["source"] = source_check(source=source)["source"]
91
+
92
+ return super()._parse_dict(obj)
@@ -0,0 +1,81 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ import typing
8
+
9
+ from digitalhub.entities.function._base.entity import Function
10
+ from digitalhub.utils.generic_utils import decode_base64_string
11
+ from digitalhub.utils.io_utils import write_text
12
+ from digitalhub.utils.uri_utils import has_local_scheme
13
+
14
+ from digitalhub_runtime_python.entities._commons.requirement_parser.parser import RequirementParser
15
+
16
+ if typing.TYPE_CHECKING:
17
+ from digitalhub_runtime_python.entities.function.hydra.spec import FunctionSpecHydra
18
+ from digitalhub_runtime_python.entities.function.hydra.status import FunctionStatusHydra
19
+
20
+
21
+ class FunctionHydra(Function):
22
+ """
23
+ FunctionHydra class.
24
+ """
25
+
26
+ def __init__(self, *args, **kwargs) -> None:
27
+ super().__init__(*args, **kwargs)
28
+
29
+ self.spec: FunctionSpecHydra
30
+ self.status: FunctionStatusHydra
31
+
32
+ def export(self) -> str:
33
+ """
34
+ Export object as a YAML file in the context folder.
35
+
36
+ Returns
37
+ -------
38
+ str
39
+ Exported filepath.
40
+ """
41
+ # Strip base64 from source at following conditions:
42
+ # - source is local path
43
+ # - base64 is not None
44
+
45
+ # Check source
46
+ source = self.spec.source.get("source")
47
+ if source is not None and has_local_scheme(source):
48
+ # Check base64. If it is set, decode it in a local file
49
+ # save in variable to restore on object after export
50
+ base64 = self.spec.source.pop("base64", None)
51
+ if base64 is not None:
52
+ # Write local file
53
+ src_pth = self._context().root / source
54
+ write_text(src_pth, decode_base64_string(base64))
55
+
56
+ # Export and restore base64, then return
57
+ pth = super().export()
58
+ self.spec.source["base64"] = base64
59
+
60
+ config = self.spec.config
61
+ # Check base64. If it is set, decode it in a local file
62
+ # save in variable to restore on object after export
63
+ if config is not None:
64
+ base64 = config.pop("base64", None)
65
+ if base64 is not None:
66
+ # Write local file
67
+ config_pth = self._context().root / "config.yaml"
68
+ write_text(config_pth, decode_base64_string(base64))
69
+
70
+ # Export and restore base64, then return
71
+ self.spec.config = base64
72
+
73
+ return super().export()
74
+
75
+ def _post_create_hook_before_save(self) -> None:
76
+ """
77
+ Hook method called after the creation of the entity but before saving
78
+ in Core.
79
+ Can be overridden in subclasses to implement custom behavior.
80
+ """
81
+ self.spec.requirements = RequirementParser().parse(self.spec.requirements)
@@ -0,0 +1,60 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+
9
+ from pydantic import BaseModel, ConfigDict, Field
10
+
11
+ class Lang(Enum):
12
+ """
13
+ Source code language.
14
+ """
15
+
16
+ PYTHON = "python"
17
+
18
+
19
+ class SourceValidator(BaseModel):
20
+ """
21
+ Source code params.
22
+ """
23
+
24
+ model_config = ConfigDict(use_enum_values=True)
25
+
26
+ source: str = None
27
+ "Pointer to source code."
28
+
29
+ handler: str = None
30
+ "Function entrypoint."
31
+
32
+ init_function: str = None
33
+ """Handler for init function."""
34
+
35
+ complete_function: str = None
36
+ """Handler for complete function."""
37
+
38
+ code: str = None
39
+ "Source code (plain text)."
40
+
41
+ base64: str = None
42
+ "Source code (base64 encoded)."
43
+
44
+ lang: Lang = Field(default=Lang.PYTHON.value)
45
+ "Source code language (hint)."
46
+
47
+ class ConfigValidator(BaseModel):
48
+ """
49
+ Config params.
50
+ """
51
+ model_config = ConfigDict(use_enum_values=True)
52
+
53
+ source: str = None
54
+ "Pointer to source code."
55
+
56
+ path: str = None
57
+ "Config path."
58
+
59
+ base64: str = None
60
+ "Config (base64 encoded)."
@@ -0,0 +1,58 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ from digitalhub.entities.function._base.spec import FunctionSpec, FunctionValidator
8
+
9
+ from digitalhub_runtime_python.entities.function.python.models import PythonVersion
10
+ from digitalhub_runtime_python.entities.function.hydra.models import ConfigValidator, SourceValidator
11
+
12
+
13
+ class FunctionSpecHydra(FunctionSpec):
14
+ """
15
+ FunctionSpecHydra specifications.
16
+ """
17
+
18
+ def __init__(
19
+ self,
20
+ source: dict | None = None,
21
+ config: dict | None = None,
22
+ image: str | None = None,
23
+ base_image: str | None = None,
24
+ python_version: str | None = None,
25
+ requirements: list | None = None,
26
+ ) -> None:
27
+ super().__init__()
28
+
29
+ self.image = image
30
+ self.base_image = base_image
31
+ self.python_version = python_version
32
+ self.requirements = requirements
33
+ self.source = source
34
+ self.config = config
35
+
36
+
37
+ class FunctionValidatorHydra(FunctionValidator):
38
+ """
39
+ FunctionValidatorHydra validator.
40
+ """
41
+
42
+ source: SourceValidator
43
+ """Source code validator"""
44
+
45
+ config: ConfigValidator
46
+ """Config validator"""
47
+
48
+ python_version: PythonVersion
49
+ "Python version"
50
+
51
+ image: str | None = None
52
+ "Image where the function will be executed"
53
+
54
+ base_image: str | None = None
55
+ "Base image used to build the image where the function will be executed"
56
+
57
+ requirements: list[str] | str | None = None
58
+ "Requirements list to be installed in the image where the function will be executed"
@@ -0,0 +1,13 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ from digitalhub.entities.function._base.status import FunctionStatus
8
+
9
+
10
+ class FunctionStatusHydra(FunctionStatus):
11
+ """
12
+ FunctionStatusHydra status.
13
+ """
@@ -0,0 +1,111 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ import typing
8
+ from pathlib import Path
9
+
10
+ from digitalhub.utils.exceptions import EntityError
11
+ from digitalhub.utils.generic_utils import encode_string, read_source
12
+ from digitalhub.utils.uri_utils import has_local_scheme
13
+
14
+ def config_check(**kwargs) -> dict:
15
+ """
16
+ Check config.
17
+
18
+ Parameters
19
+ ----------
20
+ **kwargs
21
+ Keyword arguments.
22
+
23
+ Returns
24
+ -------
25
+ dict
26
+ Checked config.
27
+ """
28
+ # either config_src or config or config_base64 may be provided
29
+ config_src = kwargs.pop("config_src", None)
30
+ config_base64 = kwargs.pop("config_base64", None)
31
+ config_content = kwargs.pop("config_content", None)
32
+ config = kwargs.pop("config", None)
33
+ config_path = kwargs.pop("config_path", None)
34
+
35
+ if config is not None:
36
+ config_src = config.pop("source", None)
37
+ config_base64 = config.pop("base64", None)
38
+ config_content = None
39
+ config_path = config.pop("path", None)
40
+
41
+ config = _check_params(
42
+ config_src=config_src,
43
+ config_content=config_content,
44
+ config_base64=config_base64,
45
+ path=config_path,
46
+ )
47
+
48
+ if config is not None:
49
+ kwargs["config"] = config
50
+ return kwargs
51
+
52
+ return kwargs
53
+
54
+
55
+ def _check_params(
56
+ config_src: str | None = None,
57
+ config_content: str | None = None,
58
+ config_base64: str | None = None,
59
+ path: str | None = None,
60
+ ) -> dict:
61
+ """
62
+ Check config.
63
+
64
+ Parameters
65
+ ----------
66
+ config_src : str
67
+ Config source.
68
+ config_content : str
69
+ Config.
70
+ config_base64 : str
71
+ Config base64.
72
+ path : str
73
+ Config path.
74
+
75
+ Returns
76
+ -------
77
+ dict
78
+ Checked config.
79
+ """
80
+ config = {}
81
+
82
+ if path is not None:
83
+ config["path"] = path
84
+
85
+ if config_src is None and config_content is None and config_base64 is None:
86
+ raise EntityError("Config must be provided.")
87
+
88
+ if config_src is not None:
89
+ # Check local source
90
+ if has_local_scheme(config_src):
91
+ path_src = Path(config_src)
92
+
93
+ if not path_src.exists():
94
+ raise EntityError(f"Source {config_src} does not exist.")
95
+
96
+ # If source is a folder, zip it and upload it
97
+ if not path_src.is_file():
98
+ raise EntityError(f"Source {config_src} should be a file.")
99
+
100
+ # If source is a file, read it and encode it in base64
101
+ config["base64"] = read_source(config_src)
102
+ else:
103
+ config["source"] = config_src
104
+
105
+ if config_base64 is not None:
106
+ config["base64"] = config_base64
107
+
108
+ if config_content is not None:
109
+ config["base64"] = encode_string(config_content)
110
+
111
+ return config
@@ -0,0 +1,25 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ from digitalhub.entities.run._base.builder import RunBuilder
8
+
9
+ from digitalhub_runtime_python.entities._base.runtime_entity.builder import RuntimeEntityBuilderHydra
10
+ from digitalhub_runtime_python.entities._commons.enums import EntityKinds
11
+ from digitalhub_runtime_python.entities.run.hydra_build.entity import RunHydraRunBuild
12
+ from digitalhub_runtime_python.entities.run.hydra_build.spec import RunSpecHydraRunBuild, RunValidatorHydraRunBuild
13
+ from digitalhub_runtime_python.entities.run.hydra_build.status import RunStatusHydraRunBuild
14
+
15
+
16
+ class RunHydraRunBuildBuilder(RunBuilder, RuntimeEntityBuilderHydra):
17
+ """
18
+ RunHydraRunBuildBuilder runner.
19
+ """
20
+
21
+ ENTITY_CLASS = RunHydraRunBuild
22
+ ENTITY_SPEC_CLASS = RunSpecHydraRunBuild
23
+ ENTITY_SPEC_VALIDATOR = RunValidatorHydraRunBuild
24
+ ENTITY_STATUS_CLASS = RunStatusHydraRunBuild
25
+ ENTITY_KIND = EntityKinds.RUN_HYDRA_BUILD.value
@@ -0,0 +1,25 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ import typing
8
+
9
+ from digitalhub_runtime_python.entities.run._base.entity import RunBaseRun
10
+
11
+ if typing.TYPE_CHECKING:
12
+ from digitalhub_runtime_python.entities.run.hydra_build.spec import RunSpecHydraRunBuild
13
+ from digitalhub_runtime_python.entities.run.hydra_build.status import RunStatusHydraRunBuild
14
+
15
+
16
+ class RunHydraRunBuild(RunBaseRun):
17
+ """
18
+ RunHydraRunBuild class.
19
+ """
20
+
21
+ def __init__(self, *args, **kwargs) -> None:
22
+ super().__init__(*args, **kwargs)
23
+
24
+ self.spec: RunSpecHydraRunBuild
25
+ self.status: RunStatusHydraRunBuild
@@ -0,0 +1,15 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ from digitalhub_runtime_python.entities.run._base.spec import RunSpecBaseRun, RunValidatorBaseRun
8
+
9
+
10
+ class RunSpecHydraRunBuild(RunSpecBaseRun):
11
+ """RunSpecHydraRunBuild specifications."""
12
+
13
+
14
+ class RunValidatorHydraRunBuild(RunValidatorBaseRun):
15
+ """RunValidatorHydraRunBuild validator."""
@@ -0,0 +1,13 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ from digitalhub_runtime_python.entities.run._base.status import RunStatusBaseRun
8
+
9
+
10
+ class RunStatusHydraRunBuild(RunStatusBaseRun):
11
+ """
12
+ RunStatusHydraRunBuild status.
13
+ """
@@ -0,0 +1,25 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from __future__ import annotations
6
+
7
+ from digitalhub.entities.run._base.builder import RunBuilder
8
+
9
+ from digitalhub_runtime_python.entities._base.runtime_entity.builder import RuntimeEntityBuilderHydra
10
+ from digitalhub_runtime_python.entities._commons.enums import EntityKinds
11
+ from digitalhub_runtime_python.entities.run.hydra_job.entity import RunHydraRunJob
12
+ from digitalhub_runtime_python.entities.run.hydra_job.spec import RunSpecHydraRunJob, RunValidatorHydraRunJob
13
+ from digitalhub_runtime_python.entities.run.hydra_job.status import RunStatusHydraRunJob
14
+
15
+
16
+ class RunHydraRunJobBuilder(RunBuilder, RuntimeEntityBuilderHydra):
17
+ """
18
+ RunHydraRunJobBuilder runner.
19
+ """
20
+
21
+ ENTITY_CLASS = RunHydraRunJob
22
+ ENTITY_SPEC_CLASS = RunSpecHydraRunJob
23
+ ENTITY_SPEC_VALIDATOR = RunValidatorHydraRunJob
24
+ ENTITY_STATUS_CLASS = RunStatusHydraRunJob
25
+ ENTITY_KIND = EntityKinds.RUN_HYDRA_JOB.value