digitalhub-runtime-python 0.16.0b2__tar.gz → 0.16.0b3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/PKG-INFO +2 -2
  2. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_base/runtime_entity/builder.py +1 -1
  3. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/requirement_parser/parser.py +9 -1
  4. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/python → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/_commons}/utils.py +42 -7
  5. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/_base/builder.py +38 -0
  6. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/_base/entity.py +134 -0
  7. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/guardrail/builder.py +27 -0
  8. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/guardrail/entity.py +25 -0
  9. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/hydra/builder.py +31 -0
  10. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/hydra/entity.py +25 -0
  11. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/hydra/utils.py +3 -2
  12. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/openinference/builder.py +27 -0
  13. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/openinference/entity.py +25 -0
  14. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/python/builder.py +24 -0
  15. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/python/entity.py +25 -0
  16. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/_base/entity.py +1 -1
  17. digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/runtimes/__init__.py +3 -0
  18. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/pyproject.toml +2 -2
  19. digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/guardrail/builder.py +0 -95
  20. digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/guardrail/entity.py +0 -69
  21. digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/hydra/builder.py +0 -94
  22. digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/hydra/entity.py +0 -81
  23. digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/openinference/builder.py +0 -95
  24. digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/openinference/entity.py +0 -69
  25. digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/python/builder.py +0 -92
  26. digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/python/entity.py +0 -69
  27. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/.github/scripts/bump.sh +0 -0
  28. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/.github/scripts/changelog.sh +0 -0
  29. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/.github/scripts/cliff.toml +0 -0
  30. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/.github/workflows/release.yml +0 -0
  31. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/.github/workflows/run_local_test.yml +0 -0
  32. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/.github/workflows/test_release.yml +0 -0
  33. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/.gitignore +0 -0
  34. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/AUTHORS +0 -0
  35. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/CONTRIBUTING +0 -0
  36. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/COPYRIGHT +0 -0
  37. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/LICENSE +0 -0
  38. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/README.md +0 -0
  39. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/__init__.py +0 -0
  40. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/__init__.py +0 -0
  41. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_base/__init__.py +0 -0
  42. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_base/runtime_entity/__init__.py +0 -0
  43. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/__init__.py +0 -0
  44. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/enums.py +0 -0
  45. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/requirement_parser/__init__.py +0 -0
  46. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/requirement_parser/enums.py +0 -0
  47. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/requirement_parser/factory.py +0 -0
  48. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/__init__.py +0 -0
  49. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_base.py +0 -0
  50. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_conda.py +0 -0
  51. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pip.py +0 -0
  52. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pyproject.py +0 -0
  53. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/__init__.py +0 -0
  54. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/guardrail → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/_base}/__init__.py +0 -0
  55. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/hydra → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/guardrail}/__init__.py +0 -0
  56. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/guardrail/models.py +0 -0
  57. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/guardrail/spec.py +0 -0
  58. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/guardrail/status.py +0 -0
  59. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/openinference → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/hydra}/__init__.py +0 -0
  60. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/hydra/models.py +0 -0
  61. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/hydra/spec.py +0 -0
  62. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/hydra/status.py +0 -0
  63. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/function/python → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/openinference}/__init__.py +0 -0
  64. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/openinference/models.py +0 -0
  65. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/openinference/spec.py +0 -0
  66. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/openinference/status.py +0 -0
  67. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/function/python}/__init__.py +0 -0
  68. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/python/models.py +0 -0
  69. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/python/spec.py +0 -0
  70. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/function/python/status.py +0 -0
  71. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/_base → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run}/__init__.py +0 -0
  72. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/guardrail_build → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/_base}/__init__.py +0 -0
  73. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/_base/spec.py +0 -0
  74. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/_base/status.py +0 -0
  75. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/_base/utils.py +0 -0
  76. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/guardrail_serve → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/guardrail_build}/__init__.py +0 -0
  77. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/guardrail_build/builder.py +0 -0
  78. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/guardrail_build/entity.py +0 -0
  79. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/guardrail_build/spec.py +0 -0
  80. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/guardrail_build/status.py +0 -0
  81. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/hydra_build → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/guardrail_serve}/__init__.py +0 -0
  82. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/guardrail_serve/builder.py +0 -0
  83. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/guardrail_serve/entity.py +0 -0
  84. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/guardrail_serve/spec.py +0 -0
  85. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/guardrail_serve/status.py +0 -0
  86. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/hydra_job → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/hydra_build}/__init__.py +0 -0
  87. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_build/builder.py +0 -0
  88. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_build/entity.py +0 -0
  89. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_build/spec.py +0 -0
  90. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_build/status.py +0 -0
  91. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/hydra_subtask → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/hydra_job}/__init__.py +0 -0
  92. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_job/builder.py +0 -0
  93. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_job/entity.py +0 -0
  94. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_job/spec.py +0 -0
  95. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_job/status.py +0 -0
  96. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/openinference_build → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/hydra_subtask}/__init__.py +0 -0
  97. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_subtask/builder.py +0 -0
  98. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_subtask/entity.py +0 -0
  99. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_subtask/spec.py +0 -0
  100. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/hydra_subtask/status.py +0 -0
  101. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/openinference_serve → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/openinference_build}/__init__.py +0 -0
  102. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/openinference_build/builder.py +0 -0
  103. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/openinference_build/entity.py +0 -0
  104. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/openinference_build/spec.py +0 -0
  105. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/openinference_build/status.py +0 -0
  106. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/python_build → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/openinference_serve}/__init__.py +0 -0
  107. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/openinference_serve/builder.py +0 -0
  108. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/openinference_serve/entity.py +0 -0
  109. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/openinference_serve/spec.py +0 -0
  110. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/openinference_serve/status.py +0 -0
  111. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/python_job → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/python_build}/__init__.py +0 -0
  112. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_build/builder.py +0 -0
  113. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_build/entity.py +0 -0
  114. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_build/spec.py +0 -0
  115. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_build/status.py +0 -0
  116. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/run/python_serve → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/python_job}/__init__.py +0 -0
  117. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_job/builder.py +0 -0
  118. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_job/entity.py +0 -0
  119. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_job/spec.py +0 -0
  120. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_job/status.py +0 -0
  121. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/run/python_serve}/__init__.py +0 -0
  122. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_serve/builder.py +0 -0
  123. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_serve/entity.py +0 -0
  124. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_serve/spec.py +0 -0
  125. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/run/python_serve/status.py +0 -0
  126. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task/guardrail_build → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task}/__init__.py +0 -0
  127. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task/guardrail_serve → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task/guardrail_build}/__init__.py +0 -0
  128. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/guardrail_build/builder.py +0 -0
  129. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/guardrail_build/entity.py +0 -0
  130. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/guardrail_build/spec.py +0 -0
  131. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/guardrail_build/status.py +0 -0
  132. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task/hydra_build → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task/guardrail_serve}/__init__.py +0 -0
  133. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/guardrail_serve/builder.py +0 -0
  134. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/guardrail_serve/entity.py +0 -0
  135. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/guardrail_serve/spec.py +0 -0
  136. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/guardrail_serve/status.py +0 -0
  137. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task/hydra_job → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task/hydra_build}/__init__.py +0 -0
  138. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_build/builder.py +0 -0
  139. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_build/entity.py +0 -0
  140. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_build/spec.py +0 -0
  141. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_build/status.py +0 -0
  142. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task/hydra_subtask → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task/hydra_job}/__init__.py +0 -0
  143. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_job/builder.py +0 -0
  144. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_job/entity.py +0 -0
  145. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_job/spec.py +0 -0
  146. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_job/status.py +0 -0
  147. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task/openinference_build → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task/hydra_subtask}/__init__.py +0 -0
  148. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_subtask/builder.py +0 -0
  149. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_subtask/entity.py +0 -0
  150. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_subtask/spec.py +0 -0
  151. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/hydra_subtask/status.py +0 -0
  152. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task/openinference_serve → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task/openinference_build}/__init__.py +0 -0
  153. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/openinference_build/builder.py +0 -0
  154. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/openinference_build/entity.py +0 -0
  155. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/openinference_build/spec.py +0 -0
  156. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/openinference_build/status.py +0 -0
  157. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task/python_build → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task/openinference_serve}/__init__.py +0 -0
  158. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/openinference_serve/builder.py +0 -0
  159. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/openinference_serve/entity.py +0 -0
  160. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/openinference_serve/spec.py +0 -0
  161. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/openinference_serve/status.py +0 -0
  162. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task/python_job → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task/python_build}/__init__.py +0 -0
  163. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_build/builder.py +0 -0
  164. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_build/entity.py +0 -0
  165. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_build/spec.py +0 -0
  166. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_build/status.py +0 -0
  167. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/entities/task/python_serve → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task/python_job}/__init__.py +0 -0
  168. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_job/builder.py +0 -0
  169. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_job/entity.py +0 -0
  170. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_job/spec.py +0 -0
  171. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_job/status.py +0 -0
  172. {digitalhub_runtime_python-0.16.0b2/digitalhub_runtime_python/runtimes → digitalhub_runtime_python-0.16.0b3/digitalhub_runtime_python/entities/task/python_serve}/__init__.py +0 -0
  173. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_serve/builder.py +0 -0
  174. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_serve/entity.py +0 -0
  175. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_serve/spec.py +0 -0
  176. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/entities/task/python_serve/status.py +0 -0
  177. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/runtimes/builder.py +0 -0
  178. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/runtimes/hydra_runtime.py +0 -0
  179. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/runtimes/runtime.py +0 -0
  180. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/utils/configuration.py +0 -0
  181. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/utils/inputs.py +0 -0
  182. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/utils/outputs.py +0 -0
  183. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/digitalhub_runtime_python/utils/utils.py +0 -0
  184. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/test/instances/entities/function/function-python-git.json +0 -0
  185. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/test/instances/entities/function/function-python-local.json +0 -0
  186. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/test/instances/entities/function/function-python-zip.json +0 -0
  187. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/test/instances/entities/run/run-python+build:run.json +0 -0
  188. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/test/instances/entities/run/run-python+job:run.json +0 -0
  189. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/test/instances/entities/run/run-python+serve:run.json +0 -0
  190. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/test/instances/entities/task/task-python+build.json +0 -0
  191. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/test/instances/entities/task/task-python+job.json +0 -0
  192. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/test/instances/entities/task/task-python+serve.json +0 -0
  193. {digitalhub_runtime_python-0.16.0b2 → digitalhub_runtime_python-0.16.0b3}/test/instances/test_validate.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: digitalhub-runtime-python
