digitalhub 0.10.0b4__tar.gz → 0.10.0b6__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.
Potentially problematic release.
This version of digitalhub might be problematic. Click here for more details.
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/PKG-INFO +1 -4
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/_base/api_builder.py +1 -1
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/_base/client.py +22 -0
- digitalhub-0.10.0b6/digitalhub/client/_base/params_builder.py +16 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/api_builder.py +4 -3
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/client.py +4 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/configurator.py +26 -4
- digitalhub-0.10.0b6/digitalhub/client/dhcore/params_builder.py +174 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/local/api_builder.py +4 -1
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/local/client.py +6 -0
- digitalhub-0.10.0b6/digitalhub/client/local/params_builder.py +116 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/configurator/configurator.py +10 -9
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/context/entity.py +4 -4
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/executable/entity.py +2 -2
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/material/entity.py +3 -3
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/unversioned/entity.py +2 -2
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/versioned/entity.py +2 -2
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_commons/enums.py +1 -0
- digitalhub-0.10.0b6/digitalhub/entities/_commons/metrics.py +164 -0
- {digitalhub-0.10.0b4/digitalhub/utils → digitalhub-0.10.0b6/digitalhub/entities/_commons}/types.py +0 -1
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_commons/utils.py +0 -26
- digitalhub-0.10.0b6/digitalhub/entities/_processors/base.py +527 -0
- digitalhub-0.10.0b4/digitalhub/entities/_operations/processor.py → digitalhub-0.10.0b6/digitalhub/entities/_processors/context.py +94 -716
- digitalhub-0.10.0b6/digitalhub/entities/_processors/utils.py +158 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/crud.py +10 -10
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/crud.py +10 -10
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/utils.py +2 -1
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/function/crud.py +9 -9
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/_base/entity.py +26 -78
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/_base/status.py +1 -1
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/crud.py +10 -10
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/project/_base/entity.py +317 -9
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/project/crud.py +10 -9
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/run/_base/entity.py +32 -84
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/run/_base/status.py +1 -1
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/run/crud.py +8 -8
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/secret/_base/entity.py +3 -3
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/secret/crud.py +9 -9
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/entity.py +4 -4
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/models.py +10 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/task/crud.py +8 -8
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/workflow/crud.py +9 -9
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/factory/utils.py +9 -9
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/readers/data/pandas/reader.py +9 -9
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/s3/configurator.py +1 -1
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/sql/configurator.py +1 -1
- {digitalhub-0.10.0b4/digitalhub/readers/data/pandas → digitalhub-0.10.0b6/digitalhub/utils}/enums.py +1 -1
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/utils/git_utils.py +16 -9
- digitalhub-0.10.0b6/digitalhub/utils/types.py +5 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/pyproject.toml +2 -5
- digitalhub-0.10.0b4/digitalhub/entities/_base/project/entity.py +0 -341
- digitalhub-0.10.0b4/digitalhub/entities/_commons/models.py +0 -13
- digitalhub-0.10.0b4/digitalhub/utils/__init__.py +0 -0
- digitalhub-0.10.0b4/test/local/instances/entities_other/function/function-container-git.json +0 -35
- digitalhub-0.10.0b4/test/local/instances/entities_other/function/function-container-local.json +0 -35
- digitalhub-0.10.0b4/test/local/instances/entities_other/function/function-container-zip.json +0 -35
- digitalhub-0.10.0b4/test/local/instances/entities_other/function/function-dbt.json +0 -27
- digitalhub-0.10.0b4/test/local/instances/entities_other/function/function-huggingfaceserve.json +0 -25
- digitalhub-0.10.0b4/test/local/instances/entities_other/function/function-mlflowserve.json +0 -26
- digitalhub-0.10.0b4/test/local/instances/entities_other/function/function-python-git.json +0 -35
- digitalhub-0.10.0b4/test/local/instances/entities_other/function/function-python-local.json +0 -35
- digitalhub-0.10.0b4/test/local/instances/entities_other/function/function-python-zip.json +0 -35
- digitalhub-0.10.0b4/test/local/instances/entities_other/function/function-sklearnserve.json +0 -26
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-container+build.json +0 -90
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-container+deploy.json +0 -89
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-container+job.json +0 -457
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-container+serve.json +0 -1143
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-dbt+transform.json +0 -1202
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-huggingfaceserve+serve.json +0 -1413
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-kfp+pipeline.json +0 -275
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-mlflowserve+serve.json +0 -86
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-python+build.json +0 -927
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-python+job.json +0 -479
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-python+serve.json +0 -1972
- digitalhub-0.10.0b4/test/local/instances/entities_other/run/run-sklearnserve+serve.json +0 -1492
- digitalhub-0.10.0b4/test/local/instances/entities_other/workflow/workflow-kfp.json +0 -31
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/.github/scripts/bump.sh +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/.github/scripts/changelog.sh +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/.github/scripts/cliff.toml +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/.github/workflows/release.yml +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/.github/workflows/run_local_test.yml +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/.github/workflows/test_release.yml +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/.gitignore +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/LICENSE.txt +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/README.md +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/_base/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/_base/key_builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/api.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/enums.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/error_parser.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/key_builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/models.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/dhcore/utils.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/local/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/local/enums.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/client/local/key_builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/configurator/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/configurator/api.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/configurator/credentials_store.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/configurator/ini_module.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/context/api.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/context/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/context/context.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/_base/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/_base/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/context/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/metadata.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/name.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/status.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/_constructors/uuid.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/metadata.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/entity/status.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/executable/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/material/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/material/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/material/status.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/material/utils.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/_base/project → digitalhub-0.10.0b6/digitalhub/entities/_base/runtime_entity}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/runtime_entity/builder.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/_base/runtime_entity → digitalhub-0.10.0b6/digitalhub/entities/_base/unversioned}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/unversioned/builder.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/_base/unversioned → digitalhub-0.10.0b6/digitalhub/entities/_base/versioned}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/_base/versioned/builder.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/_base/versioned → digitalhub-0.10.0b6/digitalhub/entities/_commons}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/_commons → digitalhub-0.10.0b6/digitalhub/entities/_processors}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/_operations → digitalhub-0.10.0b6/digitalhub/entities/artifact}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/artifact → digitalhub-0.10.0b6/digitalhub/entities/artifact/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/_base/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/_base/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/_base/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/_base/status.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/artifact/_base → digitalhub-0.10.0b6/digitalhub/entities/artifact/artifact}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/artifact/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/artifact/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/artifact/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/artifact/status.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/artifact/utils.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/builders.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/artifact/artifact → digitalhub-0.10.0b6/digitalhub/entities/dataitem}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/dataitem → digitalhub-0.10.0b6/digitalhub/entities/dataitem/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/_base/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/_base/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/_base/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/_base/status.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/dataitem/_base → digitalhub-0.10.0b6/digitalhub/entities/dataitem/dataitem}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/dataitem/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/dataitem/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/dataitem/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/dataitem/status.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/dataitem/dataitem → digitalhub-0.10.0b6/digitalhub/entities/dataitem/iceberg}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/iceberg/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/iceberg/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/iceberg/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/iceberg/status.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/dataitem/iceberg → digitalhub-0.10.0b6/digitalhub/entities/dataitem/table}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/models.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/status.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/dataitem/table/utils.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/dataitem/table → digitalhub-0.10.0b6/digitalhub/entities/function}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/function → digitalhub-0.10.0b6/digitalhub/entities/function/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/function/_base/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/function/_base/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/function/_base/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/function/_base/status.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/function/_base → digitalhub-0.10.0b6/digitalhub/entities/model}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/model → digitalhub-0.10.0b6/digitalhub/entities/model/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/_base/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/_base/spec.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/model/_base → digitalhub-0.10.0b6/digitalhub/entities/model/huggingface}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/huggingface/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/huggingface/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/huggingface/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/huggingface/status.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/model/huggingface → digitalhub-0.10.0b6/digitalhub/entities/model/mlflow}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/models.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/status.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/mlflow/utils.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/model/mlflow → digitalhub-0.10.0b6/digitalhub/entities/model/model}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/model/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/model/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/model/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/model/status.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/model/model → digitalhub-0.10.0b6/digitalhub/entities/model/sklearn}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/sklearn/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/sklearn/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/sklearn/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/sklearn/status.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/model/utils.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/model/sklearn → digitalhub-0.10.0b6/digitalhub/entities/project}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/project → digitalhub-0.10.0b6/digitalhub/entities/project/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/project/_base/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/project/_base/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/project/_base/status.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/project/utils.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/project/_base → digitalhub-0.10.0b6/digitalhub/entities/run}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/run → digitalhub-0.10.0b6/digitalhub/entities/run/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/run/_base/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/run/_base/spec.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/run/_base → digitalhub-0.10.0b6/digitalhub/entities/secret}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/secret → digitalhub-0.10.0b6/digitalhub/entities/secret/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/secret/_base/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/secret/_base/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/secret/_base/status.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/secret/_base → digitalhub-0.10.0b6/digitalhub/entities/task}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/task → digitalhub-0.10.0b6/digitalhub/entities/task/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/status.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/task/_base/utils.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/task/_base → digitalhub-0.10.0b6/digitalhub/entities/workflow}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/workflow → digitalhub-0.10.0b6/digitalhub/entities/workflow/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/workflow/_base/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/workflow/_base/entity.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/workflow/_base/spec.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/entities/workflow/_base/status.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/entities/workflow/_base → digitalhub-0.10.0b6/digitalhub/factory}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/factory/api.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/factory/factory.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/factory → digitalhub-0.10.0b6/digitalhub/readers}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/readers → digitalhub-0.10.0b6/digitalhub/readers/data}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/readers/data → digitalhub-0.10.0b6/digitalhub/readers/data/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/readers/data/_base/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/readers/data/_base/reader.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/readers/data/api.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/readers/data/factory.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/readers/data/_base → digitalhub-0.10.0b6/digitalhub/readers/data/pandas}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/readers/data/pandas/builder.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/readers/data/pandas → digitalhub-0.10.0b6/digitalhub/readers/query}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/readers/query → digitalhub-0.10.0b6/digitalhub/runtimes}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/runtimes/_base.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/runtimes/builder.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/runtimes/enums.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/runtimes → digitalhub-0.10.0b6/digitalhub/stores}/__init__.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/stores → digitalhub-0.10.0b6/digitalhub/stores/_base}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/_base/store.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/api.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/builder.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/stores/_base → digitalhub-0.10.0b6/digitalhub/stores/local}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/local/store.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/stores/local → digitalhub-0.10.0b6/digitalhub/stores/remote}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/remote/store.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/stores/remote → digitalhub-0.10.0b6/digitalhub/stores/s3}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/s3/enums.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/s3/models.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/s3/store.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/s3/utils.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/stores/s3 → digitalhub-0.10.0b6/digitalhub/stores/sql}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/sql/enums.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/sql/models.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/stores/sql/store.py +0 -0
- {digitalhub-0.10.0b4/digitalhub/stores/sql → digitalhub-0.10.0b6/digitalhub/utils}/__init__.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/utils/exceptions.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/utils/file_utils.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/utils/generic_utils.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/utils/io_utils.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/utils/logger.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/digitalhub/utils/uri_utils.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/README.md +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/local-copy/README.md +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/local-copy/local_copy.sh +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/DBT.dockerfile +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/KFP.dockerfile +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/PY10.dockerfile +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/PY11.dockerfile +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/PY9.dockerfile +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/README.md +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/quick-docker-copy/build_containers.sh +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/spec_exporter/README.md +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/scripts/spec_exporter/exporter.sh +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/CRUD/test_artifacts.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/CRUD/test_dataitems.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/CRUD/test_models.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/imports/test_imports.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/artifact/artifact-http.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/artifact/artifact-local.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/artifact/artifact-s3.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/artifact/artifact-sql.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/dataitem/dataitem-table.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/dataitem/dataitem.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/model/model-huggingface.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/model/model-mlflow.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/model/model-sklearn.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/model/model.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/project.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/entities/secret.json +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/local/instances/test_validate.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/test_crud_functions.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/test_crud_runs.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/test_crud_tasks.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/testkfp.py +0 -0
- {digitalhub-0.10.0b4 → digitalhub-0.10.0b6}/test/testkfp_pipeline.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: digitalhub
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.0b6
|
|
4
4
|
Summary: Python SDK for Digitalhub
|
|
5
5
|
Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk
|
|
6
6
|
Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
|
|
@@ -244,16 +244,13 @@ Requires-Dist: jsonschema; extra == 'dev'
|
|
|
244
244
|
Requires-Dist: pytest; extra == 'dev'
|
|
245
245
|
Requires-Dist: pytest-cov; extra == 'dev'
|
|
246
246
|
Provides-Extra: full
|
|
247
|
-
Requires-Dist: fsspec; extra == 'full'
|
|
248
247
|
Requires-Dist: mlflow; extra == 'full'
|
|
249
248
|
Requires-Dist: pandas; extra == 'full'
|
|
250
|
-
Requires-Dist: s3fs; extra == 'full'
|
|
251
249
|
Provides-Extra: mlflow
|
|
252
250
|
Requires-Dist: mlflow; extra == 'mlflow'
|
|
253
251
|
Provides-Extra: pandas
|
|
254
252
|
Requires-Dist: fsspec; extra == 'pandas'
|
|
255
253
|
Requires-Dist: pandas; extra == 'pandas'
|
|
256
|
-
Requires-Dist: s3fs; extra == 'pandas'
|
|
257
254
|
Description-Content-Type: text/markdown
|
|
258
255
|
|
|
259
256
|
# Digitalhub Library
|
|
@@ -7,6 +7,7 @@ from typing import Any
|
|
|
7
7
|
if typing.TYPE_CHECKING:
|
|
8
8
|
from digitalhub.client._base.api_builder import ClientApiBuilder
|
|
9
9
|
from digitalhub.client._base.key_builder import ClientKeyBuilder
|
|
10
|
+
from digitalhub.client._base.params_builder import ClientParametersBuilder
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
class Client:
|
|
@@ -21,6 +22,7 @@ class Client:
|
|
|
21
22
|
def __init__(self) -> None:
|
|
22
23
|
self._api_builder: ClientApiBuilder = None
|
|
23
24
|
self._key_builder: ClientKeyBuilder = None
|
|
25
|
+
self._params_builder: ClientParametersBuilder = None
|
|
24
26
|
|
|
25
27
|
##############################
|
|
26
28
|
# CRUD methods
|
|
@@ -112,6 +114,26 @@ class Client:
|
|
|
112
114
|
"""
|
|
113
115
|
return self._key_builder.build_key(category, *args, **kwargs)
|
|
114
116
|
|
|
117
|
+
def build_parameters(self, category: str, operation: str, **kwargs) -> dict:
|
|
118
|
+
"""
|
|
119
|
+
Build the parameters for the client call.
|
|
120
|
+
|
|
121
|
+
Parameters
|
|
122
|
+
----------
|
|
123
|
+
category : str
|
|
124
|
+
API category.
|
|
125
|
+
operation : str
|
|
126
|
+
API operation.
|
|
127
|
+
**kwargs : dict
|
|
128
|
+
Parameters to build.
|
|
129
|
+
|
|
130
|
+
Returns
|
|
131
|
+
-------
|
|
132
|
+
dict
|
|
133
|
+
Parameters formatted.
|
|
134
|
+
"""
|
|
135
|
+
return self._params_builder.build_parameters(category, operation, **kwargs)
|
|
136
|
+
|
|
115
137
|
##############################
|
|
116
138
|
# Interface methods
|
|
117
139
|
##############################
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from abc import abstractmethod
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ClientParametersBuilder:
|
|
7
|
+
"""
|
|
8
|
+
This class is used to build the parameters for the client call.
|
|
9
|
+
Depending on the client, the parameters are built differently.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
@abstractmethod
|
|
13
|
+
def build_parameters(self, category: str, operation: str, **kwargs) -> dict:
|
|
14
|
+
"""
|
|
15
|
+
Build the parameters for the client call.
|
|
16
|
+
"""
|
|
@@ -71,8 +71,11 @@ class ClientDHCoreApiBuilder(ClientApiBuilder):
|
|
|
71
71
|
"""
|
|
72
72
|
Build the context API for the client.
|
|
73
73
|
"""
|
|
74
|
-
entity_type = kwargs["entity_type"] + "s"
|
|
75
74
|
project = kwargs["project"]
|
|
75
|
+
if operation == BackendOperations.SEARCH.value:
|
|
76
|
+
return f"{API_CONTEXT}/{project}/solr/search/item"
|
|
77
|
+
|
|
78
|
+
entity_type = kwargs["entity_type"] + "s"
|
|
76
79
|
if operation in (
|
|
77
80
|
BackendOperations.CREATE.value,
|
|
78
81
|
BackendOperations.LIST.value,
|
|
@@ -94,8 +97,6 @@ class ClientDHCoreApiBuilder(ClientApiBuilder):
|
|
|
94
97
|
return f"{API_CONTEXT}/{project}/{entity_type}/data"
|
|
95
98
|
elif operation == BackendOperations.FILES.value:
|
|
96
99
|
return f"{API_CONTEXT}/{project}/{entity_type}/{kwargs['entity_id']}/files/info"
|
|
97
|
-
elif operation == BackendOperations.SEARCH.value:
|
|
98
|
-
return f"{API_CONTEXT}/{project}/solr/search/item"
|
|
99
100
|
elif operation == BackendOperations.METRICS.value:
|
|
100
101
|
if kwargs["metric_name"] is not None:
|
|
101
102
|
return f"{API_CONTEXT}/{project}/{entity_type}/{kwargs['entity_id']}/metrics/{kwargs['metric_name']}"
|
|
@@ -11,6 +11,7 @@ from digitalhub.client.dhcore.api_builder import ClientDHCoreApiBuilder
|
|
|
11
11
|
from digitalhub.client.dhcore.configurator import ClientDHCoreConfigurator
|
|
12
12
|
from digitalhub.client.dhcore.error_parser import ErrorParser
|
|
13
13
|
from digitalhub.client.dhcore.key_builder import ClientDHCoreKeyBuilder
|
|
14
|
+
from digitalhub.client.dhcore.params_builder import ClientDHCoreParametersBuilder
|
|
14
15
|
from digitalhub.utils.exceptions import BackendError
|
|
15
16
|
from digitalhub.utils.generic_utils import dump_json
|
|
16
17
|
|
|
@@ -43,6 +44,9 @@ class ClientDHCore(Client):
|
|
|
43
44
|
# Key builder
|
|
44
45
|
self._key_builder = ClientDHCoreKeyBuilder()
|
|
45
46
|
|
|
47
|
+
# Parameters builder
|
|
48
|
+
self._params_builder = ClientDHCoreParametersBuilder()
|
|
49
|
+
|
|
46
50
|
# Error parser
|
|
47
51
|
self._error_parser = ErrorParser()
|
|
48
52
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import os
|
|
3
4
|
import typing
|
|
4
5
|
from warnings import warn
|
|
5
6
|
|
|
@@ -8,6 +9,8 @@ from requests import request
|
|
|
8
9
|
from digitalhub.client.dhcore.enums import AuthType, DhcoreEnvVar
|
|
9
10
|
from digitalhub.client.dhcore.models import BasicAuth, OAuth2TokenAuth
|
|
10
11
|
from digitalhub.configurator.configurator import configurator
|
|
12
|
+
from digitalhub.stores.s3.enums import S3StoreEnv
|
|
13
|
+
from digitalhub.stores.sql.enums import SqlStoreEnv
|
|
11
14
|
from digitalhub.utils.exceptions import ClientError
|
|
12
15
|
from digitalhub.utils.uri_utils import has_remote_scheme
|
|
13
16
|
|
|
@@ -118,7 +121,7 @@ class ClientDHCoreConfigurator:
|
|
|
118
121
|
The url.
|
|
119
122
|
"""
|
|
120
123
|
api = api.removeprefix("/")
|
|
121
|
-
return f"{configurator.
|
|
124
|
+
return f"{configurator.get_credential(DhcoreEnvVar.ENDPOINT.value)}/{api}"
|
|
122
125
|
|
|
123
126
|
##############################
|
|
124
127
|
# Private methods
|
|
@@ -193,7 +196,7 @@ class ClientDHCoreConfigurator:
|
|
|
193
196
|
-------
|
|
194
197
|
bool
|
|
195
198
|
"""
|
|
196
|
-
auth_type = configurator.
|
|
199
|
+
auth_type = configurator.get_credential(AUTH_KEY)
|
|
197
200
|
return auth_type == AuthType.BASIC.value
|
|
198
201
|
|
|
199
202
|
def oauth2_auth(self) -> bool:
|
|
@@ -204,7 +207,7 @@ class ClientDHCoreConfigurator:
|
|
|
204
207
|
-------
|
|
205
208
|
bool
|
|
206
209
|
"""
|
|
207
|
-
auth_type = configurator.
|
|
210
|
+
auth_type = configurator.get_credential(AUTH_KEY)
|
|
208
211
|
return auth_type == AuthType.OAUTH2.value
|
|
209
212
|
|
|
210
213
|
def set_request_auth(self, kwargs: dict) -> dict:
|
|
@@ -221,7 +224,7 @@ class ClientDHCoreConfigurator:
|
|
|
221
224
|
dict
|
|
222
225
|
Authentication header.
|
|
223
226
|
"""
|
|
224
|
-
creds = configurator.
|
|
227
|
+
creds = configurator.get_all_credentials()
|
|
225
228
|
if AUTH_KEY not in creds:
|
|
226
229
|
return kwargs
|
|
227
230
|
if self.basic_auth():
|
|
@@ -264,6 +267,20 @@ class ClientDHCoreConfigurator:
|
|
|
264
267
|
configurator.set_credential(DhcoreEnvVar.ACCESS_TOKEN.value, dict_response["access_token"])
|
|
265
268
|
configurator.set_credential(DhcoreEnvVar.REFRESH_TOKEN.value, dict_response["refresh_token"])
|
|
266
269
|
|
|
270
|
+
# Set new credential in stores
|
|
271
|
+
if (access_key := dict_response.get("aws_access_key_id")) is not None:
|
|
272
|
+
configurator.set_credential(S3StoreEnv.ACCESS_KEY_ID.value, access_key)
|
|
273
|
+
os.environ[S3StoreEnv.ACCESS_KEY_ID.value] = access_key
|
|
274
|
+
if (secret_key := dict_response.get("aws_secret_access_key")) is not None:
|
|
275
|
+
configurator.set_credential(S3StoreEnv.SECRET_ACCESS_KEY.value,secret_key )
|
|
276
|
+
os.environ[S3StoreEnv.SECRET_ACCESS_KEY.value] = secret_key
|
|
277
|
+
if (db_username := dict_response.get("db_username")) is not None:
|
|
278
|
+
configurator.set_credential(SqlStoreEnv.USERNAME.value, db_username)
|
|
279
|
+
os.environ[SqlStoreEnv.USERNAME.value] = db_username
|
|
280
|
+
if (db_password := dict_response.get("db_password")) is not None:
|
|
281
|
+
configurator.set_credential(SqlStoreEnv.PASSWORD.value, db_password)
|
|
282
|
+
os.environ[SqlStoreEnv.PASSWORD.value] = db_password
|
|
283
|
+
|
|
267
284
|
# Propagate new access token to config file
|
|
268
285
|
self._write_env()
|
|
269
286
|
|
|
@@ -280,6 +297,10 @@ class ClientDHCoreConfigurator:
|
|
|
280
297
|
[
|
|
281
298
|
DhcoreEnvVar.ACCESS_TOKEN.value,
|
|
282
299
|
DhcoreEnvVar.REFRESH_TOKEN.value,
|
|
300
|
+
S3StoreEnv.ACCESS_KEY_ID.value,
|
|
301
|
+
S3StoreEnv.SECRET_ACCESS_KEY.value,
|
|
302
|
+
SqlStoreEnv.USERNAME.value,
|
|
303
|
+
SqlStoreEnv.PASSWORD.value
|
|
283
304
|
]
|
|
284
305
|
)
|
|
285
306
|
|
|
@@ -334,6 +355,7 @@ class ClientDHCoreConfigurator:
|
|
|
334
355
|
"grant_type": "refresh_token",
|
|
335
356
|
"client_id": client_id,
|
|
336
357
|
"refresh_token": refresh_token,
|
|
358
|
+
"scope": "openid credentials offline_access",
|
|
337
359
|
}
|
|
338
360
|
headers = {"Content-Type": "application/x-www-form-urlencoded"}
|
|
339
361
|
return request("POST", url, data=payload, headers=headers, timeout=60)
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub.client._base.params_builder import ClientParametersBuilder
|
|
4
|
+
from digitalhub.entities._commons.enums import ApiCategories, BackendOperations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class ClientDHCoreParametersBuilder(ClientParametersBuilder):
|
|
8
|
+
"""
|
|
9
|
+
This class is used to build the parameters for the DHCore client calls.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def build_parameters(self, category: str, operation: str, **kwargs) -> dict:
|
|
13
|
+
"""
|
|
14
|
+
Build the parameters for the client call.
|
|
15
|
+
|
|
16
|
+
Parameters
|
|
17
|
+
----------
|
|
18
|
+
category : str
|
|
19
|
+
API category.
|
|
20
|
+
operation : str
|
|
21
|
+
API operation.
|
|
22
|
+
**kwargs : dict
|
|
23
|
+
Parameters to build.
|
|
24
|
+
|
|
25
|
+
Returns
|
|
26
|
+
-------
|
|
27
|
+
dict
|
|
28
|
+
Parameters formatted.
|
|
29
|
+
"""
|
|
30
|
+
if category == ApiCategories.BASE.value:
|
|
31
|
+
return self.build_parameters_base(operation, **kwargs)
|
|
32
|
+
return self.build_parameters_context(operation, **kwargs)
|
|
33
|
+
|
|
34
|
+
def build_parameters_base(self, operation: str, **kwargs) -> dict:
|
|
35
|
+
"""
|
|
36
|
+
Build the base parameters for the client call.
|
|
37
|
+
|
|
38
|
+
Parameters
|
|
39
|
+
----------
|
|
40
|
+
operation : str
|
|
41
|
+
API operation.
|
|
42
|
+
**kwargs : dict
|
|
43
|
+
Parameters to build.
|
|
44
|
+
|
|
45
|
+
Returns
|
|
46
|
+
-------
|
|
47
|
+
dict
|
|
48
|
+
Parameters formatted.
|
|
49
|
+
"""
|
|
50
|
+
kwargs = self._set_params(**kwargs)
|
|
51
|
+
if operation == BackendOperations.DELETE.value:
|
|
52
|
+
if (cascade := kwargs.pop("cascade", None)) is not None:
|
|
53
|
+
kwargs["params"]["cascade"] = str(cascade).lower()
|
|
54
|
+
elif operation == BackendOperations.SHARE.value:
|
|
55
|
+
kwargs["params"]["user"] = kwargs.pop("user")
|
|
56
|
+
if kwargs.pop("unshare", False):
|
|
57
|
+
kwargs["params"]["id"] = kwargs.pop("id")
|
|
58
|
+
|
|
59
|
+
return kwargs
|
|
60
|
+
|
|
61
|
+
def build_parameters_context(self, operation: str, **kwargs) -> dict:
|
|
62
|
+
"""
|
|
63
|
+
Build the context parameters for the client call.
|
|
64
|
+
|
|
65
|
+
Parameters
|
|
66
|
+
----------
|
|
67
|
+
operation : str
|
|
68
|
+
API operation.
|
|
69
|
+
**kwargs : dict
|
|
70
|
+
Parameters to build.
|
|
71
|
+
|
|
72
|
+
Returns
|
|
73
|
+
-------
|
|
74
|
+
dict
|
|
75
|
+
Parameters formatted.
|
|
76
|
+
"""
|
|
77
|
+
kwargs = self._set_params(**kwargs)
|
|
78
|
+
|
|
79
|
+
# Handle read
|
|
80
|
+
if operation == BackendOperations.READ_ALL_VERSIONS.value:
|
|
81
|
+
kwargs["params"]["versions"] = "all"
|
|
82
|
+
kwargs["params"]["name"] = kwargs.pop("entity_name")
|
|
83
|
+
# Handle delete
|
|
84
|
+
elif operation == BackendOperations.DELETE.value:
|
|
85
|
+
# Handle cascade
|
|
86
|
+
if (cascade := kwargs.pop("cascade", None)) is not None:
|
|
87
|
+
kwargs["params"]["cascade"] = str(cascade).lower()
|
|
88
|
+
|
|
89
|
+
# Handle delete all versions
|
|
90
|
+
entity_id = kwargs.pop("entity_id")
|
|
91
|
+
entity_name = kwargs.pop("entity_name")
|
|
92
|
+
if not kwargs.pop("delete_all_versions", False):
|
|
93
|
+
if entity_id is None:
|
|
94
|
+
raise ValueError(
|
|
95
|
+
"If `delete_all_versions` is False, `entity_id` must be provided,"
|
|
96
|
+
" either as an argument or in key `identifier`.",
|
|
97
|
+
)
|
|
98
|
+
else:
|
|
99
|
+
kwargs["params"]["name"] = entity_name
|
|
100
|
+
# Handle search
|
|
101
|
+
elif operation == BackendOperations.SEARCH.value:
|
|
102
|
+
# Handle fq
|
|
103
|
+
if (fq := kwargs.pop("fq", None)) is not None:
|
|
104
|
+
kwargs["params"]["fq"] = fq
|
|
105
|
+
|
|
106
|
+
# Add search query
|
|
107
|
+
if (query := kwargs.pop("query", None)) is not None:
|
|
108
|
+
kwargs["params"]["q"] = query
|
|
109
|
+
|
|
110
|
+
# Add search filters
|
|
111
|
+
fq = []
|
|
112
|
+
|
|
113
|
+
# Entity types
|
|
114
|
+
if (entity_types := kwargs.pop("entity_types", None)) is not None:
|
|
115
|
+
if not isinstance(entity_types, list):
|
|
116
|
+
entity_types = [entity_types]
|
|
117
|
+
if len(entity_types) == 1:
|
|
118
|
+
entity_types = entity_types[0]
|
|
119
|
+
else:
|
|
120
|
+
entity_types = " OR ".join(entity_types)
|
|
121
|
+
fq.append(f"type:({entity_types})")
|
|
122
|
+
|
|
123
|
+
# Name
|
|
124
|
+
if (name := kwargs.pop("name", None)) is not None:
|
|
125
|
+
fq.append(f'metadata.name:"{name}"')
|
|
126
|
+
|
|
127
|
+
# Kind
|
|
128
|
+
if (kind := kwargs.pop("kind", None)) is not None:
|
|
129
|
+
fq.append(f'kind:"{kind}"')
|
|
130
|
+
|
|
131
|
+
# Time
|
|
132
|
+
created = kwargs.pop("created", None)
|
|
133
|
+
updated = kwargs.pop("updated", None)
|
|
134
|
+
created = created if created is not None else "*"
|
|
135
|
+
updated = updated if updated is not None else "*"
|
|
136
|
+
fq.append(f"metadata.updated:[{created} TO {updated}]")
|
|
137
|
+
|
|
138
|
+
# Description
|
|
139
|
+
if (description := kwargs.pop("description", None)) is not None:
|
|
140
|
+
fq.append(f'metadata.description:"{description}"')
|
|
141
|
+
|
|
142
|
+
# Labels
|
|
143
|
+
if (labels := kwargs.pop("labels", None)) is not None:
|
|
144
|
+
if len(labels) == 1:
|
|
145
|
+
labels = labels[0]
|
|
146
|
+
else:
|
|
147
|
+
labels = " AND ".join(labels)
|
|
148
|
+
fq.append(f"metadata.labels:({labels})")
|
|
149
|
+
|
|
150
|
+
# Add filters
|
|
151
|
+
kwargs["params"]["fq"] = fq
|
|
152
|
+
|
|
153
|
+
return kwargs
|
|
154
|
+
|
|
155
|
+
@staticmethod
|
|
156
|
+
def _set_params(**kwargs) -> dict:
|
|
157
|
+
"""
|
|
158
|
+
Format params parameter.
|
|
159
|
+
|
|
160
|
+
Parameters
|
|
161
|
+
----------
|
|
162
|
+
**kwargs : dict
|
|
163
|
+
Keyword arguments.
|
|
164
|
+
|
|
165
|
+
Returns
|
|
166
|
+
-------
|
|
167
|
+
dict
|
|
168
|
+
Parameters with initialized params.
|
|
169
|
+
"""
|
|
170
|
+
if not kwargs:
|
|
171
|
+
kwargs = {}
|
|
172
|
+
if "params" not in kwargs:
|
|
173
|
+
kwargs["params"] = {}
|
|
174
|
+
return kwargs
|
|
@@ -70,7 +70,10 @@ class ClientLocalApiBuilder(ClientApiBuilder):
|
|
|
70
70
|
"""
|
|
71
71
|
Build the context API for the client.
|
|
72
72
|
"""
|
|
73
|
-
|
|
73
|
+
try:
|
|
74
|
+
entity_type = kwargs["entity_type"] + "s"
|
|
75
|
+
except KeyError:
|
|
76
|
+
pass
|
|
74
77
|
project = kwargs["project"]
|
|
75
78
|
if operation in (
|
|
76
79
|
BackendOperations.CREATE.value,
|
|
@@ -8,6 +8,7 @@ from digitalhub.client._base.client import Client
|
|
|
8
8
|
from digitalhub.client.local.api_builder import ClientLocalApiBuilder
|
|
9
9
|
from digitalhub.client.local.enums import LocalClientVar
|
|
10
10
|
from digitalhub.client.local.key_builder import ClientLocalKeyBuilder
|
|
11
|
+
from digitalhub.client.local.params_builder import ClientLocalParametersBuilder
|
|
11
12
|
from digitalhub.utils.exceptions import BackendError
|
|
12
13
|
|
|
13
14
|
|
|
@@ -28,6 +29,7 @@ class ClientLocal(Client):
|
|
|
28
29
|
super().__init__()
|
|
29
30
|
self._api_builder = ClientLocalApiBuilder()
|
|
30
31
|
self._key_builder = ClientLocalKeyBuilder()
|
|
32
|
+
self._params_builder = ClientLocalParametersBuilder()
|
|
31
33
|
self._db: dict[str, dict[str, dict]] = {}
|
|
32
34
|
|
|
33
35
|
##############################
|
|
@@ -50,6 +52,8 @@ class ClientLocal(Client):
|
|
|
50
52
|
dict
|
|
51
53
|
The created object.
|
|
52
54
|
"""
|
|
55
|
+
if api == LocalClientVar.EMPTY.value:
|
|
56
|
+
return {}
|
|
53
57
|
if not isinstance(obj, dict):
|
|
54
58
|
raise TypeError("Object must be a dictionary")
|
|
55
59
|
|
|
@@ -178,6 +182,8 @@ class ClientLocal(Client):
|
|
|
178
182
|
dict
|
|
179
183
|
The updated object.
|
|
180
184
|
"""
|
|
185
|
+
if api == LocalClientVar.EMPTY.value:
|
|
186
|
+
return {}
|
|
181
187
|
if not isinstance(obj, dict):
|
|
182
188
|
raise TypeError("Object must be a dictionary")
|
|
183
189
|
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from digitalhub.client._base.params_builder import ClientParametersBuilder
|
|
4
|
+
from digitalhub.entities._commons.enums import ApiCategories, BackendOperations
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class ClientLocalParametersBuilder(ClientParametersBuilder):
|
|
8
|
+
"""
|
|
9
|
+
This class is used to build the parameters for the Local client calls.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def build_parameters(self, category: str, operation: str, **kwargs) -> dict:
|
|
13
|
+
"""
|
|
14
|
+
Build the parameters for the client call.
|
|
15
|
+
|
|
16
|
+
Parameters
|
|
17
|
+
----------
|
|
18
|
+
category : str
|
|
19
|
+
API category.
|
|
20
|
+
operation : str
|
|
21
|
+
API operation.
|
|
22
|
+
**kwargs : dict
|
|
23
|
+
Parameters to build.
|
|
24
|
+
|
|
25
|
+
Returns
|
|
26
|
+
-------
|
|
27
|
+
dict
|
|
28
|
+
Parameters formatted.
|
|
29
|
+
"""
|
|
30
|
+
if category == ApiCategories.BASE.value:
|
|
31
|
+
return self.build_parameters_base(operation, **kwargs)
|
|
32
|
+
return self.build_parameters_context(operation, **kwargs)
|
|
33
|
+
|
|
34
|
+
def build_parameters_base(self, operation: str, **kwargs) -> dict:
|
|
35
|
+
"""
|
|
36
|
+
Build the base parameters for the client call.
|
|
37
|
+
|
|
38
|
+
Parameters
|
|
39
|
+
----------
|
|
40
|
+
operation : str
|
|
41
|
+
API operation.
|
|
42
|
+
**kwargs : dict
|
|
43
|
+
Parameters to build.
|
|
44
|
+
|
|
45
|
+
Returns
|
|
46
|
+
-------
|
|
47
|
+
dict
|
|
48
|
+
Parameters formatted.
|
|
49
|
+
"""
|
|
50
|
+
kwargs = self._set_params(**kwargs)
|
|
51
|
+
if operation == BackendOperations.DELETE.value:
|
|
52
|
+
if (cascade := kwargs.pop("cascade", None)) is not None:
|
|
53
|
+
kwargs["params"]["cascade"] = str(cascade).lower()
|
|
54
|
+
return kwargs
|
|
55
|
+
|
|
56
|
+
def build_parameters_context(self, operation: str, **kwargs) -> dict:
|
|
57
|
+
"""
|
|
58
|
+
Build the context parameters for the client call.
|
|
59
|
+
|
|
60
|
+
Parameters
|
|
61
|
+
----------
|
|
62
|
+
operation : str
|
|
63
|
+
API operation.
|
|
64
|
+
**kwargs : dict
|
|
65
|
+
Parameters to build.
|
|
66
|
+
|
|
67
|
+
Returns
|
|
68
|
+
-------
|
|
69
|
+
dict
|
|
70
|
+
Parameters formatted.
|
|
71
|
+
"""
|
|
72
|
+
kwargs = self._set_params(**kwargs)
|
|
73
|
+
|
|
74
|
+
# Handle read
|
|
75
|
+
if operation == BackendOperations.READ_ALL_VERSIONS.value:
|
|
76
|
+
kwargs["params"]["versions"] = "all"
|
|
77
|
+
kwargs["params"]["name"] = kwargs.pop("entity_name")
|
|
78
|
+
# Handle delete
|
|
79
|
+
elif operation == BackendOperations.DELETE.value:
|
|
80
|
+
# Handle cascade
|
|
81
|
+
if cascade := kwargs.pop("cascade", None) is not None:
|
|
82
|
+
kwargs["params"]["cascade"] = str(cascade).lower()
|
|
83
|
+
|
|
84
|
+
# Handle delete all versions
|
|
85
|
+
entity_id = kwargs.pop("entity_id")
|
|
86
|
+
entity_name = kwargs.pop("entity_name")
|
|
87
|
+
if not kwargs.pop("delete_all_versions", False):
|
|
88
|
+
if entity_id is None:
|
|
89
|
+
raise ValueError(
|
|
90
|
+
"If `delete_all_versions` is False, `entity_id` must be provided,"
|
|
91
|
+
" either as an argument or in key `identifier`.",
|
|
92
|
+
)
|
|
93
|
+
else:
|
|
94
|
+
kwargs["params"]["name"] = entity_name
|
|
95
|
+
return kwargs
|
|
96
|
+
|
|
97
|
+
@staticmethod
|
|
98
|
+
def _set_params(**kwargs) -> dict:
|
|
99
|
+
"""
|
|
100
|
+
Format params parameter.
|
|
101
|
+
|
|
102
|
+
Parameters
|
|
103
|
+
----------
|
|
104
|
+
**kwargs : dict
|
|
105
|
+
Keyword arguments.
|
|
106
|
+
|
|
107
|
+
Returns
|
|
108
|
+
-------
|
|
109
|
+
dict
|
|
110
|
+
Parameters with initialized params.
|
|
111
|
+
"""
|
|
112
|
+
if not kwargs:
|
|
113
|
+
kwargs = {}
|
|
114
|
+
if "params" not in kwargs:
|
|
115
|
+
kwargs["params"] = {}
|
|
116
|
+
return kwargs
|
|
@@ -66,7 +66,7 @@ class EnvConfigurator:
|
|
|
66
66
|
str | None
|
|
67
67
|
Environment variable value.
|
|
68
68
|
"""
|
|
69
|
-
var = self.
|
|
69
|
+
var = self.get_credential(var_name)
|
|
70
70
|
if var is None:
|
|
71
71
|
var = self.load_from_env(var_name)
|
|
72
72
|
if var is None:
|
|
@@ -123,7 +123,7 @@ class EnvConfigurator:
|
|
|
123
123
|
"""
|
|
124
124
|
if key_to_include is None:
|
|
125
125
|
key_to_include = []
|
|
126
|
-
creds = self.
|
|
126
|
+
creds = self.get_credential_list(key_to_include)
|
|
127
127
|
write_config(creds, self._environment)
|
|
128
128
|
|
|
129
129
|
##############################
|
|
@@ -147,9 +147,9 @@ class EnvConfigurator:
|
|
|
147
147
|
"""
|
|
148
148
|
self._creds_store.set(self._environment, key, value)
|
|
149
149
|
|
|
150
|
-
def
|
|
150
|
+
def get_credential(self, key: str) -> dict:
|
|
151
151
|
"""
|
|
152
|
-
Get
|
|
152
|
+
Get single credential value from key.
|
|
153
153
|
|
|
154
154
|
Parameters
|
|
155
155
|
----------
|
|
@@ -159,13 +159,13 @@ class EnvConfigurator:
|
|
|
159
159
|
Returns
|
|
160
160
|
-------
|
|
161
161
|
dict
|
|
162
|
-
The
|
|
162
|
+
The credential.
|
|
163
163
|
"""
|
|
164
164
|
return self._creds_store.get(self._environment, key)
|
|
165
165
|
|
|
166
|
-
def
|
|
166
|
+
def get_all_credentials(self) -> dict:
|
|
167
167
|
"""
|
|
168
|
-
Get all the credentials.
|
|
168
|
+
Get all the credentials from the current credentials set.
|
|
169
169
|
|
|
170
170
|
Returns
|
|
171
171
|
-------
|
|
@@ -174,7 +174,7 @@ class EnvConfigurator:
|
|
|
174
174
|
"""
|
|
175
175
|
return self._creds_store.get_all(self._environment)
|
|
176
176
|
|
|
177
|
-
def
|
|
177
|
+
def get_credential_list(self, keys: list[str]) -> list[str]:
|
|
178
178
|
"""
|
|
179
179
|
Get the list of credentials.
|
|
180
180
|
|
|
@@ -188,7 +188,8 @@ class EnvConfigurator:
|
|
|
188
188
|
list[str]
|
|
189
189
|
The list of credentials.
|
|
190
190
|
"""
|
|
191
|
-
return {k: v for k, v in self.
|
|
191
|
+
return {k: v for k, v in self.get_all_credentials().items() if k in keys}
|
|
192
192
|
|
|
193
193
|
|
|
194
|
+
# Define global configurator
|
|
194
195
|
configurator = EnvConfigurator()
|
|
@@ -4,7 +4,7 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
from digitalhub.context.api import get_context
|
|
6
6
|
from digitalhub.entities._base.entity.entity import Entity
|
|
7
|
-
from digitalhub.entities.
|
|
7
|
+
from digitalhub.entities._processors.context import context_processor
|
|
8
8
|
from digitalhub.utils.generic_utils import get_timestamp
|
|
9
9
|
from digitalhub.utils.io_utils import write_yaml
|
|
10
10
|
|
|
@@ -64,7 +64,7 @@ class ContextEntity(Entity):
|
|
|
64
64
|
ContextEntity
|
|
65
65
|
Entity saved.
|
|
66
66
|
"""
|
|
67
|
-
new_obj =
|
|
67
|
+
new_obj = context_processor.create_context_entity(_entity=self)
|
|
68
68
|
self._update_attributes(new_obj)
|
|
69
69
|
return self
|
|
70
70
|
|
|
@@ -79,7 +79,7 @@ class ContextEntity(Entity):
|
|
|
79
79
|
"""
|
|
80
80
|
if self._context().local:
|
|
81
81
|
self.metadata.updated = self.metadata.updated = get_timestamp()
|
|
82
|
-
new_obj =
|
|
82
|
+
new_obj = context_processor.update_context_entity(self.project, self.ENTITY_TYPE, self.id, self.to_dict())
|
|
83
83
|
self._update_attributes(new_obj)
|
|
84
84
|
return self
|
|
85
85
|
|
|
@@ -106,7 +106,7 @@ class ContextEntity(Entity):
|
|
|
106
106
|
ContextEntity
|
|
107
107
|
Entity refreshed.
|
|
108
108
|
"""
|
|
109
|
-
new_obj =
|
|
109
|
+
new_obj = context_processor.read_context_entity(self.key)
|
|
110
110
|
self._update_attributes(new_obj)
|
|
111
111
|
return self
|
|
112
112
|
|
|
@@ -4,7 +4,7 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
from digitalhub.entities._base.versioned.entity import VersionedEntity
|
|
6
6
|
from digitalhub.entities._commons.enums import EntityTypes
|
|
7
|
-
from digitalhub.entities.
|
|
7
|
+
from digitalhub.entities._processors.context import context_processor
|
|
8
8
|
from digitalhub.entities.run.crud import delete_run, get_run, list_runs
|
|
9
9
|
from digitalhub.entities.task.crud import delete_task
|
|
10
10
|
from digitalhub.factory.api import build_entity_from_dict, build_entity_from_params
|
|
@@ -247,7 +247,7 @@ class ExecutableEntity(VersionedEntity):
|
|
|
247
247
|
Response from backend.
|
|
248
248
|
"""
|
|
249
249
|
params = {self.ENTITY_TYPE: self._get_executable_string(), "kind": kind}
|
|
250
|
-
return
|
|
250
|
+
return context_processor.list_context_entities(self.project, EntityTypes.TASK.value, params=params)
|
|
251
251
|
|
|
252
252
|
def _check_task_in_backend(self, kind: str) -> bool:
|
|
253
253
|
"""
|