digitalhub-runtime-python 0.15.2__tar.gz → 0.16.0b1__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.0b1}/PKG-INFO +3 -3
  2. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/__init__.py +24 -0
  3. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_base/runtime_entity/builder.py +36 -0
  4. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/enums.py +9 -0
  5. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/function/hydra/builder.py +92 -0
  6. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/function/hydra/entity.py +81 -0
  7. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/function/hydra/models.py +63 -0
  8. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/function/hydra/spec.py +58 -0
  9. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/function/hydra/status.py +13 -0
  10. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/function/hydra/utils.py +221 -0
  11. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_build/builder.py +25 -0
  12. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_build/entity.py +25 -0
  13. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_build/spec.py +15 -0
  14. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_build/status.py +13 -0
  15. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_job/builder.py +25 -0
  16. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_job/entity.py +69 -0
  17. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_job/spec.py +79 -0
  18. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_job/status.py +13 -0
  19. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_subtask/builder.py +45 -0
  20. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_subtask/entity.py +25 -0
  21. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_subtask/spec.py +72 -0
  22. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/run/hydra_subtask/status.py +13 -0
  23. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_build/builder.py +25 -0
  24. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_build/entity.py +25 -0
  25. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_build/spec.py +42 -0
  26. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_build/status.py +13 -0
  27. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_job/builder.py +25 -0
  28. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_job/entity.py +25 -0
  29. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_job/spec.py +19 -0
  30. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_job/status.py +13 -0
  31. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_subtask/__init__.py +3 -0
  32. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_subtask/builder.py +25 -0
  33. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_subtask/entity.py +25 -0
  34. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_subtask/spec.py +19 -0
  35. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/hydra_subtask/status.py +13 -0
  36. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/openinference_build/__init__.py +3 -0
  37. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/openinference_serve/__init__.py +3 -0
  38. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/python_build/__init__.py +3 -0
  39. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/python_job/__init__.py +3 -0
  40. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/entities/task/python_serve/__init__.py +3 -0
  41. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/runtimes/__init__.py +3 -0
  42. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/runtimes/builder.py +23 -0
  43. digitalhub_runtime_python-0.16.0b1/digitalhub_runtime_python/runtimes/hydra_runtime.py +150 -0
  44. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/runtimes/runtime.py +3 -1
  45. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/pyproject.toml +4 -4
  46. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/.github/scripts/bump.sh +0 -0
  47. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/.github/scripts/changelog.sh +0 -0
  48. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/.github/scripts/cliff.toml +0 -0
  49. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/.github/workflows/release.yml +0 -0
  50. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/.github/workflows/run_local_test.yml +0 -0
  51. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/.github/workflows/test_release.yml +0 -0
  52. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/.gitignore +0 -0
  53. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/AUTHORS +0 -0
  54. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/CONTRIBUTING +0 -0
  55. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/COPYRIGHT +0 -0
  56. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/LICENSE +0 -0
  57. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/README.md +0 -0
  58. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/__init__.py +0 -0
  59. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_base/__init__.py +0 -0
  60. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_base/runtime_entity/__init__.py +0 -0
  61. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/__init__.py +0 -0
  62. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/requirement_parser/__init__.py +0 -0
  63. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/requirement_parser/enums.py +0 -0
  64. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/requirement_parser/factory.py +0 -0
  65. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/__init__.py +0 -0
  66. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_base.py +0 -0
  67. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_conda.py +0 -0
  68. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pip.py +0 -0
  69. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pyproject.py +0 -0
  70. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/_commons/requirement_parser/parser.py +0 -0
  71. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/__init__.py +0 -0
  72. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/guardrail/__init__.py +0 -0
  73. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/guardrail/builder.py +0 -0
  74. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/guardrail/entity.py +0 -0
  75. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/guardrail/models.py +0 -0
  76. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/guardrail/spec.py +0 -0
  77. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/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.0b1/digitalhub_runtime_python/entities/function/openinference}/__init__.py +0 -0
  80. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/openinference/builder.py +0 -0
  81. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/openinference/entity.py +0 -0
  82. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/openinference/models.py +0 -0
  83. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/openinference/spec.py +0 -0
  84. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/digitalhub_runtime_python/entities/function/python}/__init__.py +0 -0
  86. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/python/builder.py +0 -0
  87. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/python/entity.py +0 -0
  88. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/python/models.py +0 -0
  89. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/python/spec.py +0 -0
  90. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/function/python/status.py +0 -0
  91. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/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.0b1/digitalhub_runtime_python/entities/run/_base}/__init__.py +0 -0
  94. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/_base/entity.py +0 -0
  95. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/_base/spec.py +0 -0
  96. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/_base/status.py +0 -0
  97. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/digitalhub_runtime_python/entities/run/guardrail_build}/__init__.py +0 -0
  99. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/guardrail_build/builder.py +0 -0
  100. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/guardrail_build/entity.py +0 -0
  101. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/guardrail_build/spec.py +0 -0
  102. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/digitalhub_runtime_python/entities/run/guardrail_serve}/__init__.py +0 -0
  104. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/guardrail_serve/builder.py +0 -0
  105. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/guardrail_serve/entity.py +0 -0
  106. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/guardrail_serve/spec.py +0 -0
  107. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/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.0b1/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.0b1/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.0b1/digitalhub_runtime_python/entities/run/openinference_build}/__init__.py +0 -0
  112. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/openinference_build/builder.py +0 -0
  113. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/openinference_build/entity.py +0 -0
  114. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/openinference_build/spec.py +0 -0
  115. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/digitalhub_runtime_python/entities/run/openinference_serve}/__init__.py +0 -0
  117. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/openinference_serve/builder.py +0 -0
  118. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/openinference_serve/entity.py +0 -0
  119. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/openinference_serve/spec.py +0 -0
  120. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/digitalhub_runtime_python/entities/run/python_build}/__init__.py +0 -0
  122. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/python_build/builder.py +0 -0
  123. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/python_build/entity.py +0 -0
  124. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/python_build/spec.py +0 -0
  125. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/digitalhub_runtime_python/entities/run/python_job}/__init__.py +0 -0
  127. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/python_job/builder.py +0 -0
  128. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/python_job/entity.py +0 -0
  129. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/python_job/spec.py +0 -0
  130. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/digitalhub_runtime_python/entities/run/python_serve}/__init__.py +0 -0
  132. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/python_serve/builder.py +0 -0
  133. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/python_serve/entity.py +0 -0
  134. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/run/python_serve/spec.py +0 -0
  135. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/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.0b1/digitalhub_runtime_python/entities/task/guardrail_build}/__init__.py +0 -0
  138. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/guardrail_build/builder.py +0 -0
  139. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/guardrail_build/entity.py +0 -0
  140. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/guardrail_build/spec.py +0 -0
  141. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/digitalhub_runtime_python/entities/task/guardrail_serve}/__init__.py +0 -0
  143. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/guardrail_serve/builder.py +0 -0
  144. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/guardrail_serve/entity.py +0 -0
  145. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/guardrail_serve/spec.py +0 -0
  146. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1/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.0b1/digitalhub_runtime_python/entities/task/hydra_job}/__init__.py +0 -0
  149. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/openinference_build/builder.py +0 -0
  150. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/openinference_build/entity.py +0 -0
  151. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/openinference_build/spec.py +0 -0
  152. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/openinference_build/status.py +0 -0
  153. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/openinference_serve/builder.py +0 -0
  154. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/openinference_serve/entity.py +0 -0
  155. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/openinference_serve/spec.py +0 -0
  156. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/openinference_serve/status.py +0 -0
  157. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_build/builder.py +0 -0
  158. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_build/entity.py +0 -0
  159. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_build/spec.py +0 -0
  160. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_build/status.py +0 -0
  161. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_job/builder.py +0 -0
  162. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_job/entity.py +0 -0
  163. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_job/spec.py +0 -0
  164. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_job/status.py +0 -0
  165. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_serve/builder.py +0 -0
  166. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_serve/entity.py +0 -0
  167. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_serve/spec.py +0 -0
  168. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/entities/task/python_serve/status.py +0 -0
  169. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/utils/configuration.py +0 -0
  170. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/utils/inputs.py +0 -0
  171. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/utils/outputs.py +0 -0
  172. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/digitalhub_runtime_python/utils/utils.py +0 -0
  173. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/test/instances/entities/function/function-python-git.json +0 -0
  174. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/test/instances/entities/function/function-python-local.json +0 -0
  175. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/test/instances/entities/function/function-python-zip.json +0 -0
  176. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/test/instances/entities/run/run-python+build:run.json +0 -0
  177. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/test/instances/entities/run/run-python+job:run.json +0 -0
  178. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/test/instances/entities/run/run-python+serve:run.json +0 -0
  179. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/test/instances/entities/task/task-python+build.json +0 -0
  180. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/test/instances/entities/task/task-python+job.json +0 -0
  181. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/test/instances/entities/task/task-python+serve.json +0 -0
  182. {digitalhub_runtime_python-0.15.2 → digitalhub_runtime_python-0.16.0b1}/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.0b1
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>
@@ -215,14 +215,14 @@ Classifier: Programming Language :: Python :: 3.12
215
215
  Classifier: Programming Language :: Python :: 3.13
