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