digitalhub 0.9.2__tar.gz → 0.10.0__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.0/.github/scripts/bump.sh +40 -0
- digitalhub-0.10.0/.github/scripts/changelog.sh +7 -0
- digitalhub-0.10.0/.github/scripts/cliff.toml +78 -0
- digitalhub-0.10.0/.github/workflows/release.yml +146 -0
- digitalhub-0.10.0/.github/workflows/run_local_test.yml +42 -0
- digitalhub-0.10.0/.github/workflows/test_release.yml +85 -0
- digitalhub-0.10.0/.gitignore +167 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/PKG-INFO +25 -31
- digitalhub-0.10.0/README.md +5 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/__init__.py +2 -3
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/_base/api_builder.py +1 -1
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/_base/client.py +25 -2
- digitalhub-0.10.0/digitalhub/client/_base/params_builder.py +16 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/dhcore/api_builder.py +9 -3
- digitalhub-0.10.0/digitalhub/client/dhcore/client.py +353 -0
- digitalhub-0.10.0/digitalhub/client/dhcore/configurator.py +361 -0
- digitalhub-0.10.0/digitalhub/client/dhcore/error_parser.py +107 -0
- digitalhub-0.10.0/digitalhub/client/dhcore/models.py +36 -0
- digitalhub-0.10.0/digitalhub/client/dhcore/params_builder.py +178 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/dhcore/utils.py +4 -44
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/local/api_builder.py +13 -18
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/local/client.py +18 -2
- digitalhub-0.10.0/digitalhub/client/local/enums.py +11 -0
- digitalhub-0.10.0/digitalhub/client/local/params_builder.py +116 -0
- digitalhub-0.10.0/digitalhub/configurator/api.py +31 -0
- digitalhub-0.10.0/digitalhub/configurator/configurator.py +195 -0
- digitalhub-0.10.0/digitalhub/configurator/credentials_store.py +65 -0
- digitalhub-0.10.0/digitalhub/configurator/ini_module.py +74 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/_base/entity.py +2 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/context/entity.py +4 -4
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/entity/builder.py +5 -5
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/executable/entity.py +2 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/material/entity.py +12 -12
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/material/status.py +1 -1
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/material/utils.py +2 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/unversioned/entity.py +2 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/versioned/entity.py +2 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_commons/enums.py +2 -0
- digitalhub-0.10.0/digitalhub/entities/_commons/metrics.py +164 -0
- digitalhub-0.10.0/digitalhub/entities/_commons/types.py +5 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_commons/utils.py +2 -2
- digitalhub-0.10.0/digitalhub/entities/_processors/base.py +527 -0
- digitalhub-0.9.2/digitalhub/entities/_operations/processor.py → digitalhub-0.10.0/digitalhub/entities/_processors/context.py +212 -837
- digitalhub-0.10.0/digitalhub/entities/_processors/utils.py +158 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/artifact/spec.py +3 -1
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/crud.py +13 -12
- {digitalhub-0.9.2/digitalhub/entities/model → digitalhub-0.10.0/digitalhub/entities/artifact}/utils.py +1 -1
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/builders.py +6 -18
- {digitalhub-0.9.2/digitalhub/entities/model → digitalhub-0.10.0/digitalhub/entities/dataitem}/_base/entity.py +9 -9
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/crud.py +27 -15
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/table/entity.py +49 -35
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/table/models.py +4 -3
- digitalhub-0.9.2/digitalhub/utils/data_utils.py → digitalhub-0.10.0/digitalhub/entities/dataitem/table/utils.py +46 -54
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/utils.py +58 -10
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/function/crud.py +9 -9
- digitalhub-0.10.0/digitalhub/entities/model/_base/entity.py +154 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/_base/spec.py +6 -17
- digitalhub-0.10.0/digitalhub/entities/model/_base/status.py +19 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/crud.py +13 -12
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/huggingface/spec.py +9 -4
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/mlflow/models.py +2 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/mlflow/spec.py +7 -7
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/mlflow/utils.py +44 -5
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/project/_base/entity.py +317 -9
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/project/_base/spec.py +8 -6
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/project/crud.py +12 -11
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/run/_base/entity.py +103 -6
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/run/_base/spec.py +4 -2
- digitalhub-0.10.0/digitalhub/entities/run/_base/status.py +21 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/run/crud.py +8 -8
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/secret/_base/entity.py +3 -3
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/secret/_base/spec.py +4 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/secret/crud.py +11 -9
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/task/_base/entity.py +4 -4
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/task/_base/models.py +51 -40
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/task/_base/spec.py +2 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/task/_base/utils.py +2 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/task/crud.py +12 -8
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/workflow/crud.py +9 -9
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/factory/utils.py +9 -9
- {digitalhub-0.9.2/digitalhub/readers → digitalhub-0.10.0/digitalhub/readers/data}/_base/builder.py +1 -1
- {digitalhub-0.9.2/digitalhub/readers → digitalhub-0.10.0/digitalhub/readers/data}/_base/reader.py +16 -4
- {digitalhub-0.9.2/digitalhub/readers → digitalhub-0.10.0/digitalhub/readers/data}/api.py +2 -2
- {digitalhub-0.9.2/digitalhub/readers → digitalhub-0.10.0/digitalhub/readers/data}/factory.py +3 -3
- {digitalhub-0.9.2/digitalhub/readers → digitalhub-0.10.0/digitalhub/readers/data}/pandas/builder.py +2 -2
- {digitalhub-0.9.2/digitalhub/readers → digitalhub-0.10.0/digitalhub/readers/data}/pandas/reader.py +110 -30
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/stores/_base/store.py +59 -69
- digitalhub-0.10.0/digitalhub/stores/api.py +29 -0
- digitalhub-0.10.0/digitalhub/stores/builder.py +94 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/stores/local/store.py +106 -89
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/stores/remote/store.py +86 -11
- digitalhub-0.10.0/digitalhub/stores/s3/configurator.py +108 -0
- digitalhub-0.10.0/digitalhub/stores/s3/enums.py +17 -0
- digitalhub-0.10.0/digitalhub/stores/s3/models.py +21 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/stores/s3/store.py +154 -70
- digitalhub-0.9.2/digitalhub/utils/s3_utils.py → digitalhub-0.10.0/digitalhub/stores/s3/utils.py +7 -3
- digitalhub-0.10.0/digitalhub/stores/sql/configurator.py +88 -0
- digitalhub-0.10.0/digitalhub/stores/sql/enums.py +16 -0
- digitalhub-0.10.0/digitalhub/stores/sql/models.py +24 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/stores/sql/store.py +106 -85
- digitalhub-0.10.0/digitalhub/utils/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/readers/_commons → digitalhub-0.10.0/digitalhub/utils}/enums.py +5 -1
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/utils/exceptions.py +6 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/utils/file_utils.py +8 -7
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/utils/generic_utils.py +28 -15
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/utils/git_utils.py +16 -9
- digitalhub-0.10.0/digitalhub/utils/types.py +5 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/utils/uri_utils.py +2 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/pyproject.toml +11 -19
- digitalhub-0.10.0/scripts/README.md +3 -0
- digitalhub-0.10.0/scripts/local-copy/README.md +5 -0
- digitalhub-0.10.0/scripts/local-copy/local_copy.sh +14 -0
- digitalhub-0.10.0/scripts/quick-docker-copy/DBT.dockerfile +13 -0
- digitalhub-0.10.0/scripts/quick-docker-copy/KFP.dockerfile +18 -0
- digitalhub-0.10.0/scripts/quick-docker-copy/PY10.dockerfile +11 -0
- digitalhub-0.10.0/scripts/quick-docker-copy/PY11.dockerfile +11 -0
- digitalhub-0.10.0/scripts/quick-docker-copy/PY9.dockerfile +11 -0
- digitalhub-0.10.0/scripts/quick-docker-copy/README.md +29 -0
- digitalhub-0.10.0/scripts/quick-docker-copy/build_containers.sh +6 -0
- digitalhub-0.10.0/scripts/spec_exporter/README.md +39 -0
- digitalhub-0.10.0/scripts/spec_exporter/exporter.sh +23 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/test/local/imports/test_imports.py +0 -1
- digitalhub-0.10.0/test/local/instances/entities/artifact/artifact-http.json +25 -0
- digitalhub-0.10.0/test/local/instances/entities/artifact/artifact-local.json +26 -0
- digitalhub-0.10.0/test/local/instances/entities/artifact/artifact-s3.json +26 -0
- digitalhub-0.10.0/test/local/instances/entities/artifact/artifact-sql.json +25 -0
- digitalhub-0.10.0/test/local/instances/entities/dataitem/dataitem-table.json +37 -0
- digitalhub-0.10.0/test/local/instances/entities/dataitem/dataitem.json +25 -0
- digitalhub-0.10.0/test/local/instances/entities/model/model-huggingface.json +36 -0
- digitalhub-0.10.0/test/local/instances/entities/model/model-mlflow.json +167 -0
- digitalhub-0.10.0/test/local/instances/entities/model/model-sklearn.json +34 -0
- digitalhub-0.10.0/test/local/instances/entities/model/model.json +27 -0
- digitalhub-0.10.0/test/local/instances/entities/project.json +255 -0
- digitalhub-0.10.0/test/local/instances/entities/secret.json +24 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/test/local/instances/test_validate.py +10 -6
- {digitalhub-0.9.2 → digitalhub-0.10.0}/test/test_crud_functions.py +1 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/test/test_crud_runs.py +1 -2
- {digitalhub-0.9.2 → digitalhub-0.10.0}/test/test_crud_tasks.py +1 -2
- digitalhub-0.9.2/README.md +0 -6
- digitalhub-0.9.2/digitalhub/client/dhcore/client.py +0 -721
- digitalhub-0.9.2/digitalhub/client/dhcore/env.py +0 -23
- digitalhub-0.9.2/digitalhub/client/dhcore/models.py +0 -46
- digitalhub-0.9.2/digitalhub/entities/_base/project/entity.py +0 -341
- digitalhub-0.9.2/digitalhub/entities/dataitem/_base/entity.py +0 -75
- digitalhub-0.9.2/digitalhub/entities/model/_base/status.py +0 -9
- digitalhub-0.9.2/digitalhub/entities/run/_base/status.py +0 -9
- digitalhub-0.9.2/digitalhub/stores/api.py +0 -54
- digitalhub-0.9.2/digitalhub/stores/builder.py +0 -211
- digitalhub-0.9.2/digitalhub.egg-info/PKG-INFO +0 -266
- digitalhub-0.9.2/digitalhub.egg-info/SOURCES.txt +0 -236
- digitalhub-0.9.2/digitalhub.egg-info/dependency_links.txt +0 -1
- digitalhub-0.9.2/digitalhub.egg-info/requires.txt +0 -33
- digitalhub-0.9.2/digitalhub.egg-info/top_level.txt +0 -4
- digitalhub-0.9.2/setup.cfg +0 -4
- {digitalhub-0.9.2 → digitalhub-0.10.0}/LICENSE.txt +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/_base/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/_base/key_builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/api.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/dhcore/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/dhcore/enums.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/dhcore/key_builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/local/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/client/local/key_builder.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities → digitalhub-0.10.0/digitalhub/configurator}/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/context/api.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/context/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/context/context.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities/_base → digitalhub-0.10.0/digitalhub/entities}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities/_base → digitalhub-0.10.0/digitalhub/entities}/_base/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities/_base/context → digitalhub-0.10.0/digitalhub/entities/_base/_base}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities/_base/entity → digitalhub-0.10.0/digitalhub/entities/_base/context}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities/_base/entity/_constructors → digitalhub-0.10.0/digitalhub/entities/_base/entity}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities/_base/executable → digitalhub-0.10.0/digitalhub/entities/_base/entity/_constructors}/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/entity/_constructors/metadata.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/entity/_constructors/name.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/entity/_constructors/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/entity/_constructors/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/entity/_constructors/uuid.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/entity/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/entity/metadata.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/entity/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/entity/status.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities/_base/material → digitalhub-0.10.0/digitalhub/entities/_base/executable}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities/_base/project → digitalhub-0.10.0/digitalhub/entities/_base/material}/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/material/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/runtime_entity/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/runtime_entity/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/unversioned/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/unversioned/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/versioned/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_base/versioned/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/_commons/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities/_operations → digitalhub-0.10.0/digitalhub/entities/_processors}/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/_base/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/_base/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/_base/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/_base/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/_base/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/artifact/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/artifact/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/artifact/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/artifact/artifact/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/_base/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/_base/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/_base/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/_base/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/dataitem/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/dataitem/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/dataitem/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/dataitem/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/dataitem/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/iceberg/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/iceberg/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/iceberg/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/iceberg/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/iceberg/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/table/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/table/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/table/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/dataitem/table/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/function/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/function/_base/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/function/_base/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/function/_base/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/function/_base/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/function/_base/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/_base/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/_base/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/huggingface/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/huggingface/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/huggingface/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/huggingface/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/mlflow/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/mlflow/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/mlflow/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/mlflow/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/model/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/model/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/model/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/model/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/model/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/sklearn/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/sklearn/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/sklearn/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/sklearn/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/model/sklearn/status.py +0 -0
- {digitalhub-0.9.2/digitalhub/entities/artifact → digitalhub-0.10.0/digitalhub/entities/model}/utils.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/project/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/project/_base/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/project/_base/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/project/_base/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/project/utils.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/run/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/run/_base/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/run/_base/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/secret/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/secret/_base/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/secret/_base/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/secret/_base/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/task/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/task/_base/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/task/_base/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/task/_base/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/workflow/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/workflow/_base/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/workflow/_base/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/workflow/_base/entity.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/workflow/_base/spec.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/entities/workflow/_base/status.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/factory/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/factory/api.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/factory/factory.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/readers/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/readers/_base → digitalhub-0.10.0/digitalhub/readers/data}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/readers/_commons → digitalhub-0.10.0/digitalhub/readers/data/_base}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/readers → digitalhub-0.10.0/digitalhub/readers/data}/pandas/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/runtimes → digitalhub-0.10.0/digitalhub/readers/query}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/stores → digitalhub-0.10.0/digitalhub/runtimes}/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/runtimes/_base.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/runtimes/builder.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/runtimes/enums.py +0 -0
- {digitalhub-0.9.2/digitalhub/stores/_base → digitalhub-0.10.0/digitalhub/stores}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/stores/local → digitalhub-0.10.0/digitalhub/stores/_base}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/stores/remote → digitalhub-0.10.0/digitalhub/stores/local}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/stores/s3 → digitalhub-0.10.0/digitalhub/stores/remote}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/stores/sql → digitalhub-0.10.0/digitalhub/stores/s3}/__init__.py +0 -0
- {digitalhub-0.9.2/digitalhub/utils → digitalhub-0.10.0/digitalhub/stores/sql}/__init__.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/utils/io_utils.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/digitalhub/utils/logger.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/test/local/CRUD/test_artifacts.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/test/local/CRUD/test_dataitems.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/test/local/CRUD/test_models.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/test/testkfp.py +0 -0
- {digitalhub-0.9.2 → digitalhub-0.10.0}/test/testkfp_pipeline.py +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Extract version
|
|
2
|
+
VERSION=$(bumpver show -n --environ | grep CUR | awk '{gsub(/CURRENT_VERSION=/, ""); print}')
|
|
3
|
+
|
|
4
|
+
# Check if version include beta tag
|
|
5
|
+
if [[ $VERSION == *"b"* ]];
|
|
6
|
+
then HAS_BETA_TAG=1;
|
|
7
|
+
else HAS_BETA_TAG=0;
|
|
8
|
+
fi
|
|
9
|
+
|
|
10
|
+
# Evaluate version bumping request
|
|
11
|
+
case $1 in
|
|
12
|
+
new-beta-major|new-beta-minor|new-beta-patch)
|
|
13
|
+
rel=$(echo $1 | awk '{gsub(/new-beta-/, ""); print}')
|
|
14
|
+
if [ $HAS_BETA_TAG -eq 0 ];
|
|
15
|
+
then
|
|
16
|
+
bumpver update -n --$rel --tag=beta
|
|
17
|
+
else
|
|
18
|
+
echo "You can create a new beta from a final version! Current version: $VERSION"; exit 1;
|
|
19
|
+
fi
|
|
20
|
+
;;
|
|
21
|
+
final)
|
|
22
|
+
if [ $HAS_BETA_TAG -eq 1 ];
|
|
23
|
+
then
|
|
24
|
+
bumpver update -n --tag=final
|
|
25
|
+
else
|
|
26
|
+
echo "You can create a final version from a beta version! Current version: $VERSION"; exit 1;
|
|
27
|
+
fi
|
|
28
|
+
;;
|
|
29
|
+
upgrade-beta)
|
|
30
|
+
if [ $HAS_BETA_TAG -eq 1 ];
|
|
31
|
+
then
|
|
32
|
+
bumpver update -n --tag-num
|
|
33
|
+
else
|
|
34
|
+
echo "You can upgrade a beta from a beta version! Current version: $VERSION"; exit 1;
|
|
35
|
+
fi
|
|
36
|
+
;;
|
|
37
|
+
major|minor|patch)
|
|
38
|
+
bumpver update -n --$1 --tag=final
|
|
39
|
+
;;
|
|
40
|
+
esac
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# git-cliff ~ default configuration file
|
|
2
|
+
# https://git-cliff.org/docs/configuration
|
|
3
|
+
#
|
|
4
|
+
# Lines starting with "#" are comments.
|
|
5
|
+
# Configuration options are organized into tables and keys.
|
|
6
|
+
# See documentation for more information on available options.
|
|
7
|
+
|
|
8
|
+
[changelog]
|
|
9
|
+
# template for the changelog header
|
|
10
|
+
header = """
|
|
11
|
+
Changelog\n
|
|
12
|
+
"""
|
|
13
|
+
# template for the changelog body
|
|
14
|
+
# https://keats.github.io/tera/docs/#introduction
|
|
15
|
+
body = """
|
|
16
|
+
## {{ version | trim_start_matches(pat="v") }} - {{ timestamp | date(format="%Y-%m-%d") }}
|
|
17
|
+
{% if previous %}\
|
|
18
|
+
{% if previous.commit_id and commit_id %}
|
|
19
|
+
[{{ previous.commit_id | truncate(length=7, end="") }}]({{ previous.commit_id }})...\
|
|
20
|
+
[{{ commit_id | truncate(length=7, end="") }}]({{ commit_id }})
|
|
21
|
+
{% endif %}\
|
|
22
|
+
{% endif %}\
|
|
23
|
+
{% for group, commits in commits | group_by(attribute="group") %}
|
|
24
|
+
### {{ group | upper_first }}
|
|
25
|
+
{% for commit in commits %}
|
|
26
|
+
- {{ commit.message | split(pat="\n") | first | upper_first | trim }} ([{{ commit.id | truncate(length=7, end="") }}]({{ commit.id }}))\
|
|
27
|
+
{% for footer in commit.footers -%}
|
|
28
|
+
, {{ footer.token }}{{ footer.separator }}{{ footer.value }}\
|
|
29
|
+
{% endfor %}\
|
|
30
|
+
{% endfor %}
|
|
31
|
+
{% endfor %}\n
|
|
32
|
+
"""
|
|
33
|
+
# template for the changelog footer
|
|
34
|
+
footer = """"""
|
|
35
|
+
# remove the leading and trailing s
|
|
36
|
+
trim = true
|
|
37
|
+
# postprocessors
|
|
38
|
+
postprocessors = [
|
|
39
|
+
# { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
|
|
40
|
+
]
|
|
41
|
+
# render body even when there are no releases to process
|
|
42
|
+
# render_always = true
|
|
43
|
+
# output file path
|
|
44
|
+
# output = "test.md"
|
|
45
|
+
|
|
46
|
+
[git]
|
|
47
|
+
# parse the commits based on https://www.conventionalcommits.org
|
|
48
|
+
conventional_commits = true
|
|
49
|
+
# filter out the commits that are not conventional
|
|
50
|
+
filter_unconventional = true
|
|
51
|
+
# process each line of a commit as an individual commit
|
|
52
|
+
split_commits = false
|
|
53
|
+
# regex for preprocessing the commit messages
|
|
54
|
+
commit_preprocessors = [
|
|
55
|
+
# Replace issue numbers
|
|
56
|
+
#{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
|
|
57
|
+
# Check spelling of the commit with https://github.com/crate-ci/typos
|
|
58
|
+
# If the spelling is incorrect, it will be automatically fixed.
|
|
59
|
+
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
|
|
60
|
+
]
|
|
61
|
+
# regex for parsing and grouping commits
|
|
62
|
+
commit_parsers = [
|
|
63
|
+
{ message = "^feat", group = "<!-- 0 --> Features" },
|
|
64
|
+
{ message = "^fix", group = "<!-- 1 --> Bug Fixes" },
|
|
65
|
+
{ message = "^refactor", group = "<!-- 2 --> Refactor" },
|
|
66
|
+
{ message = "^perf", group = "<!-- 3 --> Performance" },
|
|
67
|
+
{ message = "^build", group = "<!-- 4 --> Build" },
|
|
68
|
+
{ message = "^doc", group = "<!-- 5 --> Documentation" },
|
|
69
|
+
{ message = ".*", group = "<!-- 10 --> Other" , skip = true },
|
|
70
|
+
]
|
|
71
|
+
# filter out the commits that are not matched by commit parsers
|
|
72
|
+
filter_commits = false
|
|
73
|
+
# sort the tags topologically
|
|
74
|
+
topo_order = false
|
|
75
|
+
# sort the commits inside sections by oldest/newest order
|
|
76
|
+
sort_commits = "oldest"
|
|
77
|
+
ignore_tags = ".*b.*"
|
|
78
|
+
use_branch_tags = true
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
name: Release on PyPI and GitHub
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
release-type:
|
|
7
|
+
description: "Release type"
|
|
8
|
+
required: true
|
|
9
|
+
default: "tag-num"
|
|
10
|
+
type: choice
|
|
11
|
+
options:
|
|
12
|
+
- major
|
|
13
|
+
- minor
|
|
14
|
+
- patch
|
|
15
|
+
- upgrade-beta
|
|
16
|
+
- new-beta-major
|
|
17
|
+
- new-beta-minor
|
|
18
|
+
- new-beta-patch
|
|
19
|
+
- final
|
|
20
|
+
skip-pypi:
|
|
21
|
+
description: "If true, skip publishing to PyPI"
|
|
22
|
+
default: false
|
|
23
|
+
type: boolean
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
bumpver-pyproject:
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
outputs:
|
|
29
|
+
version: ${{ steps.current-version.outputs.version }}
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v4
|
|
32
|
+
- uses: actions/setup-python@v5
|
|
33
|
+
with:
|
|
34
|
+
python-version: "3.10"
|
|
35
|
+
|
|
36
|
+
- name: Install bumpver
|
|
37
|
+
run: python -m pip install bumpver
|
|
38
|
+
|
|
39
|
+
# Evaluate input and bumpver accordingly
|
|
40
|
+
- name: Execute script bumpver
|
|
41
|
+
run: ./.github/scripts/bump.sh ${{ inputs.release-type }}
|
|
42
|
+
|
|
43
|
+
# Store current version for later use
|
|
44
|
+
- name: Current version
|
|
45
|
+
id: current-version
|
|
46
|
+
run: |
|
|
47
|
+
ver=$(bumpver show -n --environ | grep CUR | awk '{gsub(/CURRENT_VERSION=/, ""); print}')
|
|
48
|
+
echo "version=${ver}" >> "$GITHUB_OUTPUT"
|
|
49
|
+
|
|
50
|
+
# Commit modifications to pyproject.toml
|
|
51
|
+
- name: Commit changes
|
|
52
|
+
run: |
|
|
53
|
+
git config user.name "$GITHUB_ACTOR"
|
|
54
|
+
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
|
55
|
+
git commit -a -m "bump: new version ${{ steps.current-version.outputs.version }}"
|
|
56
|
+
git push
|
|
57
|
+
|
|
58
|
+
build-n-publish:
|
|
59
|
+
name: Build and publish
|
|
60
|
+
if: ${{ !inputs.skip-pypi }}
|
|
61
|
+
needs: bumpver-pyproject
|
|
62
|
+
runs-on: ubuntu-latest
|
|
63
|
+
steps:
|
|
64
|
+
# Force with ref as https://github.com/orgs/community/discussions/110853
|
|
65
|
+
- uses: actions/checkout@v4
|
|
66
|
+
with:
|
|
67
|
+
ref: ${{ github.ref }}
|
|
68
|
+
- uses: actions/setup-python@v5
|
|
69
|
+
with:
|
|
70
|
+
python-version: "3.10"
|
|
71
|
+
|
|
72
|
+
# Build wheel to upload
|
|
73
|
+
- name: Install build and build a binary wheel
|
|
74
|
+
run: python -m pip install build && python -m build
|
|
75
|
+
|
|
76
|
+
# Publish to PyPI
|
|
77
|
+
- name: Publish distribution to PyPI
|
|
78
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
79
|
+
with:
|
|
80
|
+
password: ${{ secrets.PYPI_TOKEN }}
|
|
81
|
+
|
|
82
|
+
tag-and-release:
|
|
83
|
+
name: Tag and release on Github
|
|
84
|
+
needs: [bumpver-pyproject]
|
|
85
|
+
runs-on: ubuntu-latest
|
|
86
|
+
steps:
|
|
87
|
+
- uses: actions/checkout@v4
|
|
88
|
+
with:
|
|
89
|
+
ref: ${{ github.ref }}
|
|
90
|
+
fetch-depth: 0
|
|
91
|
+
|
|
92
|
+
- uses: actions/setup-python@v5
|
|
93
|
+
with:
|
|
94
|
+
python-version: "3.10"
|
|
95
|
+
|
|
96
|
+
- name: Install cliff
|
|
97
|
+
run: python -m pip install git-cliff
|
|
98
|
+
|
|
99
|
+
- name: Generate a changelog
|
|
100
|
+
env:
|
|
101
|
+
VERSION: ${{ needs.bumpver-pyproject.outputs.version }}
|
|
102
|
+
BETA: ${{ inputs.release-type == 'upgrade-beta' || startsWith(inputs.release-type, 'new-beta')}}
|
|
103
|
+
run: ./.github/scripts/changelog.sh ${{ env.VERSION }} ${{ env.BETA }}
|
|
104
|
+
|
|
105
|
+
- name: Create Release
|
|
106
|
+
id: create_release
|
|
107
|
+
uses: softprops/action-gh-release@v2
|
|
108
|
+
env:
|
|
109
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
110
|
+
VERSION: ${{ needs.bumpver-pyproject.outputs.version }}
|
|
111
|
+
BETA: ${{ inputs.release-type == 'upgrade-beta' || startsWith(inputs.release-type, 'new-beta')}}
|
|
112
|
+
with:
|
|
113
|
+
name: ${{ env.VERSION }}
|
|
114
|
+
tag_name: ${{ env.VERSION }}
|
|
115
|
+
body_path: CHANGELOG.md
|
|
116
|
+
draft: false
|
|
117
|
+
prerelease: ${{ env.BETA }}
|
|
118
|
+
|
|
119
|
+
# Send a trigger to python wrapper repo
|
|
120
|
+
trigger:
|
|
121
|
+
runs-on: ubuntu-latest
|
|
122
|
+
needs: [bumpver-pyproject, build-n-publish]
|
|
123
|
+
steps:
|
|
124
|
+
- uses: actions/checkout@v4
|
|
125
|
+
- name: Trigger Workflow in Another Repository
|
|
126
|
+
run: |
|
|
127
|
+
# Set the required variables
|
|
128
|
+
repo_owner="scc-digitalhub"
|
|
129
|
+
event_type="trigger-workflow"
|
|
130
|
+
lib_name="sdk"
|
|
131
|
+
lib_vers=${{ needs.bumpver-pyproject.outputs.version }}
|
|
132
|
+
branch=${{ github.ref }}
|
|
133
|
+
|
|
134
|
+
# Define the repositories to trigger
|
|
135
|
+
repos=("digitalhub-sdk-wrapper-kfp" "jupyter-notebook-custom-image" "digitalhub-sdk-wrapper-dbt" )
|
|
136
|
+
|
|
137
|
+
# Loop over the repositories and trigger the workflow
|
|
138
|
+
for repo in "${repos[@]}"; do
|
|
139
|
+
curl -L \
|
|
140
|
+
-X POST \
|
|
141
|
+
-H "Accept: application/vnd.github+json" \
|
|
142
|
+
-H "Authorization: Bearer ${{ secrets.TRIGGER_PAT }}" \
|
|
143
|
+
-H "X-GitHub-Api-Version: 2022-11-28" \
|
|
144
|
+
https://api.github.com/repos/$repo_owner/$repo/dispatches \
|
|
145
|
+
-d "{\"event_type\": \"$event_type\", \"client_payload\": {\"lib_name\": \"$lib_name\", \"lib_vers\": \"$lib_vers\", \"branch\": \"$branch\"}}"
|
|
146
|
+
done
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
name: Run Unit Local Test via Pytest
|
|
2
|
+
|
|
3
|
+
on: [push]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
strategy:
|
|
9
|
+
matrix:
|
|
10
|
+
python-version: ["3.9", "3.10", "3.11", "3.12"]
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
15
|
+
uses: actions/setup-python@v5
|
|
16
|
+
with:
|
|
17
|
+
python-version: ${{ matrix.python-version }}
|
|
18
|
+
# You can test your matrix by printing the current Python version
|
|
19
|
+
- name: Display Python version
|
|
20
|
+
run: python -c "import sys; print(sys.version)"
|
|
21
|
+
- name: Install dependencies
|
|
22
|
+
run: |
|
|
23
|
+
python -m pip install --upgrade pip
|
|
24
|
+
python -m pip install .[dev]
|
|
25
|
+
- name: Lint with Ruff
|
|
26
|
+
run: |
|
|
27
|
+
pip install ruff
|
|
28
|
+
ruff check --output-format=github .
|
|
29
|
+
continue-on-error: true
|
|
30
|
+
- name: Get schema files from core
|
|
31
|
+
run: |
|
|
32
|
+
wget https://github.com/scc-digitalhub/digitalhub-core/archive/main.zip
|
|
33
|
+
7z x main.zip
|
|
34
|
+
rm main.zip
|
|
35
|
+
mv digitalhub-core-main/schemas/specs test/local/instances/schemas
|
|
36
|
+
rm -r digitalhub-core-main
|
|
37
|
+
- name: Test with pytest
|
|
38
|
+
run: |
|
|
39
|
+
coverage run -m pytest test/local -v -s
|
|
40
|
+
- name: Generate Coverage Report
|
|
41
|
+
run: |
|
|
42
|
+
coverage report -m
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
name: Test release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
release-type:
|
|
7
|
+
description: "Release type"
|
|
8
|
+
required: true
|
|
9
|
+
default: "tag-num"
|
|
10
|
+
type: choice
|
|
11
|
+
options:
|
|
12
|
+
- major
|
|
13
|
+
- minor
|
|
14
|
+
- patch
|
|
15
|
+
- upgrade-beta
|
|
16
|
+
- new-beta-major
|
|
17
|
+
- new-beta-minor
|
|
18
|
+
- new-beta-patch
|
|
19
|
+
- final
|
|
20
|
+
skip-pypi:
|
|
21
|
+
description: "If true, skip publishing to PyPI"
|
|
22
|
+
default: false
|
|
23
|
+
type: boolean
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
bumpver-pyproject:
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
outputs:
|
|
29
|
+
version: ${{ steps.current-version.outputs.version }}
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v4
|
|
32
|
+
- uses: actions/setup-python@v5
|
|
33
|
+
with:
|
|
34
|
+
python-version: "3.10"
|
|
35
|
+
|
|
36
|
+
- name: Install bumpver
|
|
37
|
+
run: python -m pip install bumpver
|
|
38
|
+
|
|
39
|
+
# Evaluate input and bumpver accordingly
|
|
40
|
+
- name: Execute script bumpver
|
|
41
|
+
run: ./.github/scripts/bump.sh ${{ inputs.release-type }}
|
|
42
|
+
|
|
43
|
+
# Store current version for later use
|
|
44
|
+
- name: Current version
|
|
45
|
+
id: current-version
|
|
46
|
+
run: |
|
|
47
|
+
ver=$(bumpver show -n --environ | grep CUR | awk '{gsub(/CURRENT_VERSION=/, ""); print}')
|
|
48
|
+
echo "version=${ver}" >> "$GITHUB_OUTPUT"
|
|
49
|
+
|
|
50
|
+
tag-and-release:
|
|
51
|
+
name: Tag and release on Github
|
|
52
|
+
needs: [bumpver-pyproject]
|
|
53
|
+
runs-on: ubuntu-latest
|
|
54
|
+
steps:
|
|
55
|
+
- uses: actions/checkout@v4
|
|
56
|
+
with:
|
|
57
|
+
ref: ${{ github.ref }}
|
|
58
|
+
fetch-depth: 0
|
|
59
|
+
|
|
60
|
+
- uses: actions/setup-python@v5
|
|
61
|
+
with:
|
|
62
|
+
python-version: "3.10"
|
|
63
|
+
|
|
64
|
+
- name: Install cliff
|
|
65
|
+
run: python -m pip install git-cliff
|
|
66
|
+
|
|
67
|
+
- name: Generate a changelog
|
|
68
|
+
env:
|
|
69
|
+
VERSION: ${{ needs.bumpver-pyproject.outputs.version }}
|
|
70
|
+
BETA: ${{ inputs.release-type == 'upgrade-beta' || startsWith(inputs.release-type, 'new-beta')}}
|
|
71
|
+
run: ./.github/scripts/changelog.sh ${{ env.VERSION }} ${{ env.BETA }}
|
|
72
|
+
|
|
73
|
+
- name: Create Release
|
|
74
|
+
id: create_release
|
|
75
|
+
uses: softprops/action-gh-release@v2
|
|
76
|
+
env:
|
|
77
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
78
|
+
VERSION: ${{ needs.bumpver-pyproject.outputs.version }}
|
|
79
|
+
BETA: ${{ inputs.release-type == 'upgrade-beta' || startsWith(inputs.release-type, 'new-beta')}}
|
|
80
|
+
with:
|
|
81
|
+
name: ${{ env.VERSION }}
|
|
82
|
+
tag_name: ${{ env.VERSION }}
|
|
83
|
+
body_path: CHANGELOG.md
|
|
84
|
+
draft: false
|
|
85
|
+
prerelease: ${{ env.BETA }}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
share/python-wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
# Usually these files are written by a python script from a template
|
|
31
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
32
|
+
*.manifest
|
|
33
|
+
*.spec
|
|
34
|
+
|
|
35
|
+
# Installer logs
|
|
36
|
+
pip-log.txt
|
|
37
|
+
pip-delete-this-directory.txt
|
|
38
|
+
|
|
39
|
+
# Unit test / coverage reports
|
|
40
|
+
htmlcov/
|
|
41
|
+
.tox/
|
|
42
|
+
.nox/
|
|
43
|
+
.coverage
|
|
44
|
+
.coverage.*
|
|
45
|
+
.cache
|
|
46
|
+
nosetests.xml
|
|
47
|
+
coverage.xml
|
|
48
|
+
*.cover
|
|
49
|
+
*.py,cover
|
|
50
|
+
.hypothesis/
|
|
51
|
+
.pytest_cache/
|
|
52
|
+
cover/
|
|
53
|
+
|
|
54
|
+
# Translations
|
|
55
|
+
*.mo
|
|
56
|
+
*.pot
|
|
57
|
+
|
|
58
|
+
# Django stuff:
|
|
59
|
+
*.log
|
|
60
|
+
local_settings.py
|
|
61
|
+
db.sqlite3
|
|
62
|
+
db.sqlite3-journal
|
|
63
|
+
|
|
64
|
+
# Flask stuff:
|
|
65
|
+
instance/
|
|
66
|
+
.webassets-cache
|
|
67
|
+
|
|
68
|
+
# Scrapy stuff:
|
|
69
|
+
.scrapy
|
|
70
|
+
|
|
71
|
+
# Sphinx documentation
|
|
72
|
+
#docs/_build/
|
|
73
|
+
|
|
74
|
+
# PyBuilder
|
|
75
|
+
.pybuilder/
|
|
76
|
+
target/
|
|
77
|
+
|
|
78
|
+
# Jupyter Notebook
|
|
79
|
+
.ipynb_checkpoints
|
|
80
|
+
|
|
81
|
+
# IPython
|
|
82
|
+
profile_default/
|
|
83
|
+
ipython_config.py
|
|
84
|
+
|
|
85
|
+
# pyenv
|
|
86
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
87
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
88
|
+
# .python-version
|
|
89
|
+
|
|
90
|
+
# pipenv
|
|
91
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
92
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
93
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
94
|
+
# install all needed dependencies.
|
|
95
|
+
#Pipfile.lock
|
|
96
|
+
|
|
97
|
+
# poetry
|
|
98
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
99
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
100
|
+
# commonly ignored for libraries.
|
|
101
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
102
|
+
#poetry.lock
|
|
103
|
+
|
|
104
|
+
# pdm
|
|
105
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
106
|
+
#pdm.lock
|
|
107
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
108
|
+
# in version control.
|
|
109
|
+
# https://pdm.fming.dev/#use-with-ide
|
|
110
|
+
.pdm.toml
|
|
111
|
+
|
|
112
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
113
|
+
__pypackages__/
|
|
114
|
+
|
|
115
|
+
# Celery stuff
|
|
116
|
+
celerybeat-schedule
|
|
117
|
+
celerybeat.pid
|
|
118
|
+
|
|
119
|
+
# SageMath parsed files
|
|
120
|
+
*.sage.py
|
|
121
|
+
|
|
122
|
+
# Environments
|
|
123
|
+
.env
|
|
124
|
+
.venv
|
|
125
|
+
env/
|
|
126
|
+
venv/
|
|
127
|
+
ENV/
|
|
128
|
+
env.bak/
|
|
129
|
+
venv.bak/
|
|
130
|
+
|
|
131
|
+
# Spyder project settings
|
|
132
|
+
.spyderproject
|
|
133
|
+
.spyproject
|
|
134
|
+
|
|
135
|
+
# Rope project settings
|
|
136
|
+
.ropeproject
|
|
137
|
+
|
|
138
|
+
# mkdocs documentation
|
|
139
|
+
/site
|
|
140
|
+
|
|
141
|
+
# mypy
|
|
142
|
+
.mypy_cache/
|
|
143
|
+
.dmypy.json
|
|
144
|
+
dmypy.json
|
|
145
|
+
|
|
146
|
+
# Pyre type checker
|
|
147
|
+
.pyre/
|
|
148
|
+
|
|
149
|
+
# pytype static type analyzer
|
|
150
|
+
.pytype/
|
|
151
|
+
|
|
152
|
+
# Cython debug symbols
|
|
153
|
+
cython_debug/
|
|
154
|
+
|
|
155
|
+
# PyCharm
|
|
156
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
157
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
158
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
159
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
160
|
+
#.idea/
|
|
161
|
+
|
|
162
|
+
# pylint
|
|
163
|
+
.pylintrc
|
|
164
|
+
.ruff_cache
|
|
165
|
+
TODO
|
|
166
|
+
.vscode
|
|
167
|
+
.DS_STORE
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: digitalhub
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.10.0
|
|
4
4
|
Summary: Python SDK for Digitalhub
|
|
5
|
+
Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk
|
|
5
6
|
Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
|
|
6
7
|
License: Apache License
|
|
7
8
|
Version 2.0, January 2004
|
|
@@ -219,48 +220,41 @@ License: Apache License
|
|
|
219
220
|
|
|
220
221
|
(SIL OPEN FONT LICENSE Version 1.1) The Inter font family (https://github.com/rsms/inter)
|
|
221
222
|
(SIL OPEN FONT LICENSE Version 1.1) The Fira Code font family (https://github.com/tonsky/FiraCode)
|
|
222
|
-
|
|
223
|
-
Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk
|
|
223
|
+
License-File: LICENSE.txt
|
|
224
224
|
Keywords: data,dataops,kubernetes
|
|
225
225
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
226
226
|
Classifier: Programming Language :: Python :: 3.9
|
|
227
227
|
Classifier: Programming Language :: Python :: 3.10
|
|
228
228
|
Classifier: Programming Language :: Python :: 3.11
|
|
229
|
-
Requires-Python:
|
|
230
|
-
Description-Content-Type: text/markdown
|
|
231
|
-
License-File: LICENSE.txt
|
|
229
|
+
Requires-Python: <3.13,>=3.9
|
|
232
230
|
Requires-Dist: boto3
|
|
233
|
-
Requires-Dist:
|
|
234
|
-
Requires-Dist: sqlalchemy<2
|
|
235
|
-
Requires-Dist: pyarrow
|
|
231
|
+
Requires-Dist: gitpython>=3
|
|
236
232
|
Requires-Dist: numpy<2
|
|
237
|
-
Requires-Dist: requests
|
|
238
|
-
Requires-Dist: PyYAML
|
|
239
|
-
Requires-Dist: python-dotenv
|
|
240
|
-
Requires-Dist: GitPython>=3
|
|
241
233
|
Requires-Dist: psycopg2-binary
|
|
234
|
+
Requires-Dist: pyarrow
|
|
235
|
+
Requires-Dist: pydantic
|
|
236
|
+
Requires-Dist: python-dotenv
|
|
242
237
|
Requires-Dist: python-slugify
|
|
238
|
+
Requires-Dist: pyyaml
|
|
239
|
+
Requires-Dist: requests
|
|
240
|
+
Requires-Dist: sqlalchemy
|
|
241
|
+
Provides-Extra: dev
|
|
242
|
+
Requires-Dist: bumpver; extra == 'dev'
|
|
243
|
+
Requires-Dist: jsonschema; extra == 'dev'
|
|
244
|
+
Requires-Dist: pytest; extra == 'dev'
|
|
245
|
+
Requires-Dist: pytest-cov; extra == 'dev'
|
|
243
246
|
Provides-Extra: full
|
|
244
|
-
Requires-Dist:
|
|
245
|
-
Requires-Dist:
|
|
246
|
-
Provides-Extra: pandas
|
|
247
|
-
Requires-Dist: pandas<2.2,>=1.2; extra == "pandas"
|
|
247
|
+
Requires-Dist: mlflow; extra == 'full'
|
|
248
|
+
Requires-Dist: pandas; extra == 'full'
|
|
248
249
|
Provides-Extra: mlflow
|
|
249
|
-
Requires-Dist: mlflow; extra ==
|
|
250
|
-
Provides-Extra:
|
|
251
|
-
Requires-Dist:
|
|
252
|
-
Requires-Dist:
|
|
253
|
-
|
|
254
|
-
Requires-Dist: ruff; extra == "dev"
|
|
255
|
-
Requires-Dist: moto; extra == "dev"
|
|
256
|
-
Provides-Extra: docs
|
|
257
|
-
Requires-Dist: Sphinx>=7; extra == "docs"
|
|
258
|
-
Requires-Dist: pydata-sphinx-theme>=0.15; extra == "docs"
|
|
259
|
-
Requires-Dist: numpydoc>=1.6; extra == "docs"
|
|
250
|
+
Requires-Dist: mlflow; extra == 'mlflow'
|
|
251
|
+
Provides-Extra: pandas
|
|
252
|
+
Requires-Dist: fsspec; extra == 'pandas'
|
|
253
|
+
Requires-Dist: pandas; extra == 'pandas'
|
|
254
|
+
Description-Content-Type: text/markdown
|
|
260
255
|
|
|
261
256
|
# Digitalhub Library
|
|
262
257
|
|
|
263
|
-
The Digitalhub
|
|
264
|
-
It comes with a suite of tools to help you manage your projects and executions. It exposes CRUD methods to create, read, update and delete entities, and objects methods to excute functions or workflows, collect or store execution results and data.
|
|
258
|
+
The Digitalhub library is a python tool for managing projects, entities and executions in Digitalhub. It exposes CRUD methods to create, read, update and delete entities, tools to execute functions or workflows, collect or store execution results and data.
|
|
265
259
|
|
|
266
260
|
A more detailed description of the library can be found in the [official documentation](https://scc-digitalhub.github.io/sdk-docs/).
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Digitalhub Library
|
|
2
|
+
|
|
3
|
+
The Digitalhub library is a python tool for managing projects, entities and executions in Digitalhub. It exposes CRUD methods to create, read, update and delete entities, tools to execute functions or workflows, collect or store execution results and data.
|
|
4
|
+
|
|
5
|
+
A more detailed description of the library can be found in the [official documentation](https://scc-digitalhub.github.io/sdk-docs/).
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
__version__ = "0.9.0b0"
|
|
2
1
|
from digitalhub.entities.artifact.crud import (
|
|
3
2
|
delete_artifact,
|
|
4
3
|
get_artifact,
|
|
@@ -85,15 +84,15 @@ from digitalhub.entities.workflow.crud import (
|
|
|
85
84
|
)
|
|
86
85
|
|
|
87
86
|
try:
|
|
88
|
-
from digitalhub.entities.model.mlflow.utils import from_mlflow_run
|
|
87
|
+
from digitalhub.entities.model.mlflow.utils import from_mlflow_run, get_mlflow_model_metrics
|
|
89
88
|
except ImportError:
|
|
90
89
|
...
|
|
91
90
|
|
|
92
91
|
from digitalhub.client.dhcore.utils import refresh_token, set_dhcore_env
|
|
92
|
+
from digitalhub.configurator.api import get_current_env, set_current_env
|
|
93
93
|
|
|
94
94
|
# Register entities into registry
|
|
95
95
|
from digitalhub.factory.utils import register_entities, register_runtimes_entities
|
|
96
|
-
from digitalhub.stores.api import set_store
|
|
97
96
|
|
|
98
97
|
register_entities()
|
|
99
98
|
register_runtimes_entities()
|