3
- Version: 0.16.0b2
3
+ Version: 0.16.0b3
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>
@@ -4,8 +4,8 @@
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from digitalhub.entities._base.runtime_entity.builder import RuntimeEntityBuilder
8
7
  from digitalhub.entities._commons.utils import map_actions
8
+ from digitalhub.entities._mixin.runtime_entity.builder import RuntimeEntityBuilder
9
9
 
10
10
  from digitalhub_runtime_python.entities._commons.enums import Actions, EntityKinds
11
11
 
@@ -5,10 +5,13 @@ from __future__ import annotations
5
5
 
6
6
  from pathlib import Path
7
7
 
8
+ from digitalhub.utils.logger.logger import get_logger
8
9
  from pip._internal.operations import freeze
9
10
 
10
11
  from digitalhub_runtime_python.entities._commons.requirement_parser.factory import RequirementParserFactory
11
12
 
13
+ logger = get_logger(__file__)
14
+
12
15
 
13
16
  class RequirementParser:
14
17
  """
@@ -88,7 +91,12 @@ class RequirementParser:
88
91
  normalized_name = req.lower().replace("_", "-")
89
92
  if normalized_name in installed_map:
90
93
  # Use the installed version
91
- result.append(installed_map[normalized_name])
94
+ installed_requirement = installed_map[normalized_name]
95
+ logger.warning(
96
+ f"Warning: {req} version unspecified, using version {installed_requirement} inferred "
97
+ "from local environment. To override set an explicit version."
98
+ )
99
+ result.append(installed_requirement)
92
100
  else:
93
101
  # Package not found in environment, keep without version
94
102
  result.append(req)
@@ -11,7 +11,8 @@ from digitalhub.entities._commons.utils import build_zip_path
11
11
  from digitalhub.stores.data.api import get_store
12
12
  from digitalhub.utils.exceptions import EntityError
13
13
  from digitalhub.utils.file_utils import eval_py_type, eval_zip_type
14
- from digitalhub.utils.generic_utils import create_archive, encode_string, read_source
14
+ from digitalhub.utils.generic_utils import create_archive, decode_base64_string, encode_string, read_source
15
+ from digitalhub.utils.io_utils import write_text
15
16
  from digitalhub.utils.uri_utils import has_local_scheme
16
17
 
17
18
  from digitalhub_runtime_python.entities.function.python.models import Lang
@@ -20,6 +21,38 @@ if typing.TYPE_CHECKING:
20
21
  from digitalhub_runtime_python.entities.function.python.entity import FunctionPython
21
22
 
22
23
 
24
+ class _LocalSourceExport:
25
+ def __init__(self, source: dict, root: Path) -> None:
26
+ self.source = source
27
+ self.root = root
28
+ self.base64 = None
29
+
30
+ def __enter__(self) -> None:
31
+ # Strip base64 from source at following conditions:
32
+ # - source is local path
33
+ # - base64 is not None
34
+ source_path = self.source.get("source")
35
+ if source_path is None or not has_local_scheme(source_path):
36
+ return
37
+
38
+ # Check base64. If it is set, decode it in a local file
39
+ # save in variable to restore on object after export
40
+ self.base64 = self.source.pop("base64", None)
41
+ if self.base64 is not None:
42
+ # Write local file
43
+ write_text(self.root / source_path, decode_base64_string(self.base64))
44
+ return
45
+
46
+ def __exit__(self, exc_type, exc_value, traceback) -> None:
47
+ # Restore base64 after export, including when export raises an exception.
48
+ if self.base64 is not None:
49
+ self.source["base64"] = self.base64
50
+
51
+
52
+ def export_local_source(source: dict, root: Path) -> _LocalSourceExport:
53
+ return _LocalSourceExport(source, root)
54
+
55
+
23
56
  def source_check(**kwargs) -> dict:
24
57
  """