216
216
  Classifier: Programming Language :: Python :: 3.14
217
217
  Requires-Python: <3.15,>=3.10
218
- Requires-Dist: digitalhub[full]<0.16,>=0.15.1
218
+ Requires-Dist: digitalhub[full]<0.17,>=0.16.0b
219
219
  Requires-Dist: msgpack
220
220
  Requires-Dist: nuclio-sdk
221
221
  Requires-Dist: pip
222
222
  Requires-Dist: pyyaml
223
223
  Requires-Dist: tomli; python_version < '3.11'
224
224
  Provides-Extra: dev
225
- Requires-Dist: digitalhub[dev]<0.16,>=0.15.1; extra == 'dev'
225
+ Requires-Dist: digitalhub[dev]<0.17,>=0.16.0b; extra == 'dev'
226
226
  Description-Content-Type: text/markdown
227
227
 
228
228
  # DigitalHub SDK Runtime Python
@@ -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,11 +50,17 @@ 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:
45
59
  from digitalhub_runtime_python.runtimes.builder import (
46
60
  RuntimeGuardrailBuilder,
61
+ RuntimeHydraBuilder,
62
+ RuntimeHydraJobBuilder,
63
+ RuntimeHydraSubtaskBuilder,
47
64
  RuntimeOpeninferenceBuilder,
48
65
  RuntimePythonBuilder,
49
66
  RuntimePythonJobBuilder,
@@ -53,6 +70,7 @@ try:
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,39 @@ class RuntimeEntityBuilderGuardrail(RuntimeEntityBuilder):
100
100
  ),
