digitalhub-runtime-python 0.16.0b8__tar.gz → 0.16.0b9__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.0b8 → digitalhub_runtime_python-0.16.0b9}/.github/workflows/run_local_test.yml +7 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/PKG-INFO +1 -1
- digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/__init__.py +41 -0
- digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/__init__.py +59 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/_commons/enums.py +0 -1
- digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/function/guardrail/crud.py +61 -0
- digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/function/openinference/crud.py +65 -0
- digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/function/python/crud.py +103 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/utils/outputs.py +10 -28
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/pyproject.toml +8 -8
- digitalhub_runtime_python-0.16.0b9/test/instances/test_validate.py +8 -0
- digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/__init__.py +0 -76
- digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/runtimes/__init__.py +0 -3
- digitalhub_runtime_python-0.16.0b8/test/instances/test_validate.py +0 -132
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/.github/scripts/bump.sh +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/.github/scripts/changelog.sh +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/.github/scripts/cliff.toml +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/.github/workflows/release.yml +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/.github/workflows/test_release.yml +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/.gitignore +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/AUTHORS +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/CONTRIBUTING +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/COPYRIGHT +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/LICENSE +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/README.md +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/_base}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/_base → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/_base/runtime_entity}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/_base/runtime_entity/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/_base/runtime_entity → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/_commons}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/_commons → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/_commons/requirement_parser}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/_commons/requirement_parser/enums.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/_commons/requirement_parser/factory.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/_commons/requirement_parser → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/_commons/requirement_parser/modules}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_base.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_conda.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pip.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/_commons/requirement_parser/modules/_pyproject.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/_commons/requirement_parser/parser.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/_commons/utils.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/_commons/requirement_parser/modules → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/function}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/function → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/function/_base}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/_base/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/_base/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/function/_base → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/function/guardrail}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/guardrail/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/guardrail/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/guardrail/models.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/guardrail/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/guardrail/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/function/guardrail → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/function/openinference}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/openinference/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/openinference/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/openinference/models.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/openinference/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/openinference/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/function/openinference → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/function/python}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/python/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/python/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/python/models.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/python/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/function/python/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/function/python → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/run}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/run → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/run/_base}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/_base/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/_base/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/_base/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/_base/utils.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/run/_base → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/run/guardrail_build}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/guardrail_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/guardrail_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/guardrail_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/guardrail_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/run/guardrail_build → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/run/guardrail_serve}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/guardrail_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/guardrail_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/guardrail_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/guardrail_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/run/guardrail_serve → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/run/openinference_build}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/openinference_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/openinference_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/openinference_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/openinference_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/run/openinference_build → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/run/openinference_serve}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/openinference_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/openinference_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/openinference_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/openinference_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/run/openinference_serve → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/run/python_build}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/run/python_build → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/run/python_job}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_job/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_job/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_job/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_job/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/run/python_job → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/run/python_serve}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/run/python_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/run/python_serve → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/task}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/task → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/task/guardrail_build}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/guardrail_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/guardrail_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/guardrail_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/guardrail_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/task/guardrail_build → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/task/guardrail_serve}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/guardrail_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/guardrail_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/guardrail_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/guardrail_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/task/guardrail_serve → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/task/openinference_build}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/openinference_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/openinference_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/openinference_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/openinference_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/task/openinference_build → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/task/openinference_serve}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/openinference_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/openinference_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/openinference_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/openinference_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/task/openinference_serve → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/task/python_build}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_build/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_build/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_build/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_build/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/task/python_build → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/task/python_job}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_job/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_job/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_job/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_job/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/task/python_job → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/task/python_serve}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_serve/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_serve/entity.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_serve/spec.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/entities/task/python_serve/status.py +0 -0
- {digitalhub_runtime_python-0.16.0b8/digitalhub_runtime_python/entities/task/python_serve → digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/runtimes}/__init__.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/runtimes/builder.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/runtimes/runtime.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/utils/configuration.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/utils/inputs.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/digitalhub_runtime_python/utils/utils.py +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/test/instances/entities/function/function-python-git.json +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/test/instances/entities/function/function-python-local.json +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/test/instances/entities/function/function-python-zip.json +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/test/instances/entities/run/run-python+build:run.json +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/test/instances/entities/run/run-python+job:run.json +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/test/instances/entities/run/run-python+serve:run.json +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/test/instances/entities/task/task-python+build.json +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/test/instances/entities/task/task-python+job.json +0 -0
- {digitalhub_runtime_python-0.16.0b8 → digitalhub_runtime_python-0.16.0b9}/test/instances/entities/task/task-python+serve.json +0 -0
|
@@ -34,7 +34,14 @@ jobs:
|
|
|
34
34
|
rm main.zip
|
|
35
35
|
mv digitalhub-core-main/schemas/specs test/instances/schemas
|
|
36
36
|
rm -r digitalhub-core-main
|
|
37
|
+
- uses: actions/checkout@v4
|
|
38
|
+
with:
|
|
39
|
+
repository: scc-digitalhub/digitalhub-sdk
|
|
40
|
+
ref: main
|
|
41
|
+
path: digitalhub-sdk
|
|
37
42
|
- name: Test with pytest
|
|
43
|
+
env:
|
|
44
|
+
PYTHONPATH: ${{ github.workspace }}/digitalhub-sdk/test/_digitalhub_test_helpers
|
|
38
45
|
run: |
|
|
39
46
|
coverage run -m pytest test -v -s
|
|
40
47
|
- name: Generate Coverage Report
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: digitalhub-runtime-python
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.0b9
|
|
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>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
from digitalhub_runtime_python.entities import entity_plugins
|
|
5
|
+
from digitalhub_runtime_python.entities._commons.enums import EntityKinds
|
|
6
|
+
|
|
7
|
+
entity_builders = tuple((plugin.kind, plugin.builder) for plugin in entity_plugins)
|
|
8
|
+
|
|
9
|
+
try:
|
|
10
|
+
from digitalhub_runtime_python.runtimes.builder import (
|
|
11
|
+
RuntimeGuardrailBuilder,
|
|
12
|
+
RuntimeOpeninferenceBuilder,
|
|
13
|
+
RuntimePythonBuilder,
|
|
14
|
+
RuntimePythonJobBuilder,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
runtime_builders = (
|
|
18
|
+
(EntityKinds.FUNCTION_GUARDRAIL.value, RuntimeGuardrailBuilder),
|
|
19
|
+
(EntityKinds.FUNCTION_OPENINFERENCE.value, RuntimeOpeninferenceBuilder),
|
|
20
|
+
(EntityKinds.FUNCTION_PYTHON.value, RuntimePythonBuilder),
|
|
21
|
+
(EntityKinds.RUN_GUARDRAIL_BUILD.value, RuntimeGuardrailBuilder),
|
|
22
|
+
(EntityKinds.RUN_GUARDRAIL_SERVE.value, RuntimeGuardrailBuilder),
|
|
23
|
+
(EntityKinds.RUN_OPENINFERENCE_BUILD.value, RuntimeOpeninferenceBuilder),
|
|
24
|
+
(EntityKinds.RUN_OPENINFERENCE_SERVE.value, RuntimeOpeninferenceBuilder),
|
|
25
|
+
(EntityKinds.RUN_PYTHON_BUILD.value, RuntimePythonBuilder),
|
|
26
|
+
(EntityKinds.RUN_PYTHON_JOB.value, RuntimePythonJobBuilder),
|
|
27
|
+
(EntityKinds.RUN_PYTHON_SERVE.value, RuntimePythonBuilder),
|
|
28
|
+
(EntityKinds.TASK_GUARDRAIL_BUILD.value, RuntimeGuardrailBuilder),
|
|
29
|
+
(EntityKinds.TASK_GUARDRAIL_SERVE.value, RuntimeGuardrailBuilder),
|
|
30
|
+
(EntityKinds.TASK_OPENINFERENCE_BUILD.value, RuntimeOpeninferenceBuilder),
|
|
31
|
+
(EntityKinds.TASK_OPENINFERENCE_SERVE.value, RuntimeOpeninferenceBuilder),
|
|
32
|
+
(EntityKinds.TASK_PYTHON_BUILD.value, RuntimePythonBuilder),
|
|
33
|
+
(EntityKinds.TASK_PYTHON_JOB.value, RuntimePythonJobBuilder),
|
|
34
|
+
(EntityKinds.TASK_PYTHON_SERVE.value, RuntimePythonBuilder),
|
|
35
|
+
)
|
|
36
|
+
except ImportError as e:
|
|
37
|
+
from digitalhub.utils.logger.logger import get_logger
|
|
38
|
+
|
|
39
|
+
logger = get_logger(__name__)
|
|
40
|
+
logger.debug(f"Error importing runtime builders: {e}")
|
|
41
|
+
runtime_builders = ()
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
from digitalhub.factory.plugins import CrudPlugin, EntityPlugin
|
|
6
|
+
|
|
7
|
+
from digitalhub_runtime_python.entities.function.guardrail.builder import FunctionGuardrailBuilder
|
|
8
|
+
from digitalhub_runtime_python.entities.function.guardrail.crud import new_function_guardrail
|
|
9
|
+
from digitalhub_runtime_python.entities.function.openinference.builder import FunctionOpeninferenceBuilder
|
|
10
|
+
from digitalhub_runtime_python.entities.function.openinference.crud import new_function_openinference
|
|
11
|
+
from digitalhub_runtime_python.entities.function.python.builder import FunctionPythonBuilder
|
|
12
|
+
from digitalhub_runtime_python.entities.function.python.crud import new_function_python
|
|
13
|
+
from digitalhub_runtime_python.entities.run.guardrail_build.builder import RunGuardrailRunBuildBuilder
|
|
14
|
+
from digitalhub_runtime_python.entities.run.guardrail_serve.builder import RunGuardrailRunServeBuilder
|
|
15
|
+
from digitalhub_runtime_python.entities.run.openinference_build.builder import RunOpeninferenceRunBuildBuilder
|
|
16
|
+
from digitalhub_runtime_python.entities.run.openinference_serve.builder import RunOpeninferenceRunServeBuilder
|
|
17
|
+
from digitalhub_runtime_python.entities.run.python_build.builder import RunPythonRunBuildBuilder
|
|
18
|
+
from digitalhub_runtime_python.entities.run.python_job.builder import RunPythonRunJobBuilder
|
|
19
|
+
from digitalhub_runtime_python.entities.run.python_serve.builder import RunPythonRunServeBuilder
|
|
20
|
+
from digitalhub_runtime_python.entities.task.guardrail_build.builder import TaskGuardrailBuildBuilder
|
|
21
|
+
from digitalhub_runtime_python.entities.task.guardrail_serve.builder import TaskGuardrailServeBuilder
|
|
22
|
+
from digitalhub_runtime_python.entities.task.openinference_build.builder import TaskOpeninferenceBuildBuilder
|
|
23
|
+
from digitalhub_runtime_python.entities.task.openinference_serve.builder import TaskOpeninferenceServeBuilder
|
|
24
|
+
from digitalhub_runtime_python.entities.task.python_build.builder import TaskPythonBuildBuilder
|
|
25
|
+
from digitalhub_runtime_python.entities.task.python_job.builder import TaskPythonJobBuilder
|
|
26
|
+
from digitalhub_runtime_python.entities.task.python_serve.builder import TaskPythonServeBuilder
|
|
27
|
+
|
|
28
|
+
function_guardrail_plugin = EntityPlugin(
|
|
29
|
+
builder=FunctionGuardrailBuilder,
|
|
30
|
+
shortcuts=(CrudPlugin(new_function_guardrail),),
|
|
31
|
+
)
|
|
32
|
+
function_openinference_plugin = EntityPlugin(
|
|
33
|
+
builder=FunctionOpeninferenceBuilder,
|
|
34
|
+
shortcuts=(CrudPlugin(new_function_openinference),),
|
|
35
|
+
)
|
|
36
|
+
function_python_plugin = EntityPlugin(
|
|
37
|
+
builder=FunctionPythonBuilder,
|
|
38
|
+
shortcuts=(CrudPlugin(new_function_python),),
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
entity_plugins = (
|
|
42
|
+
function_guardrail_plugin,
|
|
43
|
+
function_openinference_plugin,
|
|
44
|
+
function_python_plugin,
|
|
45
|
+
EntityPlugin(builder=TaskGuardrailBuildBuilder),
|
|
46
|
+
EntityPlugin(builder=TaskGuardrailServeBuilder),
|
|
47
|
+
EntityPlugin(builder=TaskOpeninferenceBuildBuilder),
|
|
48
|
+
EntityPlugin(builder=TaskOpeninferenceServeBuilder),
|
|
49
|
+
EntityPlugin(builder=TaskPythonBuildBuilder),
|
|
50
|
+
EntityPlugin(builder=TaskPythonJobBuilder),
|
|
51
|
+
EntityPlugin(builder=TaskPythonServeBuilder),
|
|
52
|
+
EntityPlugin(builder=RunGuardrailRunBuildBuilder),
|
|
53
|
+
EntityPlugin(builder=RunGuardrailRunServeBuilder),
|
|
54
|
+
EntityPlugin(builder=RunOpeninferenceRunBuildBuilder),
|
|
55
|
+
EntityPlugin(builder=RunOpeninferenceRunServeBuilder),
|
|
56
|
+
EntityPlugin(builder=RunPythonRunBuildBuilder),
|
|
57
|
+
EntityPlugin(builder=RunPythonRunJobBuilder),
|
|
58
|
+
EntityPlugin(builder=RunPythonRunServeBuilder),
|
|
59
|
+
)
|
digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/function/guardrail/crud.py
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
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.crud import new_function
|
|
10
|
+
|
|
11
|
+
from digitalhub_runtime_python.entities.function.guardrail.builder import FunctionGuardrailBuilder
|
|
12
|
+
|
|
13
|
+
if typing.TYPE_CHECKING:
|
|
14
|
+
from digitalhub_runtime_python.entities.function.guardrail.entity import FunctionGuardrail
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def new_function_guardrail(
|
|
18
|
+
project: str,
|
|
19
|
+
name: str,
|
|
20
|
+
source: dict | None = None,
|
|
21
|
+
code: str | None = None,
|
|
22
|
+
code_src: str | None = None,
|
|
23
|
+
handler: str | None = None,
|
|
24
|
+
init_function: str | None = None,
|
|
25
|
+
lang: str | None = None,
|
|
26
|
+
image: str | None = None,
|
|
27
|
+
base_image: str | None = None,
|
|
28
|
+
python_version: str | None = None,
|
|
29
|
+
requirements: list[str] | str | None = None,
|
|
30
|
+
processing_mode: str | None = None,
|
|
31
|
+
uuid: str | None = None,
|
|
32
|
+
version: str | None = None,
|
|
33
|
+
description: str | None = None,
|
|
34
|
+
labels: list[str] | None = None,
|
|
35
|
+
embedded: bool = False,
|
|
36
|
+
) -> FunctionGuardrail:
|
|
37
|
+
"""Create a guardrail function entity."""
|
|
38
|
+
if code is not None and code_src is not None:
|
|
39
|
+
raise ValueError("Only one of 'code' or 'code_src' can be provided.")
|
|
40
|
+
|
|
41
|
+
return new_function(
|
|
42
|
+
project=project,
|
|
43
|
+
name=name,
|
|
44
|
+
kind=FunctionGuardrailBuilder.ENTITY_KIND,
|
|
45
|
+
uuid=uuid,
|
|
46
|
+
version=version,
|
|
47
|
+
description=description,
|
|
48
|
+
labels=labels,
|
|
49
|
+
embedded=embedded,
|
|
50
|
+
source=source,
|
|
51
|
+
code=code,
|
|
52
|
+
code_src=code_src,
|
|
53
|
+
handler=handler,
|
|
54
|
+
init_function=init_function,
|
|
55
|
+
lang=lang,
|
|
56
|
+
image=image,
|
|
57
|
+
base_image=base_image,
|
|
58
|
+
python_version=python_version,
|
|
59
|
+
requirements=requirements,
|
|
60
|
+
processing_mode=processing_mode,
|
|
61
|
+
)
|
digitalhub_runtime_python-0.16.0b9/digitalhub_runtime_python/entities/function/openinference/crud.py
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
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.crud import new_function
|
|
10
|
+
|
|
11
|
+
from digitalhub_runtime_python.entities.function.openinference.builder import FunctionOpeninferenceBuilder
|
|
12
|
+
|
|
13
|
+
if typing.TYPE_CHECKING:
|
|
14
|
+
from digitalhub_runtime_python.entities.function.openinference.entity import FunctionOpeninference
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def new_function_openinference(
|
|
18
|
+
project: str,
|
|
19
|
+
name: str,
|
|
20
|
+
source: dict | None = None,
|
|
21
|
+
code: str | None = None,
|
|
22
|
+
code_src: str | None = None,
|
|
23
|
+
handler: str | None = None,
|
|
24
|
+
init_function: str | None = None,
|
|
25
|
+
lang: str | None = None,
|
|
26
|
+
image: str | None = None,
|
|
27
|
+
base_image: str | None = None,
|
|
28
|
+
python_version: str | None = None,
|
|
29
|
+
requirements: list[str] | str | None = None,
|
|
30
|
+
model_name: str | None = None,
|
|
31
|
+
inputs: list | None = None,
|
|
32
|
+
outputs: list | None = None,
|
|
33
|
+
uuid: str | None = None,
|
|
34
|
+
version: str | None = None,
|
|
35
|
+
description: str | None = None,
|
|
36
|
+
labels: list[str] | None = None,
|
|
37
|
+
embedded: bool = False,
|
|
38
|
+
) -> FunctionOpeninference:
|
|
39
|
+
"""Create an OpenInference function entity."""
|
|
40
|
+
if code is not None and code_src is not None:
|
|
41
|
+
raise ValueError("Only one of 'code' or 'code_src' can be provided.")
|
|
42
|
+
|
|
43
|
+
return new_function(
|
|
44
|
+
project=project,
|
|
45
|
+
name=name,
|
|
46
|
+
kind=FunctionOpeninferenceBuilder.ENTITY_KIND,
|
|
47
|
+
uuid=uuid,
|
|
48
|
+
version=version,
|
|
49
|
+
description=description,
|
|
50
|
+
labels=labels,
|
|
51
|
+
embedded=embedded,
|
|
52
|
+
source=source,
|
|
53
|
+
code=code,
|
|
54
|
+
code_src=code_src,
|
|
55
|
+
handler=handler,
|
|
56
|
+
init_function=init_function,
|
|
57
|
+
lang=lang,
|
|
58
|
+
image=image,
|
|
59
|
+
base_image=base_image,
|
|
60
|
+
python_version=python_version,
|
|
61
|
+
requirements=requirements,
|
|
62
|
+
model_name=model_name,
|
|
63
|
+
inputs=inputs,
|
|
64
|
+
outputs=outputs,
|
|
65
|
+
)
|
|
@@ -0,0 +1,103 @@
|
|
|
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.crud import new_function
|
|
10
|
+
|
|
11
|
+
from digitalhub_runtime_python.entities.function.python.builder import FunctionPythonBuilder
|
|
12
|
+
|
|
13
|
+
if typing.TYPE_CHECKING:
|
|
14
|
+
from digitalhub_runtime_python.entities.function.python.entity import FunctionPython
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def new_function_python(
|
|
18
|
+
project: str,
|
|
19
|
+
name: str,
|
|
20
|
+
source: dict | None = None,
|
|
21
|
+
code: str | None = None,
|
|
22
|
+
code_src: str | None = None,
|
|
23
|
+
handler: str | None = None,
|
|
24
|
+
init_function: str | None = None,
|
|
25
|
+
lang: str | None = None,
|
|
26
|
+
image: str | None = None,
|
|
27
|
+
base_image: str | None = None,
|
|
28
|
+
python_version: str | None = None,
|
|
29
|
+
requirements: list[str] | str | None = None,
|
|
30
|
+
uuid: str | None = None,
|
|
31
|
+
version: str | None = None,
|
|
32
|
+
description: str | None = None,
|
|
33
|
+
labels: list[str] | None = None,
|
|
34
|
+
embedded: bool = False,
|
|
35
|
+
) -> FunctionPython:
|
|
36
|
+
"""
|
|
37
|
+
Create a Python function entity.
|
|
38
|
+
|
|
39
|
+
Parameters
|
|
40
|
+
----------
|
|
41
|
+
project : str
|
|
42
|
+
Project name.
|
|
43
|
+
name : str
|
|
44
|
+
Function name.
|
|
45
|
+
source : dict, optional
|
|
46
|
+
Function source configuration.
|
|
47
|
+
code : str, optional
|
|
48
|
+
Function source code as plain text.
|
|
49
|
+
code_src : str, optional
|
|
50
|
+
Local path or URI pointing to the function source code.
|
|
51
|
+
handler : str, optional
|
|
52
|
+
Function entrypoint.
|
|
53
|
+
init_function : str, optional
|
|
54
|
+
Initialization function to run before the handler.
|
|
55
|
+
lang : str, optional
|
|
56
|
+
Source code language hint.
|
|
57
|
+
image : str, optional
|
|
58
|
+
Function container image.
|
|
59
|
+
base_image : str, optional
|
|
60
|
+
Base container image used to build the function image.
|
|
61
|
+
python_version : str, optional
|
|
62
|
+
Python version used by the function runtime.
|
|
63
|
+
requirements : list[str] or str, optional
|
|
64
|
+
Python dependencies required by the function.
|
|
65
|
+
uuid : str, optional
|
|
66
|
+
Function identifier.
|
|
67
|
+
version : str, optional
|
|
68
|
+
Function version.
|
|
69
|
+
description : str, optional
|
|
70
|
+
Human-readable function description.
|
|
71
|
+
labels : list[str], optional
|
|
72
|
+
Function labels.
|
|
73
|
+
embedded : bool, default=False
|
|
74
|
+
Whether to embed the function specification in the project specification.
|
|
75
|
+
|
|
76
|
+
Returns
|
|
77
|
+
-------
|
|
78
|
+
FunctionPython
|
|
79
|
+
Created Python function entity.
|
|
80
|
+
"""
|
|
81
|
+
if code is not None and code_src is not None:
|
|
82
|
+
raise ValueError("Only one of 'code' or 'code_src' can be provided.")
|
|
83
|
+
|
|
84
|
+
return new_function(
|
|
85
|
+
project=project,
|
|
86
|
+
name=name,
|
|
87
|
+
kind=FunctionPythonBuilder.ENTITY_KIND,
|
|
88
|
+
uuid=uuid,
|
|
89
|
+
version=version,
|
|
90
|
+
description=description,
|
|
91
|
+
labels=labels,
|
|
92
|
+
embedded=embedded,
|
|
93
|
+
source=source,
|
|
94
|
+
code=code,
|
|
95
|
+
code_src=code_src,
|
|
96
|
+
handler=handler,
|
|
97
|
+
init_function=init_function,
|
|
98
|
+
lang=lang,
|
|
99
|
+
image=image,
|
|
100
|
+
base_image=base_image,
|
|
101
|
+
python_version=python_version,
|
|
102
|
+
requirements=requirements,
|
|
103
|
+
)
|
|
@@ -10,20 +10,13 @@ from dataclasses import dataclass
|
|
|
10
10
|
from typing import Any
|
|
11
11
|
|
|
12
12
|
from digitalhub.context.api import get_context
|
|
13
|
-
from digitalhub.entities._commons.enums import
|
|
13
|
+
from digitalhub.entities._commons.enums import Relationship, State
|
|
14
14
|
from digitalhub.entities.artifact._base.entity import Artifact
|
|
15
15
|
from digitalhub.entities.artifact.artifact.crud import log_artifact
|
|
16
16
|
from digitalhub.entities.dataitem._base.entity import Dataitem
|
|
17
|
-
from digitalhub.entities.dataitem.croissant.crud import log_croissant
|
|
18
|
-
from digitalhub.entities.dataitem.dataitem.crud import log_dataitem
|
|
19
17
|
from digitalhub.entities.dataitem.table.crud import log_table
|
|
20
18
|
from digitalhub.entities.model._base.entity import Model
|
|
21
|
-
from digitalhub.
|
|
22
|
-
from digitalhub.entities.model.mlflow.crud import log_mlflow
|
|
23
|
-
from digitalhub.entities.model.model.crud import log_model
|
|
24
|
-
from digitalhub.entities.model.sklearn.crud import log_sklearn
|
|
25
|
-
from digitalhub.entities.model.tvm_ir.crud import log_tvm_ir
|
|
26
|
-
from digitalhub.entities.model.tvm_so.crud import log_tvm_so
|
|
19
|
+
from digitalhub.factory.registry import registry
|
|
27
20
|
from digitalhub.stores.readers.data.api import get_supported_dataframes
|
|
28
21
|
from digitalhub.utils.exceptions import EntityNotExistsError
|
|
29
22
|
from digitalhub.utils.logger.logger import get_logger
|
|
@@ -34,20 +27,6 @@ if typing.TYPE_CHECKING:
|
|
|
34
27
|
logger = get_logger(__file__)
|
|
35
28
|
|
|
36
29
|
|
|
37
|
-
mapped_logger = {
|
|
38
|
-
EntityKinds.DATAITEM_DATAITEM.value: log_dataitem,
|
|
39
|
-
EntityKinds.DATAITEM_TABLE.value: log_table,
|
|
40
|
-
EntityKinds.DATAITEM_CROISSANT.value: log_croissant,
|
|
41
|
-
EntityKinds.MODEL_MLFLOW.value: log_mlflow,
|
|
42
|
-
EntityKinds.MODEL_SKLEARN.value: log_sklearn,
|
|
43
|
-
EntityKinds.MODEL_MODEL.value: log_model,
|
|
44
|
-
EntityKinds.MODEL_HUGGINGFACE.value: log_huggingface,
|
|
45
|
-
EntityKinds.MODEL_TVM_IR.value: log_tvm_ir,
|
|
46
|
-
EntityKinds.MODEL_TVM_SO.value: log_tvm_so,
|
|
47
|
-
EntityKinds.ARTIFACT_ARTIFACT.value: log_artifact,
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
30
|
@dataclass
|
|
52
31
|
class OutputStruct:
|
|
53
32
|
"""
|
|
@@ -106,19 +85,22 @@ def _parse_UDF_outputs(outputs: list[str] | list[dict[str, Any]], results_len: i
|
|
|
106
85
|
if kind is None:
|
|
107
86
|
raise ValueError(f"Missing kind for logged output: {name}")
|
|
108
87
|
|
|
109
|
-
|
|
110
|
-
|
|
88
|
+
try:
|
|
89
|
+
registry.get_shortcut(f"log_{kind}")
|
|
90
|
+
except AttributeError as e:
|
|
91
|
+
raise ValueError(f"Unsupported output kind: {kind}") from e
|
|
111
92
|
|
|
112
93
|
kwargs = dict(item.get("spec_kwargs") or {})
|
|
113
94
|
parsed_outputs.append(OutputStruct(name=name, kind=kind, kwargs=kwargs, log=True))
|
|
114
95
|
return parsed_outputs
|
|
115
96
|
|
|
116
97
|
|
|
117
|
-
def
|
|
98
|
+
def _log_output(project_name: str, item: Any, output: OutputStruct) -> None:
|
|
118
99
|
logger.info(f"Logging output {output.name}.")
|
|
119
100
|
spec_kwargs = dict(output.kwargs or {})
|
|
120
101
|
spec_kwargs["source"] = item
|
|
121
|
-
|
|
102
|
+
logger_function = registry.get_shortcut(f"log_{output.kind}")
|
|
103
|
+
logger_function(project=project_name, name=output.name, **spec_kwargs)
|
|
122
104
|
|
|
123
105
|
|
|
124
106
|
def _save_existing_object(obj: Dataitem | Artifact | Model, run_key: str) -> Dataitem | Artifact | Model:
|
|
@@ -181,7 +163,7 @@ def collect_outputs(
|
|
|
181
163
|
output = parsed_outputs[idx]
|
|
182
164
|
|
|
183
165
|
if output.log:
|
|
184
|
-
|
|
166
|
+
_log_output(project_name, item, output)
|
|
185
167
|
continue
|
|
186
168
|
|
|
187
169
|
objects[output.name] = _materialize_output(output.name, item, project_name, run_key)
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "digitalhub-runtime-python"
|
|
7
|
-
version = "0.16.
|
|
7
|
+
version = "0.16.0b9"
|
|
8
8
|
description = "Python runtime for DHCore"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -23,12 +23,12 @@ classifiers = [
|
|
|
23
23
|
keywords = ["data", "dataops", "kubernetes"]
|
|
24
24
|
requires-python = ">=3.10, <3.15"
|
|
25
25
|
dependencies = [
|
|
26
|
-
"digitalhub[full]>=0.16.0b, <0.17",
|
|
27
|
-
"nuclio-sdk",
|
|
28
|
-
"msgpack",
|
|
29
|
-
"pip",
|
|
30
|
-
"tomli; python_version < '3.11'",
|
|
31
|
-
"pyyaml",
|
|
26
|
+
"digitalhub[full]>=0.16.0b, <0.17",
|
|
27
|
+
"nuclio-sdk",
|
|
28
|
+
"msgpack",
|
|
29
|
+
"pip",
|
|
30
|
+
"tomli; python_version < '3.11'",
|
|
31
|
+
"pyyaml",
|
|
32
32
|
]
|
|
33
33
|
|
|
34
34
|
[project.optional-dependencies]
|
|
@@ -54,7 +54,7 @@ docstring-code-line-length = 120
|
|
|
54
54
|
convention = "numpy"
|
|
55
55
|
|
|
56
56
|
[tool.bumpver]
|
|
57
|
-
current_version = "0.16.
|
|
57
|
+
current_version = "0.16.0b9"
|
|
58
58
|
version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
|
|
59
59
|
commit_message = "Bump version {old_version} -> {new_version}"
|
|
60
60
|
commit = false
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
from validate_entities import create_test_validate
|
|
7
|
+
|
|
8
|
+
TestValidate = create_test_validate(Path(__file__).parent, ignore=["local_execution"])
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
-
#
|
|
3
|
-
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
from digitalhub_runtime_python.entities._commons.enums import EntityKinds
|
|
5
|
-
from digitalhub_runtime_python.entities.function.guardrail.builder import FunctionGuardrailBuilder
|
|
6
|
-
from digitalhub_runtime_python.entities.function.openinference.builder import FunctionOpeninferenceBuilder
|
|
7
|
-
from digitalhub_runtime_python.entities.function.python.builder import FunctionPythonBuilder
|
|
8
|
-
from digitalhub_runtime_python.entities.run.guardrail_build.builder import RunGuardrailRunBuildBuilder
|
|
9
|
-
from digitalhub_runtime_python.entities.run.guardrail_serve.builder import RunGuardrailRunServeBuilder
|
|
10
|
-
from digitalhub_runtime_python.entities.run.openinference_build.builder import RunOpeninferenceRunBuildBuilder
|
|
11
|
-
from digitalhub_runtime_python.entities.run.openinference_serve.builder import RunOpeninferenceRunServeBuilder
|
|
12
|
-
from digitalhub_runtime_python.entities.run.python_build.builder import RunPythonRunBuildBuilder
|
|
13
|
-
from digitalhub_runtime_python.entities.run.python_job.builder import RunPythonRunJobBuilder
|
|
14
|
-
from digitalhub_runtime_python.entities.run.python_serve.builder import RunPythonRunServeBuilder
|
|
15
|
-
from digitalhub_runtime_python.entities.task.guardrail_build.builder import TaskGuardrailBuildBuilder
|
|
16
|
-
from digitalhub_runtime_python.entities.task.guardrail_serve.builder import TaskGuardrailServeBuilder
|
|
17
|
-
from digitalhub_runtime_python.entities.task.openinference_build.builder import TaskOpeninferenceBuildBuilder
|
|
18
|
-
from digitalhub_runtime_python.entities.task.openinference_serve.builder import TaskOpeninferenceServeBuilder
|
|
19
|
-
from digitalhub_runtime_python.entities.task.python_build.builder import TaskPythonBuildBuilder
|
|
20
|
-
from digitalhub_runtime_python.entities.task.python_job.builder import TaskPythonJobBuilder
|
|
21
|
-
from digitalhub_runtime_python.entities.task.python_serve.builder import TaskPythonServeBuilder
|
|
22
|
-
from digitalhub_runtime_python.utils.utils import handler
|
|
23
|
-
|
|
24
|
-
entity_builders = (
|
|
25
|
-
(EntityKinds.FUNCTION_GUARDRAIL.value, FunctionGuardrailBuilder),
|
|
26
|
-
(EntityKinds.FUNCTION_OPENINFERENCE.value, FunctionOpeninferenceBuilder),
|
|
27
|
-
(EntityKinds.FUNCTION_PYTHON.value, FunctionPythonBuilder),
|
|
28
|
-
(EntityKinds.RUN_GUARDRAIL_BUILD.value, RunGuardrailRunBuildBuilder),
|
|
29
|
-
(EntityKinds.RUN_GUARDRAIL_SERVE.value, RunGuardrailRunServeBuilder),
|
|
30
|
-
(EntityKinds.RUN_OPENINFERENCE_BUILD.value, RunOpeninferenceRunBuildBuilder),
|
|
31
|
-
(EntityKinds.RUN_OPENINFERENCE_SERVE.value, RunOpeninferenceRunServeBuilder),
|
|
32
|
-
(EntityKinds.RUN_PYTHON_BUILD.value, RunPythonRunBuildBuilder),
|
|
33
|
-
(EntityKinds.RUN_PYTHON_JOB.value, RunPythonRunJobBuilder),
|
|
34
|
-
(EntityKinds.RUN_PYTHON_SERVE.value, RunPythonRunServeBuilder),
|
|
35
|
-
(EntityKinds.TASK_GUARDRAIL_BUILD.value, TaskGuardrailBuildBuilder),
|
|
36
|
-
(EntityKinds.TASK_GUARDRAIL_SERVE.value, TaskGuardrailServeBuilder),
|
|
37
|
-
(EntityKinds.TASK_OPENINFERENCE_BUILD.value, TaskOpeninferenceBuildBuilder),
|
|
38
|
-
(EntityKinds.TASK_OPENINFERENCE_SERVE.value, TaskOpeninferenceServeBuilder),
|
|
39
|
-
(EntityKinds.TASK_PYTHON_BUILD.value, TaskPythonBuildBuilder),
|
|
40
|
-
(EntityKinds.TASK_PYTHON_JOB.value, TaskPythonJobBuilder),
|
|
41
|
-
(EntityKinds.TASK_PYTHON_SERVE.value, TaskPythonServeBuilder),
|
|
42
|
-
)
|
|
43
|
-
|
|
44
|
-
try:
|
|
45
|
-
from digitalhub_runtime_python.runtimes.builder import (
|
|
46
|
-
RuntimeGuardrailBuilder,
|
|
47
|
-
RuntimeOpeninferenceBuilder,
|
|
48
|
-
RuntimePythonBuilder,
|
|
49
|
-
RuntimePythonJobBuilder,
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
runtime_builders = (
|
|
53
|
-
(EntityKinds.FUNCTION_GUARDRAIL.value, RuntimeGuardrailBuilder),
|
|
54
|
-
(EntityKinds.FUNCTION_OPENINFERENCE.value, RuntimeOpeninferenceBuilder),
|
|
55
|
-
(EntityKinds.FUNCTION_PYTHON.value, RuntimePythonBuilder),
|
|
56
|
-
(EntityKinds.RUN_GUARDRAIL_BUILD.value, RuntimeGuardrailBuilder),
|
|
57
|
-
(EntityKinds.RUN_GUARDRAIL_SERVE.value, RuntimeGuardrailBuilder),
|
|
58
|
-
(EntityKinds.RUN_OPENINFERENCE_BUILD.value, RuntimeOpeninferenceBuilder),
|
|
59
|
-
(EntityKinds.RUN_OPENINFERENCE_SERVE.value, RuntimeOpeninferenceBuilder),
|
|
60
|
-
(EntityKinds.RUN_PYTHON_BUILD.value, RuntimePythonBuilder),
|
|
61
|
-
(EntityKinds.RUN_PYTHON_JOB.value, RuntimePythonJobBuilder),
|
|
62
|
-
(EntityKinds.RUN_PYTHON_SERVE.value, RuntimePythonBuilder),
|
|
63
|
-
(EntityKinds.TASK_GUARDRAIL_BUILD.value, RuntimeGuardrailBuilder),
|
|
64
|
-
(EntityKinds.TASK_GUARDRAIL_SERVE.value, RuntimeGuardrailBuilder),
|
|
65
|
-
(EntityKinds.TASK_OPENINFERENCE_BUILD.value, RuntimeOpeninferenceBuilder),
|
|
66
|
-
(EntityKinds.TASK_OPENINFERENCE_SERVE.value, RuntimeOpeninferenceBuilder),
|
|
67
|
-
(EntityKinds.TASK_PYTHON_BUILD.value, RuntimePythonBuilder),
|
|
68
|
-
(EntityKinds.TASK_PYTHON_JOB.value, RuntimePythonJobBuilder),
|
|
69
|
-
(EntityKinds.TASK_PYTHON_SERVE.value, RuntimePythonBuilder),
|
|
70
|
-
)
|
|
71
|
-
except ImportError as e:
|
|
72
|
-
from digitalhub.utils.logger.logger import get_logger
|
|
73
|
-
|
|
74
|
-
logger = get_logger(__name__)
|
|
75
|
-
logger.debug(f"Error importing runtime builders: {e}")
|
|
76
|
-
runtime_builders = ()
|