25
58
  Check source code.
@@ -43,6 +76,7 @@ def source_check(**kwargs) -> dict:
43
76
  lang = kwargs.pop("lang", None)
44
77
 
45
78
  if source is not None:
79
+ source = source.copy()
46
80
  code_src = source.pop("source", None)
47
81
  code = source.pop("code", None)
48
82
  base64 = source.pop("base64", None)
@@ -101,8 +135,7 @@ def _check_params(
101
135
  if init_function is not None:
102
136
  source["init_function"] = init_function
103
137
 
104
- if lang is None:
105
- source["lang"] = Lang.PYTHON.value
138
+ source["lang"] = lang if lang is not None else Lang.PYTHON.value
106
139
 
107
140
  if code_src is None and code is None and base64 is None:
108
141
  raise EntityError("Source must be provided.")
@@ -148,10 +181,12 @@ def source_post_check(exec: FunctionPython) -> FunctionPython:
148
181
  # If source is a folder, zip it and upload it
149
182
  if not path_src.is_file():
150
183
  archive_path = create_archive(path_src)
151
- dst = build_zip_path(exec, archive_path.name)
152
- get_store(dst).upload(str(archive_path), dst)
153
- exec.spec.source["source"] = dst
154
- archive_path.unlink()
184
+ try:
185
+ dst = build_zip_path(exec, archive_path.name)
186
+ get_store(dst).upload(str(archive_path), dst)
187
+ exec.spec.source["source"] = dst
188
+ finally:
189
+ archive_path.unlink(missing_ok=True)
155
190
 
156
191
  # If source is a file, read it and encode it in base64
157
192
  elif eval_py_type(code_src):
@@ -0,0 +1,38 @@
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 RuntimeEntityBuilder
10
+ from digitalhub_runtime_python.entities._commons.utils import source_check, source_post_check
11
+
12
+
13
+ class FunctionBaseBuilder(FunctionBuilder, RuntimeEntityBuilder):
14
+ """
15
+ Base builder for runtime Python functions.
16
+ """
17
+
18
+ def _prepare_kwargs(self, kwargs: dict) -> dict:
19
+ return source_check(**kwargs)
20
+
21
+ def _prepare_source(self, source: dict) -> dict:
22
+ return source_check(source=source)["source"]
23
+
24
+ def build(self, *args, **kwargs):
25
+ kwargs = self._prepare_kwargs(kwargs)
26
+ return source_post_check(super().build(*args, **kwargs))
27
+
28
+ def from_dict(self, obj: dict):
29
+ return source_post_check(super().from_dict(obj))
30
+
31
+ def _parse_dict(self, obj: dict) -> dict:
32
+ if spec_dict := obj.get("spec", {}):
33
+ # Check source
34
+ source = spec_dict.get("source", {})
35
+ if source:
36
+ spec_dict["source"] = self._prepare_source(source)
37
+
38
+ return super()._parse_dict(obj)
@@ -0,0 +1,134 @@
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.entity import Function
8
+ from digitalhub.utils.generic_utils import decode_base64_string
9
+ from digitalhub.utils.io_utils import write_text
10
+
11
+ from digitalhub_runtime_python.entities._commons.enums import Actions
12
+ from digitalhub_runtime_python.entities._commons.requirement_parser.parser import RequirementParser
13
+ from digitalhub_runtime_python.entities._commons.utils import export_local_source
14
+
15
+
16
+ class FunctionBaseFunction(Function):
17
+ """
18
+ Base class for runtime Python functions.
19
+ """
20
+
21
+ def _post_create_hook_before_save(self) -> None:
22
+ """
23
+ Parse function requirements before saving the entity.
24
+
25
+ Returns
26
+ -------
27
+ None
28
+ This method updates the function requirements in place.
29
+ """
30
+ self.spec.requirements = RequirementParser().parse(self.spec.requirements)
31
+
32
+ def export(self) -> str:
33
+ """
34
+ Export the function to the context folder.
35
+
36
+ Returns
37
+ -------
38
+ str
39
+ Exported filepath.
40
+ """
41
+ with export_local_source(self.spec.source, self._context().root):
42
+ config = getattr(self.spec, "config", None)
43
+ # Check base64. If it is set, decode it in a local file
44
+ # save in variable to restore on object after export
45
+ base64 = None
46
+ if config is not None:
47
+ base64 = config.pop("base64", None)
48
+ if base64 is not None:
49
+ # Write local file
50
+ config_pth = self._context().root / "config.yaml"
51
+ write_text(config_pth, decode_base64_string(base64))
52
+
53
+ try:
54
+ return super().export()
55
+ finally:
56
+ if config is not None and base64 is not None:
57
+ config["base64"] = base64
58
+
59
+ def build(
60
+ self,
61
+ wait: bool = True,
62
+ log_info: bool = True,
63
+ extensions: list[dict] | None = None,
64
+ **kwargs,
65
+ ):
66
+ """
67
+ Build the function using the build action.
68
+
69
+ Parameters
70
+ ----------
71
+ wait : bool
72
+ Whether to wait for the build to complete.
73
+ log_info : bool
74
+ Whether to log information while waiting.
75
+ extensions : list[dict] | None
76
+ List of extensions to apply.
77
+ **kwargs : dict
78
+ Keyword arguments passed to the run builder.
79
+
80
+ Returns
81
+ -------
82
+ Run
83
+ Build run instance.
84
+ """
85
+ return super().run(
86
+ Actions.BUILD.value,
87
+ wait=wait,
88
+ log_info=log_info,
89
+ extensions=extensions,
90
+ **kwargs,
91
+ )
92
+
93
+ def run(
94
+ self,
95
+ action: str,
96
+ wait: bool = False,
97
+ log_info: bool = True,
98
+ extensions: list[dict] | None = None,
99
+ auto_build: bool = True,
100
+ **kwargs,
101
+ ):
102
+ """
103
+ Run the function, building it first when no image is available.
104
+
105
+ Parameters
106
+ ----------
107
+ action : str
108
+ Action to execute.
109
+ wait : bool
110
+ Whether to wait for execution to complete.
111
+ log_info : bool
112
+ Whether to log information while waiting.
113
+ extensions : list[dict] | None
114
+ List of extensions to apply.
115
+ auto_build : bool
116
+ Whether to build the function when ``spec.image`` is ``None``.
117
+ **kwargs : dict
118
+ Keyword arguments passed to the run builder.
119
+
120
+ Returns
121
+ -------
122
+ Run
123
+ Run instance.
124
+ """
125
+ if auto_build and self.spec.image is None:
126
+ self.build(wait=True, log_info=log_info)
127
+
128
+ return super().run(
129
+ action,
130
+ wait=wait,
131
+ log_info=log_info,
132
+ extensions=extensions,
133
+ **kwargs,
134
+ )
@@ -0,0 +1,27 @@
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._base.runtime_entity.builder import RuntimeEntityBuilderGuardrail
8
+ from digitalhub_runtime_python.entities._commons.enums import EntityKinds
9
+ from digitalhub_runtime_python.entities.function._base.builder import FunctionBaseBuilder
10
+ from digitalhub_runtime_python.entities.function.guardrail.entity import FunctionGuardrail
11
+ from digitalhub_runtime_python.entities.function.guardrail.spec import (
12
+ FunctionSpecGuardrail,
13
+ FunctionValidatorGuardrail,
14
+ )
15
+ from digitalhub_runtime_python.entities.function.guardrail.status import FunctionStatusGuardrail
16
+
17
+
18
+ class FunctionGuardrailBuilder(FunctionBaseBuilder, RuntimeEntityBuilderGuardrail):
19
+ """
20
+ FunctionGuardrail builder.
21
+ """
22
+
23
+ ENTITY_CLASS = FunctionGuardrail
24
+ ENTITY_SPEC_CLASS = FunctionSpecGuardrail
25
+ ENTITY_SPEC_VALIDATOR = FunctionValidatorGuardrail
26
+ ENTITY_STATUS_CLASS = FunctionStatusGuardrail
27
+ ENTITY_KIND = EntityKinds.FUNCTION_GUARDRAIL.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.function._base.entity import FunctionBaseFunction
10
+
11
+ if typing.TYPE_CHECKING:
12
+ from digitalhub_runtime_python.entities.function.guardrail.spec import FunctionSpecGuardrail
13
+ from digitalhub_runtime_python.entities.function.guardrail.status import FunctionStatusGuardrail
14
+
15
+
16
+ class FunctionGuardrail(FunctionBaseFunction):
17
+ """
18
+ FunctionGuardrail class.
19
+ """
20
+
21
+ def __init__(self, *args, **kwargs) -> None:
22
+ super().__init__(*args, **kwargs)
23
+
24
+ self.spec: FunctionSpecGuardrail
25
+ self.status: FunctionStatusGuardrail
@@ -0,0 +1,31 @@
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._base.runtime_entity.builder import RuntimeEntityBuilderHydra
8
+ from digitalhub_runtime_python.entities._commons.enums import EntityKinds
9
+ from digitalhub_runtime_python.entities.function._base.builder import FunctionBaseBuilder
10
+ from digitalhub_runtime_python.entities.function.hydra.entity import FunctionHydra
11
+ from digitalhub_runtime_python.entities.function.hydra.spec import FunctionSpecHydra, FunctionValidatorHydra
12
+ from digitalhub_runtime_python.entities.function.hydra.status import FunctionStatusHydra
13
+ from digitalhub_runtime_python.entities.function.hydra.utils import config_check, source_check
14
+
15
+
16
+ class FunctionHydraBuilder(FunctionBaseBuilder, RuntimeEntityBuilderHydra):
17
+ """
18
+ FunctionHydra builder.
19
+ """
20
+
21
+ ENTITY_CLASS = FunctionHydra
22
+ ENTITY_SPEC_CLASS = FunctionSpecHydra
23
+ ENTITY_SPEC_VALIDATOR = FunctionValidatorHydra
24
+ ENTITY_STATUS_CLASS = FunctionStatusHydra
25
+ ENTITY_KIND = EntityKinds.FUNCTION_HYDRA.value
26
+
27
+ def _prepare_kwargs(self, kwargs: dict) -> dict:
28
+ return config_check(**source_check(**kwargs))
29
+
30
+ def _prepare_source(self, source: dict) -> dict:
31
+ return source_check(source=source)["source"]
@@ -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.function._base.entity import FunctionBaseFunction
10
+
11
+ if typing.TYPE_CHECKING:
12
+ from digitalhub_runtime_python.entities.function.hydra.spec import FunctionSpecHydra
13
+ from digitalhub_runtime_python.entities.function.hydra.status import FunctionStatusHydra
14
+
15
+
16
+ class FunctionHydra(FunctionBaseFunction):
17
+ """
18
+ FunctionHydra class.
19
+ """
20
+
21
+ def __init__(self, *args, **kwargs) -> None:
22
+ super().__init__(*args, **kwargs)
23
+
24
+ self.spec: FunctionSpecHydra
25
+ self.status: FunctionStatusHydra
@@ -37,6 +37,7 @@ def source_check(**kwargs) -> dict:
37
37
  lang = kwargs.pop("lang", None)
38
38
 
39
39
  if source is not None:
40
+ source = source.copy()
40
41
  code_src = source.pop("source", None)
41
42
  code = source.pop("code", None)
42
43
  base64 = source.pop("base64", None)
@@ -103,8 +104,7 @@ def _check_params(
103
104
  if complete_function is not None:
104
105
  source["complete_function"] = complete_function
105
106
 
106
- if lang is None:
107
- source["lang"] = Lang.PYTHON.value
107
+ source["lang"] = lang if lang is not None else Lang.PYTHON.value
108
108
 
109
109
  if code_src is None and code is None and base64 is None:
110
110
  raise EntityError("Source must be provided.")
@@ -143,6 +143,7 @@ def config_check(**kwargs) -> dict:
143
143
  config_path = kwargs.pop("config_path", None)
144
144
 
145
145
  if config is not None:
146
+ config = config.copy()
146
147
  config_src = config.pop("source", None)
147
148
  config_base64 = config.pop("base64", None)
148
149
  config_content = None
@@ -0,0 +1,27 @@
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._base.runtime_entity.builder import RuntimeEntityBuilderOpeninference
8
+ from digitalhub_runtime_python.entities._commons.enums import EntityKinds
9
+ from digitalhub_runtime_python.entities.function._base.builder import FunctionBaseBuilder
10
+ from digitalhub_runtime_python.entities.function.openinference.entity import FunctionOpeninference
11
+ from digitalhub_runtime_python.entities.function.openinference.spec import (
12
+ FunctionSpecOpeninference,
13
+ FunctionValidatorOpeninference,
14
+ )
15
+ from digitalhub_runtime_python.entities.function.openinference.status import FunctionStatusOpeninference
16
+
17
+
18
+ class FunctionOpeninferenceBuilder(FunctionBaseBuilder, RuntimeEntityBuilderOpeninference):
19
+ """
20
+ FunctionOpeninference builder.
21
+ """
22
+
23
+ ENTITY_CLASS = FunctionOpeninference
24
+ ENTITY_SPEC_CLASS = FunctionSpecOpeninference
25
+ ENTITY_SPEC_VALIDATOR = FunctionValidatorOpeninference
26
+ ENTITY_STATUS_CLASS = FunctionStatusOpeninference
27
+ ENTITY_KIND = EntityKinds.FUNCTION_OPENINFERENCE.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.function._base.entity import FunctionBaseFunction
10
+
11
+ if typing.TYPE_CHECKING:
12
+ from digitalhub_runtime_python.entities.function.openinference.spec import FunctionSpecOpeninference
13
+ from digitalhub_runtime_python.entities.function.openinference.status import FunctionStatusOpeninference
14
+
15
+
16
+ class FunctionOpeninference(FunctionBaseFunction):
17
+ """
18
+ FunctionOpeninference class.
19
+ """
20
+
21
+ def __init__(self, *args, **kwargs) -> None:
22
+ super().__init__(*args, **kwargs)
23
+
24
+ self.spec: FunctionSpecOpeninference
25
+ self.status: FunctionStatusOpeninference
@@ -0,0 +1,24 @@
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._base.runtime_entity.builder import RuntimeEntityBuilderPython
8
+ from digitalhub_runtime_python.entities._commons.enums import EntityKinds
9
+ from digitalhub_runtime_python.entities.function._base.builder import FunctionBaseBuilder
10
+ from digitalhub_runtime_python.entities.function.python.entity import FunctionPython
11
+ from digitalhub_runtime_python.entities.function.python.spec import FunctionSpecPython, FunctionValidatorPython
12
+ from digitalhub_runtime_python.entities.function.python.status import FunctionStatusPython
13
+
14
+
15
+ class FunctionPythonBuilder(FunctionBaseBuilder, RuntimeEntityBuilderPython):
16
+ """
17
+ FunctionPython builder.
18
+ """
19
+
20
+ ENTITY_CLASS = FunctionPython
21
+ ENTITY_SPEC_CLASS = FunctionSpecPython
22
+ ENTITY_SPEC_VALIDATOR = FunctionValidatorPython
23
+ ENTITY_STATUS_CLASS = FunctionStatusPython
24
+ ENTITY_KIND = EntityKinds.FUNCTION_PYTHON.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.function._base.entity import FunctionBaseFunction
10
+
11
+ if typing.TYPE_CHECKING:
12
+ from digitalhub_runtime_python.entities.function.python.spec import FunctionSpecPython
13
+ from digitalhub_runtime_python.entities.function.python.status import FunctionStatusPython
14
+
15
+
16
+ class FunctionPython(FunctionBaseFunction):
17
+ """
18
+ FunctionPython class.
19
+ """
20
+
21
+ def __init__(self, *args, **kwargs) -> None:
22
+ super().__init__(*args, **kwargs)
23
+
24
+ self.spec: FunctionSpecPython
25
+ self.status: FunctionStatusPython
@@ -18,7 +18,7 @@ from digitalhub_runtime_python.entities._commons.enums import Actions
18
18
  from digitalhub_runtime_python.entities.run._base.utils import get_getters
19
19
 
20
20
  if typing.TYPE_CHECKING:
21
- from digitalhub.entities._base.material.entity import MaterialEntity
21
+ from digitalhub.entities._mixin.material.mixin import MaterialEntity
22
22
 
23
23
  from digitalhub_runtime_python.entities.run._base.spec import RunSpecBaseRun
24
24
  from digitalhub_runtime_python.entities.run._base.status import RunStatusBaseRun
@@ -0,0 +1,3 @@
1
+ # SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "digitalhub-runtime-python"
7
- version = "0.16.0b2"
7
+ version = "0.16.0b3"
8
8
  description = "Python runtime for DHCore"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -54,7 +54,7 @@ docstring-code-line-length = 120
54
54
  convention = "numpy"
55
55
 
56
56
  [tool.bumpver]
57
- current_version = "0.16.0b2"
57
+ current_version = "0.16.0b3"
58
58
  version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
59
59
  commit_message = "Bump version {old_version} -> {new_version}"
60
60
  commit = false