digitalhub-runtime-python 0.16.0b0__tar.gz → 0.16.0b2__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.16.0b0 → digitalhub_runtime_python-0.16.0b2}/PKG-INFO +3 -3
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/__init__.py +4 -4
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_base/runtime_entity/builder.py +2 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/enums.py +1 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/guardrail/builder.py +9 -7
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/hydra/builder.py +11 -9
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/hydra/entity.py +1 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/hydra/models.py +4 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/hydra/utils.py +113 -3
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/openinference/builder.py +9 -7
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/python/builder.py +9 -7
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/_base/entity.py +1 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/_base/utils.py +1 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_build/entity.py +1 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_job/spec.py +2 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_subtask/builder.py +5 -2
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_subtask/entity.py +3 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_subtask/spec.py +2 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_job/entity.py +1 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_subtask/entity.py +1 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/runtimes/builder.py +8 -6
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/runtimes/hydra_runtime.py +29 -16
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/runtimes/runtime.py +4 -3
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/utils/configuration.py +1 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/utils/inputs.py +2 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/utils/outputs.py +22 -22
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/utils/utils.py +1 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/pyproject.toml +4 -4
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/test/instances/test_validate.py +1 -2
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/.github/scripts/bump.sh +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/.github/scripts/changelog.sh +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/.github/scripts/cliff.toml +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/.github/workflows/release.yml +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/.github/workflows/run_local_test.yml +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/.github/workflows/test_release.yml +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/.gitignore +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/AUTHORS +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/CONTRIBUTING +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/COPYRIGHT +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/LICENSE +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/README.md +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_base/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_base/runtime_entity/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/requirement_parser/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/requirement_parser/enums.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/requirement_parser/factory.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_base.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_conda.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pip.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pyproject.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/_commons/requirement_parser/parser.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/guardrail/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/guardrail/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/guardrail/models.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/guardrail/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/guardrail/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/hydra/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/hydra/spec.py +1 -1
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/hydra/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/openinference/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/openinference/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/openinference/models.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/openinference/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/openinference/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/python/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/python/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/python/models.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/python/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/python/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/function/python/utils.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/_base/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/_base/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/_base/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/guardrail_build/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/guardrail_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/guardrail_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/guardrail_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/guardrail_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/guardrail_serve/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/guardrail_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/guardrail_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/guardrail_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/guardrail_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_build/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_job/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_job/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_job/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_job/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_subtask/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/hydra_subtask/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/openinference_build/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/openinference_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/openinference_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/openinference_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/openinference_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/openinference_serve/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/openinference_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/openinference_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/openinference_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/openinference_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_build/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_job/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_job/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_job/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_job/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_job/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_serve/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/run/python_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/guardrail_build/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/guardrail_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/guardrail_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/guardrail_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/guardrail_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/guardrail_serve/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/guardrail_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/guardrail_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/guardrail_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/guardrail_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_build/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_job/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_job/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_job/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_job/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_subtask/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_subtask/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_subtask/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/hydra_subtask/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/openinference_build/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/openinference_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/openinference_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/openinference_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/openinference_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/openinference_serve/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/openinference_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/openinference_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/openinference_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/openinference_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_build/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_job/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_job/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_job/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_job/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_job/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_serve/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/entities/task/python_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/digitalhub_runtime_python/runtimes/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/test/instances/entities/function/function-python-git.json +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/test/instances/entities/function/function-python-local.json +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/test/instances/entities/function/function-python-zip.json +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/test/instances/entities/run/run-python+build:run.json +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/test/instances/entities/run/run-python+job:run.json +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/test/instances/entities/run/run-python+serve:run.json +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/test/instances/entities/task/task-python+build.json +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/test/instances/entities/task/task-python+job.json +0 -0
- {digitalhub_runtime_python-0.16.0b0 → digitalhub_runtime_python-0.16.0b2}/test/instances/entities/task/task-python+serve.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: digitalhub-runtime-python
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.0b2
|
|
4
4
|
Summary: Python runtime for DHCore
|
|
5
5
|
Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk-runtime-python
|
|
6
6
|
Author-email: Fondazione Bruno Kessler <digitalhub@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
|
|
@@ -215,14 +215,14 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
215
215
|
Classifier: Programming Language :: Python :: 3.13
|
|
216
216
|
Classifier: Programming Language :: Python :: 3.14
|
|
217
217
|
Requires-Python: <3.15,>=3.10
|
|
218
|
-
Requires-Dist: digitalhub[full]<0.
|
|
218
|
+
Requires-Dist: digitalhub[full]<0.17,>=0.16.0b
|
|
219
219
|
Requires-Dist: msgpack
|
|
220
220
|
Requires-Dist: nuclio-sdk
|
|
221
221
|
Requires-Dist: pip
|
|
222
222
|
Requires-Dist: pyyaml
|
|
223
223
|
Requires-Dist: tomli; python_version < '3.11'
|
|
224
224
|
Provides-Extra: dev
|
|
225
|
-
Requires-Dist: digitalhub[dev]<0.
|
|
225
|
+
Requires-Dist: digitalhub[dev]<0.17,>=0.16.0b; extra == 'dev'
|
|
226
226
|
Description-Content-Type: text/markdown
|
|
227
227
|
|
|
228
228
|
# DigitalHub SDK Runtime Python
|
|
@@ -58,12 +58,12 @@ entity_builders = (
|
|
|
58
58
|
try:
|
|
59
59
|
from digitalhub_runtime_python.runtimes.builder import (
|
|
60
60
|
RuntimeGuardrailBuilder,
|
|
61
|
+
RuntimeHydraBuilder,
|
|
62
|
+
RuntimeHydraJobBuilder,
|
|
63
|
+
RuntimeHydraSubtaskBuilder,
|
|
61
64
|
RuntimeOpeninferenceBuilder,
|
|
62
65
|
RuntimePythonBuilder,
|
|
63
66
|
RuntimePythonJobBuilder,
|
|
64
|
-
RuntimeHydraBuilder,
|
|
65
|
-
RuntimeHydraSubtaskBuilder,
|
|
66
|
-
RuntimeHydraJobBuilder,
|
|
67
67
|
)
|
|
68
68
|
|
|
69
69
|
runtime_builders = (
|
|
@@ -97,4 +97,4 @@ except ImportError as e:
|
|
|
97
97
|
|
|
98
98
|
logger = get_logger(__name__)
|
|
99
99
|
logger.debug(f"Error importing runtime builders: {e}")
|
|
100
|
-
runtime_builders =
|
|
100
|
+
runtime_builders = ()
|
|
@@ -101,6 +101,7 @@ class RuntimeEntityBuilderGuardrail(RuntimeEntityBuilder):
|
|
|
101
101
|
]
|
|
102
102
|
)
|
|
103
103
|
|
|
104
|
+
|
|
104
105
|
class RuntimeEntityBuilderHydra(RuntimeEntityBuilder):
|
|
105
106
|
EXECUTABLE_KIND = EntityKinds.FUNCTION_HYDRA.value
|
|
106
107
|
TASKS_KINDS = map_actions(
|
|
@@ -134,4 +135,4 @@ class RuntimeEntityBuilderHydra(RuntimeEntityBuilder):
|
|
|
134
135
|
Actions.SUBTASK.value,
|
|
135
136
|
),
|
|
136
137
|
]
|
|
137
|
-
)
|
|
138
|
+
)
|
|
@@ -34,6 +34,7 @@ class FunctionGuardrailBuilder(FunctionBuilder, RuntimeEntityBuilderGuardrail):
|
|
|
34
34
|
project: str,
|
|
35
35
|
name: str,
|
|
36
36
|
uuid: str | None = None,
|
|
37
|
+
version: str | None = None,
|
|
37
38
|
description: str | None = None,
|
|
38
39
|
labels: list[str] | None = None,
|
|
39
40
|
embedded: bool = False,
|
|
@@ -41,13 +42,14 @@ class FunctionGuardrailBuilder(FunctionBuilder, RuntimeEntityBuilderGuardrail):
|
|
|
41
42
|
) -> FunctionGuardrail:
|
|
42
43
|
kwargs = source_check(**kwargs)
|
|
43
44
|
obj = super().build(
|
|
44
|
-
kind,
|
|
45
|
-
project,
|
|
46
|
-
name,
|
|
47
|
-
uuid,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
kind=kind,
|
|
46
|
+
project=project,
|
|
47
|
+
name=name,
|
|
48
|
+
uuid=uuid,
|
|
49
|
+
version=version,
|
|
50
|
+
description=description,
|
|
51
|
+
labels=labels,
|
|
52
|
+
embedded=embedded,
|
|
51
53
|
**kwargs,
|
|
52
54
|
)
|
|
53
55
|
return source_post_check(obj)
|
|
@@ -11,9 +11,9 @@ from digitalhub_runtime_python.entities._commons.enums import EntityKinds
|
|
|
11
11
|
from digitalhub_runtime_python.entities.function.hydra.entity import FunctionHydra
|
|
12
12
|
from digitalhub_runtime_python.entities.function.hydra.spec import FunctionSpecHydra, FunctionValidatorHydra
|
|
13
13
|
from digitalhub_runtime_python.entities.function.hydra.status import FunctionStatusHydra
|
|
14
|
+
from digitalhub_runtime_python.entities.function.hydra.utils import config_check, source_check
|
|
15
|
+
from digitalhub_runtime_python.entities.function.python.utils import source_post_check
|
|
14
16
|
|
|
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
17
|
|
|
18
18
|
class FunctionHydraBuilder(FunctionBuilder, RuntimeEntityBuilderHydra):
|
|
19
19
|
"""
|
|
@@ -32,6 +32,7 @@ class FunctionHydraBuilder(FunctionBuilder, RuntimeEntityBuilderHydra):
|
|
|
32
32
|
project: str,
|
|
33
33
|
name: str,
|
|
34
34
|
uuid: str | None = None,
|
|
35
|
+
version: str | None = None,
|
|
35
36
|
description: str | None = None,
|
|
36
37
|
labels: list[str] | None = None,
|
|
37
38
|
embedded: bool = False,
|
|
@@ -40,13 +41,14 @@ class FunctionHydraBuilder(FunctionBuilder, RuntimeEntityBuilderHydra):
|
|
|
40
41
|
kwargs = source_check(**kwargs)
|
|
41
42
|
kwargs = config_check(**kwargs)
|
|
42
43
|
obj = super().build(
|
|
43
|
-
kind,
|
|
44
|
-
project,
|
|
45
|
-
name,
|
|
46
|
-
uuid,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
kind=kind,
|
|
45
|
+
project=project,
|
|
46
|
+
name=name,
|
|
47
|
+
uuid=uuid,
|
|
48
|
+
version=version,
|
|
49
|
+
description=description,
|
|
50
|
+
labels=labels,
|
|
51
|
+
embedded=embedded,
|
|
50
52
|
**kwargs,
|
|
51
53
|
)
|
|
52
54
|
return source_post_check(obj)
|
|
@@ -8,6 +8,7 @@ from enum import Enum
|
|
|
8
8
|
|
|
9
9
|
from pydantic import BaseModel, ConfigDict, Field
|
|
10
10
|
|
|
11
|
+
|
|
11
12
|
class Lang(Enum):
|
|
12
13
|
"""
|
|
13
14
|
Source code language.
|
|
@@ -44,10 +45,12 @@ class SourceValidator(BaseModel):
|
|
|
44
45
|
lang: Lang = Field(default=Lang.PYTHON.value)
|
|
45
46
|
"Source code language (hint)."
|
|
46
47
|
|
|
48
|
+
|
|
47
49
|
class ConfigValidator(BaseModel):
|
|
48
50
|
"""
|
|
49
51
|
Config params.
|
|
50
52
|
"""
|
|
53
|
+
|
|
51
54
|
model_config = ConfigDict(use_enum_values=True)
|
|
52
55
|
|
|
53
56
|
source: str = None
|
|
@@ -57,4 +60,4 @@ class ConfigValidator(BaseModel):
|
|
|
57
60
|
"Config path."
|
|
58
61
|
|
|
59
62
|
base64: str = None
|
|
60
|
-
"Config (base64 encoded)."
|
|
63
|
+
"Config (base64 encoded)."
|
|
@@ -4,13 +4,123 @@
|
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
|
-
import typing
|
|
8
7
|
from pathlib import Path
|
|
9
8
|
|
|
10
9
|
from digitalhub.utils.exceptions import EntityError
|
|
11
10
|
from digitalhub.utils.generic_utils import encode_string, read_source
|
|
12
11
|
from digitalhub.utils.uri_utils import has_local_scheme
|
|
13
12
|
|
|
13
|
+
from digitalhub_runtime_python.entities.function.python.models import Lang
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def source_check(**kwargs) -> dict:
|
|
17
|
+
"""
|
|
18
|
+
Check source code.
|
|
19
|
+
|
|
20
|
+
Parameters
|
|
21
|
+
----------
|
|
22
|
+
**kwargs
|
|
23
|
+
Keyword arguments.
|
|
24
|
+
|
|
25
|
+
Returns
|
|
26
|
+
-------
|
|
27
|
+
dict
|
|
28
|
+
Checked source.
|
|
29
|
+
"""
|
|
30
|
+
source: dict = kwargs.pop("source", None)
|
|
31
|
+
code_src = kwargs.pop("code_src", None)
|
|
32
|
+
code = kwargs.pop("code", None)
|
|
33
|
+
base64 = kwargs.pop("base64", None)
|
|
34
|
+
handler = kwargs.pop("handler", None)
|
|
35
|
+
init_function = kwargs.pop("init_function", None)
|
|
36
|
+
complete_function = kwargs.pop("complete_function", None)
|
|
37
|
+
lang = kwargs.pop("lang", None)
|
|
38
|
+
|
|
39
|
+
if source is not None:
|
|
40
|
+
code_src = source.pop("source", None)
|
|
41
|
+
code = source.pop("code", None)
|
|
42
|
+
base64 = source.pop("base64", None)
|
|
43
|
+
handler = source.pop("handler", None)
|
|
44
|
+
init_function = source.pop("init_function", None)
|
|
45
|
+
complete_function = source.pop("complete_function", None)
|
|
46
|
+
lang = source.pop("lang", None)
|
|
47
|
+
|
|
48
|
+
kwargs["source"] = _check_params(
|
|
49
|
+
code_src=code_src,
|
|
50
|
+
code=code,
|
|
51
|
+
base64=base64,
|
|
52
|
+
handler=handler,
|
|
53
|
+
init_function=init_function,
|
|
54
|
+
complete_function=complete_function,
|
|
55
|
+
lang=lang,
|
|
56
|
+
)
|
|
57
|
+
return kwargs
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def _check_params(
|
|
61
|
+
code_src: str | None = None,
|
|
62
|
+
code: str | None = None,
|
|
63
|
+
base64: str | None = None,
|
|
64
|
+
handler: str | None = None,
|
|
65
|
+
init_function: str | None = None,
|
|
66
|
+
complete_function: str | None = None,
|
|
67
|
+
lang: str | None = None,
|
|
68
|
+
) -> dict:
|
|
69
|
+
"""
|
|
70
|
+
Check source.
|
|
71
|
+
|
|
72
|
+
Parameters
|
|
73
|
+
----------
|
|
74
|
+
code_src : str
|
|
75
|
+
Source code source.
|
|
76
|
+
code : str
|
|
77
|
+
Source code.
|
|
78
|
+
base64 : str
|
|
79
|
+
Source code base64.
|
|
80
|
+
handler : str
|
|
81
|
+
Function handler.
|
|
82
|
+
init_function : str
|
|
83
|
+
Init function.
|
|
84
|
+
complete_function : str
|
|
85
|
+
Complete function.
|
|
86
|
+
lang : str
|
|
87
|
+
Source code language.
|
|
88
|
+
|
|
89
|
+
Returns
|
|
90
|
+
-------
|
|
91
|
+
dict
|
|
92
|
+
Checked source.
|
|
93
|
+
"""
|
|
94
|
+
source = {}
|
|
95
|
+
|
|
96
|
+
if handler is None:
|
|
97
|
+
raise EntityError("Handler must be provided.")
|
|
98
|
+
source["handler"] = handler
|
|
99
|
+
|
|
100
|
+
if init_function is not None:
|
|
101
|
+
source["init_function"] = init_function
|
|
102
|
+
|
|
103
|
+
if complete_function is not None:
|
|
104
|
+
source["complete_function"] = complete_function
|
|
105
|
+
|
|
106
|
+
if lang is None:
|
|
107
|
+
source["lang"] = Lang.PYTHON.value
|
|
108
|
+
|
|
109
|
+
if code_src is None and code is None and base64 is None:
|
|
110
|
+
raise EntityError("Source must be provided.")
|
|
111
|
+
|
|
112
|
+
if code_src is not None:
|
|
113
|
+
source["source"] = code_src
|
|
114
|
+
|
|
115
|
+
if base64 is not None:
|
|
116
|
+
source["base64"] = base64
|
|
117
|
+
|
|
118
|
+
if code is not None:
|
|
119
|
+
source["base64"] = encode_string(code)
|
|
120
|
+
|
|
121
|
+
return source
|
|
122
|
+
|
|
123
|
+
|
|
14
124
|
def config_check(**kwargs) -> dict:
|
|
15
125
|
"""
|
|
16
126
|
Check config.
|
|
@@ -38,7 +148,7 @@ def config_check(**kwargs) -> dict:
|
|
|
38
148
|
config_content = None
|
|
39
149
|
config_path = config.pop("path", None)
|
|
40
150
|
|
|
41
|
-
config =
|
|
151
|
+
config = _check_config_params(
|
|
42
152
|
config_src=config_src,
|
|
43
153
|
config_content=config_content,
|
|
44
154
|
config_base64=config_base64,
|
|
@@ -52,7 +162,7 @@ def config_check(**kwargs) -> dict:
|
|
|
52
162
|
return kwargs
|
|
53
163
|
|
|
54
164
|
|
|
55
|
-
def
|
|
165
|
+
def _check_config_params(
|
|
56
166
|
config_src: str | None = None,
|
|
57
167
|
config_content: str | None = None,
|
|
58
168
|
config_base64: str | None = None,
|
|
@@ -34,6 +34,7 @@ class FunctionOpeninferenceBuilder(FunctionBuilder, RuntimeEntityBuilderOpeninfe
|
|
|
34
34
|
project: str,
|
|
35
35
|
name: str,
|
|
36
36
|
uuid: str | None = None,
|
|
37
|
+
version: str | None = None,
|
|
37
38
|
description: str | None = None,
|
|
38
39
|
labels: list[str] | None = None,
|
|
39
40
|
embedded: bool = False,
|
|
@@ -41,13 +42,14 @@ class FunctionOpeninferenceBuilder(FunctionBuilder, RuntimeEntityBuilderOpeninfe
|
|
|
41
42
|
) -> FunctionOpeninference:
|
|
42
43
|
kwargs = source_check(**kwargs)
|
|
43
44
|
obj = super().build(
|
|
44
|
-
kind,
|
|
45
|
-
project,
|
|
46
|
-
name,
|
|
47
|
-
uuid,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
kind=kind,
|
|
46
|
+
project=project,
|
|
47
|
+
name=name,
|
|
48
|
+
uuid=uuid,
|
|
49
|
+
version=version,
|
|
50
|
+
description=description,
|
|
51
|
+
labels=labels,
|
|
52
|
+
embedded=embedded,
|
|
51
53
|
**kwargs,
|
|
52
54
|
)
|
|
53
55
|
return source_post_check(obj)
|
|
@@ -31,6 +31,7 @@ class FunctionPythonBuilder(FunctionBuilder, RuntimeEntityBuilderPython):
|
|
|
31
31
|
project: str,
|
|
32
32
|
name: str,
|
|
33
33
|
uuid: str | None = None,
|
|
34
|
+
version: str | None = None,
|
|
34
35
|
description: str | None = None,
|
|
35
36
|
labels: list[str] | None = None,
|
|
36
37
|
embedded: bool = False,
|
|
@@ -38,13 +39,14 @@ class FunctionPythonBuilder(FunctionBuilder, RuntimeEntityBuilderPython):
|
|
|
38
39
|
) -> FunctionPython:
|
|
39
40
|
kwargs = source_check(**kwargs)
|
|
40
41
|
obj = super().build(
|
|
41
|
-
kind,
|
|
42
|
-
project,
|
|
43
|
-
name,
|
|
44
|
-
uuid,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
kind=kind,
|
|
43
|
+
project=project,
|
|
44
|
+
name=name,
|
|
45
|
+
uuid=uuid,
|
|
46
|
+
version=version,
|
|
47
|
+
description=description,
|
|
48
|
+
labels=labels,
|
|
49
|
+
embedded=embedded,
|
|
48
50
|
**kwargs,
|
|
49
51
|
)
|
|
50
52
|
return source_post_check(obj)
|
|
@@ -12,7 +12,7 @@ if typing.TYPE_CHECKING:
|
|
|
12
12
|
from digitalhub_runtime_python.entities.run.hydra_build.spec import RunSpecHydraRunBuild
|
|
13
13
|
from digitalhub_runtime_python.entities.run.hydra_build.status import RunStatusHydraRunBuild
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
class RunHydraRunBuild(RunBaseRun):
|
|
17
17
|
"""
|
|
18
18
|
RunHydraRunBuild class.
|
|
@@ -65,6 +65,7 @@ class RunSpecHydraRunJob(RunSpecBaseRun):
|
|
|
65
65
|
self.config = config
|
|
66
66
|
self.workers = workers
|
|
67
67
|
|
|
68
|
+
|
|
68
69
|
class RunValidatorHydraRunJob(RunValidatorBaseRun):
|
|
69
70
|
"""RunValidatorHydraRunJob validator."""
|
|
70
71
|
|
|
@@ -75,4 +76,4 @@ class RunValidatorHydraRunJob(RunValidatorBaseRun):
|
|
|
75
76
|
"""Configuration for the run."""
|
|
76
77
|
|
|
77
78
|
workers: int | None = None
|
|
78
|
-
"""Number of workers to use for the run."""
|
|
79
|
+
"""Number of workers to use for the run."""
|
|
@@ -9,7 +9,10 @@ from digitalhub.entities.run._base.builder import RunBuilder
|
|
|
9
9
|
from digitalhub_runtime_python.entities._base.runtime_entity.builder import RuntimeEntityBuilderHydra
|
|
10
10
|
from digitalhub_runtime_python.entities._commons.enums import EntityKinds
|
|
11
11
|
from digitalhub_runtime_python.entities.run.hydra_subtask.entity import RunHydraRunSubtask
|
|
12
|
-
from digitalhub_runtime_python.entities.run.hydra_subtask.spec import
|
|
12
|
+
from digitalhub_runtime_python.entities.run.hydra_subtask.spec import (
|
|
13
|
+
RunSpecHydraRunSubtask,
|
|
14
|
+
RunValidatorHydraRunSubtask,
|
|
15
|
+
)
|
|
13
16
|
from digitalhub_runtime_python.entities.run.hydra_subtask.status import RunStatusHydraRunSubtask
|
|
14
17
|
|
|
15
18
|
|
|
@@ -39,4 +42,4 @@ class RunHydraRunSubtaskBuilder(RunBuilder, RuntimeEntityBuilderHydra):
|
|
|
39
42
|
Spec object.
|
|
40
43
|
"""
|
|
41
44
|
res = super().build_spec(**kwargs)
|
|
42
|
-
return res
|
|
45
|
+
return res
|
|
@@ -7,10 +7,12 @@ from __future__ import annotations
|
|
|
7
7
|
import typing
|
|
8
8
|
|
|
9
9
|
from digitalhub_runtime_python.entities.run.hydra_job.entity import RunHydraRunJob
|
|
10
|
+
|
|
10
11
|
if typing.TYPE_CHECKING:
|
|
11
12
|
from digitalhub_runtime_python.entities.run.hydra_subtask.spec import RunSpecHydraRunSubtask
|
|
12
13
|
from digitalhub_runtime_python.entities.run.hydra_subtask.status import RunStatusHydraRunSubtask
|
|
13
14
|
|
|
15
|
+
|
|
14
16
|
class RunHydraRunSubtask(RunHydraRunJob):
|
|
15
17
|
"""
|
|
16
18
|
RunHydraRunSubtask class.
|
|
@@ -20,4 +22,4 @@ class RunHydraRunSubtask(RunHydraRunJob):
|
|
|
20
22
|
super().__init__(*args, **kwargs)
|
|
21
23
|
|
|
22
24
|
self.spec: RunSpecHydraRunSubtask
|
|
23
|
-
self.status: RunStatusHydraRunSubtask
|
|
25
|
+
self.status: RunStatusHydraRunSubtask
|
|
@@ -64,7 +64,9 @@ class RunSpecHydraRunSubtask(RunSpecHydraRunJob):
|
|
|
64
64
|
)
|
|
65
65
|
self.job_ref = job_ref
|
|
66
66
|
|
|
67
|
+
|
|
67
68
|
class RunValidatorHydraRunSubtask(RunValidatorHydraRunJob):
|
|
68
69
|
"""RunValidatorHydraRunSubtask validator."""
|
|
70
|
+
|
|
69
71
|
job_ref: str | None = None
|
|
70
72
|
"""Reference to the parent job, used for launching the subtask in the same job."""
|
|
@@ -7,6 +7,7 @@ from __future__ import annotations
|
|
|
7
7
|
import typing
|
|
8
8
|
|
|
9
9
|
from digitalhub.entities.task._base.entity import Task
|
|
10
|
+
|
|
10
11
|
if typing.TYPE_CHECKING:
|
|
11
12
|
from digitalhub_runtime_python.entities.task.hydra_job.spec import TaskSpecHydraJob
|
|
12
13
|
from digitalhub_runtime_python.entities.task.hydra_job.status import TaskStatusHydraJob
|
|
@@ -7,6 +7,7 @@ from __future__ import annotations
|
|
|
7
7
|
import typing
|
|
8
8
|
|
|
9
9
|
from digitalhub.entities.task._base.entity import Task
|
|
10
|
+
|
|
10
11
|
if typing.TYPE_CHECKING:
|
|
11
12
|
from digitalhub_runtime_python.entities.task.hydra_subtask.spec import TaskSpecHydraSubtask
|
|
12
13
|
from digitalhub_runtime_python.entities.task.hydra_subtask.status import TaskStatusHydraSubtask
|
|
@@ -6,6 +6,11 @@ from __future__ import annotations
|
|
|
6
6
|
|
|
7
7
|
from digitalhub.runtimes.builder import RuntimeBuilder
|
|
8
8
|
|
|
9
|
+
from digitalhub_runtime_python.runtimes.hydra_runtime import (
|
|
10
|
+
RuntimeHydra,
|
|
11
|
+
RuntimeHydraJob,
|
|
12
|
+
RuntimeHydraSubtask,
|
|
13
|
+
)
|
|
9
14
|
from digitalhub_runtime_python.runtimes.runtime import (
|
|
10
15
|
RuntimeGuardrail,
|
|
11
16
|
RuntimeOpeninference,
|
|
@@ -13,11 +18,6 @@ from digitalhub_runtime_python.runtimes.runtime import (
|
|
|
13
18
|
RuntimePythonJob,
|
|
14
19
|
)
|
|
15
20
|
|
|
16
|
-
from digitalhub_runtime_python.runtimes.hydra_runtime import (
|
|
17
|
-
RuntimeHydra,
|
|
18
|
-
RuntimeHydraJob,
|
|
19
|
-
RuntimeHydraSubtask,
|
|
20
|
-
)
|
|
21
21
|
|
|
22
22
|
class RuntimePythonBuilder(RuntimeBuilder):
|
|
23
23
|
"""RuntimePythonBuilder class."""
|
|
@@ -42,18 +42,20 @@ class RuntimeGuardrailBuilder(RuntimeBuilder):
|
|
|
42
42
|
|
|
43
43
|
RUNTIME_CLASS = RuntimeGuardrail
|
|
44
44
|
|
|
45
|
+
|
|
45
46
|
class RuntimeHydraBuilder(RuntimeBuilder):
|
|
46
47
|
"""RuntimeHydraBuilder class."""
|
|
47
48
|
|
|
48
49
|
RUNTIME_CLASS = RuntimeHydra
|
|
49
50
|
|
|
51
|
+
|
|
50
52
|
class RuntimeHydraJobBuilder(RuntimeBuilder):
|
|
51
53
|
"""RuntimeHydraJobBuilder class."""
|
|
52
54
|
|
|
53
55
|
RUNTIME_CLASS = RuntimeHydraJob
|
|
54
56
|
|
|
57
|
+
|
|
55
58
|
class RuntimeHydraSubtaskBuilder(RuntimeBuilder):
|
|
56
59
|
"""RuntimeHydraSubtaskBuilder class."""
|
|
57
60
|
|
|
58
61
|
RUNTIME_CLASS = RuntimeHydraSubtask
|
|
59
|
-
|
|
@@ -1,29 +1,36 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
1
5
|
import sys
|
|
2
|
-
from
|
|
6
|
+
from collections.abc import Callable
|
|
7
|
+
|
|
3
8
|
import yaml
|
|
9
|
+
from digitalhub.utils.generic_utils import decode_base64_string
|
|
10
|
+
from digitalhub.utils.logger.logger import get_logger
|
|
4
11
|
|
|
5
12
|
from digitalhub_runtime_python.runtimes.runtime import RuntimePython, RuntimePythonJob
|
|
6
|
-
|
|
7
13
|
from digitalhub_runtime_python.utils.configuration import (
|
|
8
|
-
|
|
9
|
-
|
|
14
|
+
_clone_git_source,
|
|
15
|
+
_download_remote_source,
|
|
16
|
+
_download_s3_source,
|
|
17
|
+
_get_function_path,
|
|
18
|
+
_import_function_from_path,
|
|
19
|
+
has_git_scheme,
|
|
20
|
+
has_remote_scheme,
|
|
21
|
+
has_s3_scheme,
|
|
10
22
|
)
|
|
11
|
-
|
|
12
|
-
from digitalhub.utils.generic_utils import (
|
|
13
|
-
decode_base64_string
|
|
14
|
-
)
|
|
15
|
-
from digitalhub.utils.logger.logger import get_logger
|
|
16
|
-
|
|
17
23
|
from digitalhub_runtime_python.utils.outputs import build_new_status, collect_outputs
|
|
18
24
|
|
|
19
|
-
|
|
20
25
|
logger = get_logger(__file__)
|
|
21
26
|
|
|
27
|
+
|
|
22
28
|
class RuntimeHydra(RuntimePython):
|
|
23
29
|
"""
|
|
24
30
|
Runtime Hydra class.
|
|
25
31
|
"""
|
|
26
32
|
|
|
33
|
+
|
|
27
34
|
class RuntimeHydraJob(RuntimePythonJob):
|
|
28
35
|
"""
|
|
29
36
|
Runtime Hydra Job class.
|
|
@@ -88,7 +95,7 @@ class RuntimeHydraJob(RuntimePythonJob):
|
|
|
88
95
|
# Call overwriting the launcher and other overwrites
|
|
89
96
|
# but with dh launcher, multirun, run execution attributes, and custom overwrites
|
|
90
97
|
sys.argv = args + [f"--config-path={path.absolute()}", "--config-name=config"]
|
|
91
|
-
|
|
98
|
+
|
|
92
99
|
# download config to runtime dir
|
|
93
100
|
elif "source" in config:
|
|
94
101
|
path = self.runtime_dir / "config"
|
|
@@ -109,16 +116,22 @@ class RuntimeHydraJob(RuntimePythonJob):
|
|
|
109
116
|
path = self.runtime_dir / config["path"]
|
|
110
117
|
sys.argv = args + [f"--config-path={path.absolute()}"]
|
|
111
118
|
|
|
112
|
-
sys.argv += [
|
|
119
|
+
sys.argv += [
|
|
120
|
+
f"--config-dir={(self.runtime_dir / 'dh_extra_conf').absolute()}",
|
|
121
|
+
"hydra/launcher=dh_launcher",
|
|
122
|
+
f"hydra.launcher.job_ref={run['id']}",
|
|
123
|
+
]
|
|
113
124
|
|
|
114
125
|
fnc, _ = super()._configure_execution(spec)
|
|
115
126
|
# treat as not wrapped, as the wrapping is done by hydra.main and we do not need to pass the extra attributes
|
|
116
127
|
return fnc, {"cfg_passthrough": None}
|
|
117
128
|
|
|
129
|
+
|
|
118
130
|
class RuntimeHydraSubtask(RuntimePythonJob):
|
|
119
131
|
"""
|
|
120
132
|
Runtime Hydra Subtask class.
|
|
121
133
|
"""
|
|
134
|
+
|
|
122
135
|
def _configure_execution(self, spec: dict) -> tuple[Callable, bool]:
|
|
123
136
|
source_spec = spec.get("source", {})
|
|
124
137
|
path = self.runtime_dir
|
|
@@ -131,11 +144,11 @@ class RuntimeHydraSubtask(RuntimePythonJob):
|
|
|
131
144
|
def _compose_args(self, func, spec, project):
|
|
132
145
|
# expect to be wrapped with hydra.main, 'cfg' is in the parameters, and Omecaconf is present
|
|
133
146
|
from omegaconf import OmegaConf
|
|
147
|
+
|
|
134
148
|
args = super()._compose_args(func, spec, project)
|
|
135
149
|
try:
|
|
136
150
|
args["cfg_passthrough"] = OmegaConf.create(spec.get("parameters", {}).get("cfg_passthrough", {}))
|
|
137
|
-
except Exception as e:
|
|
151
|
+
except Exception as e: # noqa: BLE001
|
|
138
152
|
print(f"Failed to convert cfg to container. Exception: {e.__class__}. Error: {e.args}")
|
|
139
153
|
args["cfg_passthrough"] = {}
|
|
140
|
-
return args
|
|
141
|
-
|
|
154
|
+
return args
|
|
@@ -4,21 +4,22 @@
|
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
|
-
from
|
|
7
|
+
from collections.abc import Callable
|
|
8
|
+
from typing import Any
|
|
8
9
|
|
|
9
10
|
from digitalhub.context.api import get_context
|
|
10
11
|
from digitalhub.runtimes._base import Runtime
|
|
11
12
|
from digitalhub.utils.logger.logger import get_logger
|
|
12
13
|
|
|
13
14
|
from digitalhub_runtime_python.utils.configuration import (
|
|
14
|
-
import_function_from_source,
|
|
15
|
+
import_function_from_source,
|
|
15
16
|
)
|
|
16
17
|
from digitalhub_runtime_python.utils.inputs import compose_inputs
|
|
17
18
|
from digitalhub_runtime_python.utils.outputs import build_new_status, collect_outputs
|
|
18
19
|
|
|
19
|
-
|
|
20
20
|
logger = get_logger(__file__)
|
|
21
21
|
|
|
22
|
+
|
|
22
23
|
class RuntimePython(Runtime):
|
|
23
24
|
"""
|
|
24
25
|
Runtime Python class.
|