101
101
  ]
102
102
  )
103
+
104
+
105
+ class RuntimeEntityBuilderHydra(RuntimeEntityBuilder):
106
+ EXECUTABLE_KIND = EntityKinds.FUNCTION_HYDRA.value
107
+ TASKS_KINDS = map_actions(
108
+ [
109
+ (
110
+ EntityKinds.TASK_HYDRA_BUILD.value,
111
+ Actions.BUILD.value,
112
+ ),
113
+ (
114
+ EntityKinds.TASK_HYDRA_JOB.value,
115
+ Actions.JOB.value,
116
+ ),
117
+ (
118
+ EntityKinds.TASK_HYDRA_SUBTASK.value,
119
+ Actions.SUBTASK.value,
120
+ ),
121
+ ]
122
+ )
123
+ RUN_KINDS = map_actions(
124
+ [
125
+ (
126
+ EntityKinds.RUN_HYDRA_BUILD.value,
127
+ Actions.BUILD.value,
128
+ ),
129
+ (
130
+ EntityKinds.RUN_HYDRA_JOB.value,
131
+ Actions.JOB.value,
132
+ ),
133
+ (
134
+ EntityKinds.RUN_HYDRA_SUBTASK.value,
135
+ Actions.SUBTASK.value,
136
+ ),
137
+ ]
138
+ )
@@ -32,6 +32,14 @@ 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"
42
+
35
43
 
36
44
  class Actions(Enum):
37
45
  """
@@ -41,3 +49,4 @@ class Actions(Enum):
41
49
  BUILD = "build"
42
50
  JOB = "job"
43
51
  SERVE = "serve"
52
+ 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
+ from digitalhub_runtime_python.entities.function.hydra.utils import config_check, source_check
15
+ from digitalhub_runtime_python.entities.function.python.utils import source_post_check
16
+
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
+ 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,63 @@
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
+
12
+ class Lang(Enum):
13
+ """
14
+ Source code language.
15
+ """
16
+
17
+ PYTHON = "python"
18
+
19
+
20
+ class SourceValidator(BaseModel):
21
+ """
22
+ Source code params.
23
+ """
24
+
25
+ model_config = ConfigDict(use_enum_values=True)
26
+
27
+ source: str = None
28
+ "Pointer to source code."
29
+
30
+ handler: str = None
31
+ "Function entrypoint."
32
+
33
+ init_function: str = None
34
+ """Handler for init function."""
35
+
36
+ complete_function: str = None
37
+ """Handler for complete function."""
38
+
39
+ code: str = None
40
+ "Source code (plain text)."
41
+
42
+ base64: str = None
43
+ "Source code (base64 encoded)."
44
+
45
+ lang: Lang = Field(default=Lang.PYTHON.value)
46
+ "Source code language (hint)."
47
+
48
+
49
+ class ConfigValidator(BaseModel):
50
+ """
51
+ Config params.
52
+ """
53
+
54
+ model_config = ConfigDict(use_enum_values=True)
55
+
56
+ source: str = None
57
+ "Pointer to source code."
58
+
59
+ path: str = None
60
+ "Config path."
61
+
62
+ base64: str = None
63
+ "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.hydra.models import ConfigValidator, SourceValidator
10
+ from digitalhub_runtime_python.entities.function.python.models import PythonVersion
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
+ """