digitalhub 0.8.0b1__py3-none-any.whl → 0.8.0b3__py3-none-any.whl
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/__init__.py +2 -2
- digitalhub/client/builder.py +3 -3
- digitalhub/client/{objects/dhcore.py → dhcore/client.py} +3 -48
- digitalhub/client/dhcore/env.py +21 -0
- digitalhub/client/dhcore/models.py +46 -0
- digitalhub/{utils/env_utils.py → client/dhcore/utils.py} +1 -13
- digitalhub/client/{objects/local.py → local/client.py} +1 -1
- digitalhub/context/builder.py +1 -1
- digitalhub/context/context.py +1 -1
- digitalhub/datastores/{objects/base.py → _base/datastore.py} +1 -1
- digitalhub/datastores/builder.py +6 -6
- digitalhub/datastores/{objects/local.py → local/datastore.py} +1 -1
- digitalhub/datastores/{objects/remote.py → remote/datastore.py} +1 -1
- digitalhub/datastores/{objects/s3.py → s3/datastore.py} +1 -1
- digitalhub/datastores/{objects/sql.py → sql/datastore.py} +1 -1
- digitalhub/entities/_base/{base.py → _base/entity.py} +1 -1
- digitalhub/entities/_base/context/__init__.py +0 -0
- digitalhub/entities/_base/{entity/context.py → context/entity.py} +4 -4
- digitalhub/entities/_base/crud.py +3 -3
- digitalhub/entities/_base/entity/{base.py → entity.py} +6 -6
- digitalhub/entities/_base/{metadata.py → entity/metadata.py} +2 -2
- digitalhub/entities/_base/{spec/base.py → entity/spec.py} +11 -11
- digitalhub/entities/_base/{status/base.py → entity/status.py} +2 -2
- digitalhub/entities/_base/executable/__init__.py +0 -0
- digitalhub/entities/_base/{entity/executable.py → executable/entity.py} +55 -31
- digitalhub/entities/_base/material/__init__.py +0 -0
- digitalhub/entities/_base/{entity/material.py → material/entity.py} +4 -4
- digitalhub/entities/_base/{spec/material.py → material/spec.py} +3 -3
- digitalhub/entities/_base/{status/material.py → material/status.py} +1 -1
- digitalhub/entities/_base/unversioned/__init__.py +0 -0
- digitalhub/entities/_base/{entity/unversioned.py → unversioned/entity.py} +4 -4
- digitalhub/entities/_base/versioned/__init__.py +0 -0
- digitalhub/entities/_base/{entity/versioned.py → versioned/entity.py} +4 -4
- digitalhub/entities/_builders/entity.py +148 -0
- digitalhub/entities/_builders/factory.py +44 -0
- digitalhub/entities/_builders/metadata.py +2 -11
- digitalhub/entities/_builders/spec.py +1 -1
- digitalhub/entities/_builders/status.py +2 -2
- digitalhub/entities/artifact/_base/__init__.py +0 -0
- digitalhub/entities/artifact/{entity/_base.py → _base/entity.py} +5 -5
- digitalhub/entities/artifact/_base/spec.py +15 -0
- digitalhub/entities/artifact/_base/status.py +9 -0
- digitalhub/entities/artifact/artifact/__init__.py +0 -0
- digitalhub/entities/artifact/artifact/entity.py +32 -0
- digitalhub/entities/artifact/{spec.py → artifact/spec.py} +4 -16
- digitalhub/entities/artifact/{status.py → artifact/status.py} +1 -1
- digitalhub/entities/artifact/builder.py +2 -2
- digitalhub/entities/artifact/crud.py +3 -3
- digitalhub/entities/dataitem/_base/__init__.py +0 -0
- digitalhub/entities/dataitem/{entity/_base.py → _base/entity.py} +5 -5
- digitalhub/entities/dataitem/_base/spec.py +15 -0
- digitalhub/entities/dataitem/_base/status.py +20 -0
- digitalhub/entities/dataitem/builder.py +4 -4
- digitalhub/entities/dataitem/crud.py +7 -4
- digitalhub/entities/dataitem/dataitem/__init__.py +0 -0
- digitalhub/entities/dataitem/dataitem/entity.py +32 -0
- digitalhub/entities/dataitem/dataitem/spec.py +15 -0
- digitalhub/entities/dataitem/dataitem/status.py +9 -0
- digitalhub/entities/dataitem/iceberg/__init__.py +0 -0
- digitalhub/entities/dataitem/iceberg/entity.py +32 -0
- digitalhub/entities/dataitem/iceberg/spec.py +15 -0
- digitalhub/entities/dataitem/iceberg/status.py +9 -0
- digitalhub/entities/dataitem/table/__init__.py +0 -0
- digitalhub/entities/dataitem/{entity/table.py → table/entity.py} +24 -3
- digitalhub/entities/dataitem/table/spec.py +25 -0
- digitalhub/entities/dataitem/table/status.py +9 -0
- digitalhub/entities/function/_base/__init__.py +0 -0
- digitalhub/entities/function/{entity.py → _base/entity.py} +6 -6
- digitalhub/entities/function/{models.py → _base/models.py} +1 -1
- digitalhub/entities/function/_base/spec.py +15 -0
- digitalhub/entities/function/_base/status.py +9 -0
- digitalhub/entities/function/builder.py +1 -1
- digitalhub/entities/function/crud.py +2 -2
- digitalhub/entities/model/_base/__init__.py +0 -0
- digitalhub/entities/model/{entity/_base.py → _base/entity.py} +5 -5
- digitalhub/entities/model/_base/spec.py +49 -0
- digitalhub/entities/model/_base/status.py +9 -0
- digitalhub/entities/model/builder.py +5 -5
- digitalhub/entities/model/crud.py +3 -3
- digitalhub/entities/model/huggingface/__init__.py +0 -0
- digitalhub/entities/model/huggingface/entity.py +32 -0
- digitalhub/entities/model/huggingface/spec.py +36 -0
- digitalhub/entities/model/huggingface/status.py +9 -0
- digitalhub/entities/model/mlflow/__init__.py +0 -0
- digitalhub/entities/model/mlflow/entity.py +32 -0
- digitalhub/entities/model/mlflow/spec.py +44 -0
- digitalhub/entities/model/mlflow/status.py +9 -0
- digitalhub/entities/model/{entity/mlflow.py → mlflow/utils.py} +1 -10
- digitalhub/entities/model/model/__init__.py +0 -0
- digitalhub/entities/model/model/entity.py +32 -0
- digitalhub/entities/model/model/spec.py +15 -0
- digitalhub/entities/model/model/status.py +9 -0
- digitalhub/entities/model/sklearn/__init__.py +0 -0
- digitalhub/entities/model/sklearn/entity.py +32 -0
- digitalhub/entities/model/sklearn/spec.py +15 -0
- digitalhub/entities/model/sklearn/status.py +9 -0
- digitalhub/entities/project/builder.py +1 -1
- digitalhub/entities/project/crud.py +2 -2
- digitalhub/entities/project/project/__init__.py +0 -0
- digitalhub/entities/project/{entity.py → project/entity.py} +12 -12
- digitalhub/entities/project/{spec.py → project/spec.py} +4 -4
- digitalhub/entities/project/project/status.py +9 -0
- digitalhub/entities/registries.py +6 -6
- digitalhub/entities/run/_base/__init__.py +0 -0
- digitalhub/entities/run/{entity.py → _base/entity.py} +7 -7
- digitalhub/entities/run/{spec.py → _base/spec.py} +8 -8
- digitalhub/entities/run/{status.py → _base/status.py} +9 -9
- digitalhub/entities/run/builder.py +1 -1
- digitalhub/entities/run/crud.py +2 -2
- digitalhub/entities/secret/builder.py +1 -1
- digitalhub/entities/secret/crud.py +11 -3
- digitalhub/entities/secret/secret/__init__.py +0 -0
- digitalhub/entities/secret/{entity.py → secret/entity.py} +7 -6
- digitalhub/entities/secret/{spec.py → secret/spec.py} +4 -4
- digitalhub/entities/secret/secret/status.py +9 -0
- digitalhub/entities/task/_base/__init__.py +0 -0
- digitalhub/entities/task/{entity.py → _base/entity.py} +6 -6
- digitalhub/entities/task/{models.py → _base/models.py} +9 -0
- digitalhub/entities/task/{spec.py → _base/spec.py} +9 -7
- digitalhub/entities/task/_base/status.py +9 -0
- digitalhub/entities/task/builder.py +1 -1
- digitalhub/entities/task/crud.py +2 -2
- digitalhub/entities/utils/__init__.py +0 -0
- digitalhub/entities/{utils.py → utils/utils.py} +2 -2
- digitalhub/entities/workflow/_base/__init__.py +0 -0
- digitalhub/entities/workflow/{entity.py → _base/entity.py} +6 -6
- digitalhub/entities/workflow/_base/spec.py +15 -0
- digitalhub/entities/workflow/_base/status.py +9 -0
- digitalhub/entities/workflow/builder.py +1 -1
- digitalhub/entities/workflow/crud.py +2 -2
- digitalhub/readers/_base/__init__.py +0 -0
- digitalhub/readers/builder.py +1 -1
- digitalhub/readers/pandas/__init__.py +0 -0
- digitalhub/readers/{objects/pandas.py → pandas/readers.py} +1 -1
- digitalhub/readers/registry.py +1 -1
- digitalhub/registry/utils.py +5 -4
- digitalhub/stores/_base/__init__.py +0 -0
- digitalhub/stores/builder.py +6 -6
- digitalhub/stores/local/__init__.py +0 -0
- digitalhub/stores/{objects/local.py → local/store.py} +1 -1
- digitalhub/stores/remote/__init__.py +0 -0
- digitalhub/stores/{objects/remote.py → remote/store.py} +1 -1
- digitalhub/stores/s3/__init__.py +0 -0
- digitalhub/stores/{objects/s3.py → s3/store.py} +1 -1
- digitalhub/stores/sql/__init__.py +0 -0
- digitalhub/stores/{objects/sql.py → sql/store.py} +1 -1
- digitalhub/utils/generic_utils.py +18 -42
- digitalhub/utils/s3_utils.py +58 -0
- {digitalhub-0.8.0b1.dist-info → digitalhub-0.8.0b3.dist-info}/METADATA +3 -2
- digitalhub-0.8.0b3.dist-info/RECORD +214 -0
- {digitalhub-0.8.0b1.dist-info → digitalhub-0.8.0b3.dist-info}/WHEEL +1 -1
- test/local/CRUD/test_artifacts.py +96 -0
- test/local/CRUD/test_dataitems.py +96 -0
- test/local/CRUD/test_models.py +95 -0
- test/test_crud_functions.py +1 -1
- test/test_crud_runs.py +1 -1
- test/test_crud_tasks.py +1 -1
- digitalhub/entities/artifact/entity/artifact.py +0 -9
- digitalhub/entities/dataitem/entity/dataitem.py +0 -9
- digitalhub/entities/dataitem/entity/iceberg.py +0 -7
- digitalhub/entities/dataitem/spec.py +0 -61
- digitalhub/entities/dataitem/status.py +0 -38
- digitalhub/entities/function/spec.py +0 -81
- digitalhub/entities/function/status.py +0 -9
- digitalhub/entities/model/entity/huggingface.py +0 -9
- digitalhub/entities/model/entity/model.py +0 -9
- digitalhub/entities/model/entity/sklearn.py +0 -9
- digitalhub/entities/model/spec.py +0 -146
- digitalhub/entities/model/status.py +0 -33
- digitalhub/entities/project/status.py +0 -9
- digitalhub/entities/secret/status.py +0 -9
- digitalhub/entities/task/status.py +0 -9
- digitalhub/entities/workflow/spec.py +0 -15
- digitalhub/entities/workflow/status.py +0 -9
- digitalhub-0.8.0b1.dist-info/RECORD +0 -161
- test/test_crud_artifacts.py +0 -96
- test/test_crud_dataitems.py +0 -96
- /digitalhub/client/{objects → _base}/__init__.py +0 -0
- /digitalhub/client/{objects/base.py → _base/client.py} +0 -0
- /digitalhub/{datastores/objects → client/dhcore}/__init__.py +0 -0
- /digitalhub/{entities/_base/spec → client/local}/__init__.py +0 -0
- /digitalhub/{entities/_base/status → datastores/_base}/__init__.py +0 -0
- /digitalhub/{entities/artifact/entity → datastores/local}/__init__.py +0 -0
- /digitalhub/{entities/dataitem/entity → datastores/remote}/__init__.py +0 -0
- /digitalhub/{entities/model/entity → datastores/s3}/__init__.py +0 -0
- /digitalhub/{readers/objects → datastores/sql}/__init__.py +0 -0
- /digitalhub/{stores/objects → entities/_base/_base}/__init__.py +0 -0
- /digitalhub/entities/dataitem/{models.py → table/models.py} +0 -0
- /digitalhub/entities/model/{models.py → mlflow/models.py} +0 -0
- /digitalhub/entities/{_base → utils}/api.py +0 -0
- /digitalhub/entities/{entity_types.py → utils/entity_types.py} +0 -0
- /digitalhub/entities/{_base → utils}/state.py +0 -0
- /digitalhub/readers/{objects/base.py → _base/readers.py} +0 -0
- /digitalhub/stores/{objects/base.py → _base/store.py} +0 -0
- {digitalhub-0.8.0b1.dist-info → digitalhub-0.8.0b3.dist-info}/LICENSE.txt +0 -0
- {digitalhub-0.8.0b1.dist-info → digitalhub-0.8.0b3.dist-info}/top_level.txt +0 -0
- /test/{test_imports.py → local/imports/test_imports.py} +0 -0
|
@@ -5,7 +5,7 @@ from digitalhub.entities._builders.name import build_name
|
|
|
5
5
|
from digitalhub.entities._builders.spec import build_spec
|
|
6
6
|
from digitalhub.entities._builders.status import build_status
|
|
7
7
|
from digitalhub.entities._builders.uuid import build_uuid
|
|
8
|
-
from digitalhub.entities.workflow.entity import Workflow
|
|
8
|
+
from digitalhub.entities.workflow._base.entity import Workflow
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def workflow_from_parameters(
|
|
@@ -9,13 +9,13 @@ from digitalhub.entities._base.crud import (
|
|
|
9
9
|
read_entity_api_ctx,
|
|
10
10
|
read_entity_api_ctx_versions,
|
|
11
11
|
)
|
|
12
|
-
from digitalhub.entities.entity_types import EntityTypes
|
|
12
|
+
from digitalhub.entities.utils.entity_types import EntityTypes
|
|
13
13
|
from digitalhub.entities.workflow.builder import workflow_from_dict, workflow_from_parameters
|
|
14
14
|
from digitalhub.utils.exceptions import EntityAlreadyExistsError
|
|
15
15
|
from digitalhub.utils.io_utils import read_yaml
|
|
16
16
|
|
|
17
17
|
if typing.TYPE_CHECKING:
|
|
18
|
-
from digitalhub.entities.workflow.entity import Workflow
|
|
18
|
+
from digitalhub.entities.workflow._base.entity import Workflow
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
ENTITY_TYPE = EntityTypes.WORKFLOW.value
|
|
File without changes
|
digitalhub/readers/builder.py
CHANGED
|
@@ -6,7 +6,7 @@ from typing import Any
|
|
|
6
6
|
from digitalhub.readers.registry import REGISTRY_DATAFRAME, REGISTRY_FRAMEWORK
|
|
7
7
|
|
|
8
8
|
if typing.TYPE_CHECKING:
|
|
9
|
-
from digitalhub.readers.
|
|
9
|
+
from digitalhub.readers._base.readers import DataframeReader
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def get_reader_by_engine(engine: str) -> DataframeReader:
|
|
File without changes
|
|
@@ -7,7 +7,7 @@ import numpy as np
|
|
|
7
7
|
import pandas as pd
|
|
8
8
|
from pandas.errors import ParserError
|
|
9
9
|
|
|
10
|
-
from digitalhub.readers.
|
|
10
|
+
from digitalhub.readers._base.readers import DataframeReader
|
|
11
11
|
from digitalhub.utils.data_utils import build_data_preview, get_data_preview
|
|
12
12
|
|
|
13
13
|
|
digitalhub/readers/registry.py
CHANGED
|
@@ -5,7 +5,7 @@ REGISTRY_DATAFRAME = {}
|
|
|
5
5
|
DATAFRAME_TYPES = []
|
|
6
6
|
|
|
7
7
|
try:
|
|
8
|
-
from digitalhub.readers.
|
|
8
|
+
from digitalhub.readers.pandas.readers import DataframeReaderPandas
|
|
9
9
|
|
|
10
10
|
REGISTRY_FRAMEWORK["pandas"] = DataframeReaderPandas
|
|
11
11
|
REGISTRY_DATAFRAME["pandas.core.frame.DataFrame"] = DataframeReaderPandas
|
digitalhub/registry/utils.py
CHANGED
|
@@ -94,7 +94,7 @@ def register_entities() -> None:
|
|
|
94
94
|
"""
|
|
95
95
|
# Try ot import registry from entities.registries module
|
|
96
96
|
try:
|
|
97
|
-
import_module(
|
|
97
|
+
import_module("digitalhub.entities.registries")
|
|
98
98
|
except Exception:
|
|
99
99
|
pass
|
|
100
100
|
|
|
@@ -102,6 +102,7 @@ def register_entities() -> None:
|
|
|
102
102
|
def create_info(
|
|
103
103
|
root: str,
|
|
104
104
|
entity_type: str,
|
|
105
|
+
kind: str,
|
|
105
106
|
prefix: str,
|
|
106
107
|
suffix: str | None = "",
|
|
107
108
|
runtime_info: dict | None = None,
|
|
@@ -130,12 +131,12 @@ def create_info(
|
|
|
130
131
|
dict_ = {
|
|
131
132
|
"entity_type": entity_type,
|
|
132
133
|
"spec": {
|
|
133
|
-
"module": f"{root}.{entity_type}.spec",
|
|
134
|
+
"module": f"{root}.{entity_type}.{kind}.spec",
|
|
134
135
|
"class_name": f"{prefix}Spec{suffix}",
|
|
135
|
-
"parameters_validator": f"{prefix}
|
|
136
|
+
"parameters_validator": f"{prefix}Validator{suffix}",
|
|
136
137
|
},
|
|
137
138
|
"status": {
|
|
138
|
-
"module": f"{root}.{entity_type}.status",
|
|
139
|
+
"module": f"{root}.{entity_type}.{kind}.status",
|
|
139
140
|
"class_name": f"{prefix}Status{suffix}",
|
|
140
141
|
},
|
|
141
142
|
"metadata": {
|
|
File without changes
|
digitalhub/stores/builder.py
CHANGED
|
@@ -5,16 +5,16 @@ import typing
|
|
|
5
5
|
|
|
6
6
|
from pydantic import ValidationError
|
|
7
7
|
|
|
8
|
-
from digitalhub.stores.
|
|
9
|
-
from digitalhub.stores.
|
|
10
|
-
from digitalhub.stores.
|
|
11
|
-
from digitalhub.stores.
|
|
12
|
-
from digitalhub.stores.
|
|
8
|
+
from digitalhub.stores._base.store import StoreParameters
|
|
9
|
+
from digitalhub.stores.local.store import LocalStore, LocalStoreConfig
|
|
10
|
+
from digitalhub.stores.remote.store import RemoteStore, RemoteStoreConfig
|
|
11
|
+
from digitalhub.stores.s3.store import S3Store, S3StoreConfig
|
|
12
|
+
from digitalhub.stores.sql.store import SqlStore, SQLStoreConfig
|
|
13
13
|
from digitalhub.utils.exceptions import StoreError
|
|
14
14
|
from digitalhub.utils.uri_utils import map_uri_scheme
|
|
15
15
|
|
|
16
16
|
if typing.TYPE_CHECKING:
|
|
17
|
-
from digitalhub.stores.
|
|
17
|
+
from digitalhub.stores._base.store import Store
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
REGISTRY_STORES = {
|
|
File without changes
|
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
import shutil
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
|
|
6
|
-
from digitalhub.stores.
|
|
6
|
+
from digitalhub.stores._base.store import Store, StoreConfig
|
|
7
7
|
from digitalhub.utils.exceptions import StoreError
|
|
8
8
|
from digitalhub.utils.file_utils import get_file_info_from_local
|
|
9
9
|
|
|
File without changes
|
|
File without changes
|
|
@@ -9,7 +9,7 @@ import boto3
|
|
|
9
9
|
import botocore.client # pylint: disable=unused-import
|
|
10
10
|
from botocore.exceptions import ClientError
|
|
11
11
|
|
|
12
|
-
from digitalhub.stores.
|
|
12
|
+
from digitalhub.stores._base.store import Store, StoreConfig
|
|
13
13
|
from digitalhub.utils.exceptions import StoreError
|
|
14
14
|
from digitalhub.utils.file_utils import get_file_info_from_s3, get_file_mime_type
|
|
15
15
|
|
|
File without changes
|
|
@@ -9,7 +9,7 @@ from sqlalchemy.engine import Engine
|
|
|
9
9
|
from sqlalchemy.engine.row import LegacyRow
|
|
10
10
|
from sqlalchemy.exc import SQLAlchemyError
|
|
11
11
|
|
|
12
|
-
from digitalhub.stores.
|
|
12
|
+
from digitalhub.stores._base.store import Store, StoreConfig
|
|
13
13
|
from digitalhub.utils.exceptions import StoreError
|
|
14
14
|
|
|
15
15
|
|
|
@@ -2,16 +2,14 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import base64
|
|
4
4
|
import json
|
|
5
|
-
import os
|
|
6
5
|
from datetime import datetime
|
|
7
6
|
from pathlib import Path
|
|
8
7
|
from typing import Any
|
|
9
|
-
from urllib.parse import urlparse
|
|
10
8
|
from zipfile import ZipFile
|
|
11
9
|
|
|
12
10
|
import numpy as np
|
|
13
|
-
from boto3 import client as boto3_client
|
|
14
11
|
from requests import get as requests_get
|
|
12
|
+
from slugify import slugify
|
|
15
13
|
|
|
16
14
|
from digitalhub.utils.io_utils import read_text
|
|
17
15
|
|
|
@@ -120,45 +118,6 @@ def extract_archive(path: Path, filename: Path) -> None:
|
|
|
120
118
|
zip_file.extractall(path)
|
|
121
119
|
|
|
122
120
|
|
|
123
|
-
def get_s3_source(bucket: str, key: str, filename: Path) -> None:
|
|
124
|
-
"""
|
|
125
|
-
Get S3 source.
|
|
126
|
-
|
|
127
|
-
Parameters
|
|
128
|
-
----------
|
|
129
|
-
bucket : str
|
|
130
|
-
S3 bucket name.
|
|
131
|
-
key : str
|
|
132
|
-
S3 object key.
|
|
133
|
-
filename : Path
|
|
134
|
-
Path where to save the function source.
|
|
135
|
-
|
|
136
|
-
Returns
|
|
137
|
-
-------
|
|
138
|
-
None
|
|
139
|
-
"""
|
|
140
|
-
s3 = boto3_client("s3", endpoint_url=os.getenv("S3_ENDPOINT_URL"))
|
|
141
|
-
s3.download_file(bucket, key, filename)
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
def get_bucket_and_key(path: str) -> tuple[str, str]:
|
|
145
|
-
"""
|
|
146
|
-
Get bucket and key from path.
|
|
147
|
-
|
|
148
|
-
Parameters
|
|
149
|
-
----------
|
|
150
|
-
path : str
|
|
151
|
-
The source path to get the key from.
|
|
152
|
-
|
|
153
|
-
Returns
|
|
154
|
-
-------
|
|
155
|
-
tuple[str, str]
|
|
156
|
-
The bucket and key.
|
|
157
|
-
"""
|
|
158
|
-
parsed = urlparse(path)
|
|
159
|
-
return parsed.netloc, parsed.path
|
|
160
|
-
|
|
161
|
-
|
|
162
121
|
class MyEncoder(json.JSONEncoder):
|
|
163
122
|
"""
|
|
164
123
|
Custom JSON encoder to handle numpy types.
|
|
@@ -205,3 +164,20 @@ def dict_to_json(struct: dict) -> str:
|
|
|
205
164
|
The json string.
|
|
206
165
|
"""
|
|
207
166
|
return json.dumps(struct, cls=MyEncoder)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
def sanitize_filename(filename: str) -> str:
|
|
170
|
+
"""
|
|
171
|
+
Sanitize a filename.
|
|
172
|
+
|
|
173
|
+
Parameters
|
|
174
|
+
----------
|
|
175
|
+
filename : str
|
|
176
|
+
The filename to sanitize.
|
|
177
|
+
|
|
178
|
+
Returns
|
|
179
|
+
-------
|
|
180
|
+
str
|
|
181
|
+
The sanitized filename.
|
|
182
|
+
"""
|
|
183
|
+
return slugify(filename, max_length=255)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from urllib.parse import urlparse
|
|
6
|
+
|
|
7
|
+
from boto3 import client as boto3_client
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def get_bucket_and_key(path: str) -> tuple[str, str]:
|
|
11
|
+
"""
|
|
12
|
+
Get bucket and key from path.
|
|
13
|
+
|
|
14
|
+
Parameters
|
|
15
|
+
----------
|
|
16
|
+
path : str
|
|
17
|
+
The source path to get the key from.
|
|
18
|
+
|
|
19
|
+
Returns
|
|
20
|
+
-------
|
|
21
|
+
tuple[str, str]
|
|
22
|
+
The bucket and key.
|
|
23
|
+
"""
|
|
24
|
+
parsed = urlparse(path)
|
|
25
|
+
return parsed.netloc, parsed.path
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def get_s3_source(bucket: str, key: str, filename: Path) -> None:
|
|
29
|
+
"""
|
|
30
|
+
Get S3 source.
|
|
31
|
+
|
|
32
|
+
Parameters
|
|
33
|
+
----------
|
|
34
|
+
bucket : str
|
|
35
|
+
S3 bucket name.
|
|
36
|
+
key : str
|
|
37
|
+
S3 object key.
|
|
38
|
+
filename : Path
|
|
39
|
+
Path where to save the function source.
|
|
40
|
+
|
|
41
|
+
Returns
|
|
42
|
+
-------
|
|
43
|
+
None
|
|
44
|
+
"""
|
|
45
|
+
s3 = boto3_client("s3", endpoint_url=os.getenv("S3_ENDPOINT_URL"))
|
|
46
|
+
s3.download_file(bucket, key, filename)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def get_s3_bucket() -> str | None:
|
|
50
|
+
"""
|
|
51
|
+
Function to get S3 bucket name.
|
|
52
|
+
|
|
53
|
+
Returns
|
|
54
|
+
-------
|
|
55
|
+
str
|
|
56
|
+
The S3 bucket name.
|
|
57
|
+
"""
|
|
58
|
+
return os.getenv("S3_BUCKET_NAME", "datalake")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: digitalhub
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.0b3
|
|
4
4
|
Summary: Python SDK for Digitalhub
|
|
5
5
|
Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
|
|
6
6
|
License: Apache License
|
|
@@ -239,6 +239,7 @@ Requires-Dist: PyYAML
|
|
|
239
239
|
Requires-Dist: python-dotenv
|
|
240
240
|
Requires-Dist: GitPython>=3
|
|
241
241
|
Requires-Dist: psycopg2-binary
|
|
242
|
+
Requires-Dist: python-slugify
|
|
242
243
|
Provides-Extra: dev
|
|
243
244
|
Requires-Dist: black; extra == "dev"
|
|
244
245
|
Requires-Dist: pytest; extra == "dev"
|
|
@@ -262,4 +263,4 @@ Requires-Dist: pandas<2.2,>=1.2; extra == "pandas"
|
|
|
262
263
|
The Digitalhub SDK library is used to manage entities and executions in Digitalhub from Python.
|
|
263
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.
|
|
264
265
|
|
|
265
|
-
A more detailed description of the library can be found in the [official documentation](https://scc-digitalhub.github.io/docs/)
|
|
266
|
+
A more detailed description of the library can be found in the [official documentation](https://scc-digitalhub.github.io/sdk-docs/).
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
digitalhub/__init__.py,sha256=7xCRKKsj3tm78RnVhCzVJBndGYWpoJmBI0OGRMOyrfo,1987
|
|
2
|
+
digitalhub/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
digitalhub/client/builder.py,sha256=gT9rdmdUJ86DCgM-uFSOzjGj71z25rbkjoUpRkBAnZI,2276
|
|
4
|
+
digitalhub/client/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
digitalhub/client/_base/client.py,sha256=HDv9Vr9DZpoaZVsAT5SSBD9j1oHoVuxA4ILGDl0mBz4,1299
|
|
6
|
+
digitalhub/client/dhcore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
+
digitalhub/client/dhcore/client.py,sha256=qebgURKtAg0ofCEiHSfot069X2JK9iH7TfnI58nBjmM,18071
|
|
8
|
+
digitalhub/client/dhcore/env.py,sha256=F5A5dPTliwd4UUbpw7hQQ3hoVjZYjcVF8MbniTuTFHE,563
|
|
9
|
+
digitalhub/client/dhcore/models.py,sha256=KiTg5xR8EzI7Xa1pmYmzixabLdnqlnn5kn-IILZDGIw,900
|
|
10
|
+
digitalhub/client/dhcore/utils.py,sha256=rRRS-SA_EfPaFtrceTnM2ZFkoBNZdR5Nv09wyg9dc5g,2994
|
|
11
|
+
digitalhub/client/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
+
digitalhub/client/local/client.py,sha256=VgV-kazrEJt-JGnaTGhxs29JntunQUIrjYGZ-CzkFaQ,16779
|
|
13
|
+
digitalhub/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
+
digitalhub/context/builder.py,sha256=dAL8JBog90skCLxmjTMRj32BY-vANDxFrCh_wdgTyMQ,3667
|
|
15
|
+
digitalhub/context/context.py,sha256=tiqmstDTlx_ivn5ATzZErS5kV_h7Dh97LR1TEdKD-YQ,3340
|
|
16
|
+
digitalhub/datastores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
digitalhub/datastores/builder.py,sha256=8uUqW_0fN9YBnbD8776apc8gRersZpLB-NLjM4tzVlY,3130
|
|
18
|
+
digitalhub/datastores/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
+
digitalhub/datastores/_base/datastore.py,sha256=FR6dIRBw0qlgR7r8LS_y5viv-Mo_Tgvv4UHHrbv91gc,1998
|
|
20
|
+
digitalhub/datastores/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
+
digitalhub/datastores/local/datastore.py,sha256=ZcjMk6iYcMWLpiaJGFOFSwd2juZliW5rdLi11eShIvQ,1161
|
|
22
|
+
digitalhub/datastores/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
digitalhub/datastores/remote/datastore.py,sha256=s8OILWaTVGqUDftm6G2gt3YOURw8tdgXPsAFGiHQPNg,648
|
|
24
|
+
digitalhub/datastores/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
+
digitalhub/datastores/s3/datastore.py,sha256=QK860dgHTXjYtwamfISexmpv9wCDbXsLlHeH9mn6jAA,1021
|
|
26
|
+
digitalhub/datastores/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
+
digitalhub/datastores/sql/datastore.py,sha256=XxceWQJs_qCn-I-e7c9k2nnZa3u58yENO_MQtzFjYos,1632
|
|
28
|
+
digitalhub/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
+
digitalhub/entities/registries.py,sha256=gm-_0ISMC6zg_9HLaGCXEq3WkWz9SDBTvCN6WYDBZVU,1418
|
|
30
|
+
digitalhub/entities/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
digitalhub/entities/_base/crud.py,sha256=GhvagiNE9PIHizEZwpku-IR93Tr4buR60xvOM-X-pSI,13181
|
|
32
|
+
digitalhub/entities/_base/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
+
digitalhub/entities/_base/_base/entity.py,sha256=DLJHhviHVKCo26jCEYg7iXwkfS9mDBQrHxBtHF_yE-0,2180
|
|
34
|
+
digitalhub/entities/_base/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
+
digitalhub/entities/_base/context/entity.py,sha256=xzeK0gQLWh70JTS0xdVbmS68RPZCbWrITTVJfkdZz_c,3054
|
|
36
|
+
digitalhub/entities/_base/entity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
digitalhub/entities/_base/entity/entity.py,sha256=avf1UhmNVppriP-_Mi8Rz2p3OLocZJFw3GQxXSKpkf4,3386
|
|
38
|
+
digitalhub/entities/_base/entity/metadata.py,sha256=ew0pFBH0u8m5QjkcL21KboRhBkJAJQDl6EjCeiegyEc,1690
|
|
39
|
+
digitalhub/entities/_base/entity/spec.py,sha256=yY6ScqZGRb-Sbw97g-OQ0GPHmmOX6HGYBDkvax6PKkc,1338
|
|
40
|
+
digitalhub/entities/_base/entity/status.py,sha256=UFr-9c1t--3PJDWTYmgsPhuaV0IeHGiUDN0-P_e8JE4,817
|
|
41
|
+
digitalhub/entities/_base/executable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
+
digitalhub/entities/_base/executable/entity.py,sha256=Y1IRsS0MIezpZW1os4YIweeqFvusMsXPtC6jsQmE8Pk,10000
|
|
43
|
+
digitalhub/entities/_base/material/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
+
digitalhub/entities/_base/material/entity.py,sha256=sfTlDZwM4WyGvEJRvADH9WrzqamEQNij8oECK-64qWg,6167
|
|
45
|
+
digitalhub/entities/_base/material/spec.py,sha256=jL1OohnYhUSrdTaFF3Rkw817jIjNY0ewm1wB3tgQ_9c,436
|
|
46
|
+
digitalhub/entities/_base/material/status.py,sha256=5qIfUvcOKGoM2PLloMaWqhRz78Ryap56d8cMQHo8KJo,1102
|
|
47
|
+
digitalhub/entities/_base/unversioned/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
48
|
+
digitalhub/entities/_base/unversioned/entity.py,sha256=Daxpith7-ORwZnFzL0RR3JH9ASTMuAja3GcMuZMrkUQ,2641
|
|
49
|
+
digitalhub/entities/_base/versioned/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
|
+
digitalhub/entities/_base/versioned/entity.py,sha256=Yp5HbrSuYqSmIQ0LpBvfdYOsShExJ01zIZtx-2BFEa8,2896
|
|
51
|
+
digitalhub/entities/_builders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
+
digitalhub/entities/_builders/entity.py,sha256=EHiojLFWWO6p7DGO5WlUOt-r8kK1ek_Qui-IOq6mH2Q,3797
|
|
53
|
+
digitalhub/entities/_builders/factory.py,sha256=Yh_tkMIRm7G7QE2sooy088AeA-pKvdZpwpz196DyQ3U,1276
|
|
54
|
+
digitalhub/entities/_builders/metadata.py,sha256=BgGseNbHXRsI3QTNczh3IKF_Wb_gc7L7t7e2SjoHkFo,1425
|
|
55
|
+
digitalhub/entities/_builders/name.py,sha256=sNU54TzzdYug5sqio8uaus6pP5RkEJYIEl6j0fwR4ho,485
|
|
56
|
+
digitalhub/entities/_builders/spec.py,sha256=hB3PEIvPxBQW_Rye1RNAa254K_CuhPKgQ6och7m8LQ8,1400
|
|
57
|
+
digitalhub/entities/_builders/status.py,sha256=IgQ0MoeCs6KdR0RzVeTLLvGjDgrd9_YX5N_wppNc_2Q,1712
|
|
58
|
+
digitalhub/entities/_builders/uuid.py,sha256=TUqayL2Ppp8rT4IkRxVhOp4_rUb-qklGS2tg16NnW4A,595
|
|
59
|
+
digitalhub/entities/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
+
digitalhub/entities/artifact/builder.py,sha256=KV8kVOGpxNzLO2cXk9heHaXBUKDjBT2XmtX-KHzW_Hg,3080
|
|
61
|
+
digitalhub/entities/artifact/crud.py,sha256=vIDz6EzmuCGkd08pwugr154OUjLpq5uzObse3tO-A-g,8216
|
|
62
|
+
digitalhub/entities/artifact/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
|
+
digitalhub/entities/artifact/_base/entity.py,sha256=WDauPDLE3UTCZTgSxGOr01ZarEqpNUJNVznB7wlA7AU,1111
|
|
64
|
+
digitalhub/entities/artifact/_base/spec.py,sha256=7tDvCQT-NJijpPB1ucT34xn9wSZOB79HOHAix1qAn74,300
|
|
65
|
+
digitalhub/entities/artifact/_base/status.py,sha256=qG5KUOlEHWYZWYqLDvvuZxD5EjsV0SYNNI9aHkQRHlY,188
|
|
66
|
+
digitalhub/entities/artifact/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
67
|
+
digitalhub/entities/artifact/artifact/entity.py,sha256=hj6UlJMWnWimqizhKGcKpvOpcYHxTFTk6--nQazlnIM,882
|
|
68
|
+
digitalhub/entities/artifact/artifact/spec.py,sha256=iX6czlG6W_ZoW86PD2GPc_-xLk6Zb1Vt3fk8Lzjbp3c,593
|
|
69
|
+
digitalhub/entities/artifact/artifact/status.py,sha256=x-lTgO2KkjwzlJnEhIfUtF9rzJ1DTIAd3-Hn6ZeLRqo,305
|
|
70
|
+
digitalhub/entities/dataitem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
71
|
+
digitalhub/entities/dataitem/builder.py,sha256=Yd6P9uNzNSPhhGfZnZHG2ZjYmRvOgSjJ5O0266p54ww,3387
|
|
72
|
+
digitalhub/entities/dataitem/crud.py,sha256=HhEPdJuFVM-nTt2MqxD8-c_uYtNmrcsdOB4bcoBaCsI,9860
|
|
73
|
+
digitalhub/entities/dataitem/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
74
|
+
digitalhub/entities/dataitem/_base/entity.py,sha256=FLpkfhzkaBnmkdE8rKaJS-O3vcOcPwzyHL-xb7HVGA0,1984
|
|
75
|
+
digitalhub/entities/dataitem/_base/spec.py,sha256=7TeEaavMdkXPWBoHMoxagOSt7F4Pn0Bp8qugNwPypSA,300
|
|
76
|
+
digitalhub/entities/dataitem/_base/status.py,sha256=D8eR9FOZoS8VSNkQFDAz8dJkjR7hIq8nFd9qmX19mPc,467
|
|
77
|
+
digitalhub/entities/dataitem/dataitem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
78
|
+
digitalhub/entities/dataitem/dataitem/entity.py,sha256=-5DCbta_0I8O9hGBB0BntU7LN9cMrvF-rYJluhcAK88,882
|
|
79
|
+
digitalhub/entities/dataitem/dataitem/spec.py,sha256=VaPG4mu2PtJF8J7maYwM8ToCdV3Zf-MbJUrNDoP9LNk,332
|
|
80
|
+
digitalhub/entities/dataitem/dataitem/status.py,sha256=V4K6kUFQymY9UQrmth9m6YqQUoc4Um1PizY6edG77xg,204
|
|
81
|
+
digitalhub/entities/dataitem/iceberg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
|
+
digitalhub/entities/dataitem/iceberg/entity.py,sha256=UP6xp-RJOHmyniBx4_whIKJrvc1gpKvIyTMxLOsR1lw,872
|
|
83
|
+
digitalhub/entities/dataitem/iceberg/spec.py,sha256=qQebFiY0_pt9Iy1KGsfxXg67CG9s7GCUQ7rXCydQVvI,328
|
|
84
|
+
digitalhub/entities/dataitem/iceberg/status.py,sha256=XRj9i8a-dzjqB-Ci3cfPnXTikc5khLsIgUJnF1xE01I,202
|
|
85
|
+
digitalhub/entities/dataitem/table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
|
+
digitalhub/entities/dataitem/table/entity.py,sha256=qqZv59ri5Bl64BUxHyrzjE8sulE3gY0Wz8qFkkuGDWg,4370
|
|
87
|
+
digitalhub/entities/dataitem/table/models.py,sha256=wfnDMQ3nAM1XAJAuMj7CvaXfOTVMQicG_2I6hZB6iag,1093
|
|
88
|
+
digitalhub/entities/dataitem/table/spec.py,sha256=5boOI9zhIvuwIQo0th0E2941_rQEPIRIIYLhySbwbFY,671
|
|
89
|
+
digitalhub/entities/dataitem/table/status.py,sha256=28-_LoSg84x4OwLbRungCHk-ObuobZ5vKuzk1NoBGZA,198
|
|
90
|
+
digitalhub/entities/function/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
91
|
+
digitalhub/entities/function/builder.py,sha256=5E1j2-T0hoEg8rRJbslBJcFH4h70tbyDQ4L5CKQestM,2087
|
|
92
|
+
digitalhub/entities/function/crud.py,sha256=a_O2bhJxvovl_K25mtzimYUcfwxVQ87E1ykQe6HAf-o,6908
|
|
93
|
+
digitalhub/entities/function/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
|
+
digitalhub/entities/function/_base/entity.py,sha256=mrjtq3mLH65sxqGijBOgit8_92MPJ85fburNpHSBBOE,3004
|
|
95
|
+
digitalhub/entities/function/_base/models.py,sha256=6LYyImwnhFxl40mq5nF99mqJ62Mjs3XHUpHVqnSCEkg,2726
|
|
96
|
+
digitalhub/entities/function/_base/spec.py,sha256=SjCtp3JBUTPTLMY_TE8wM1HPKVl7jH_wFEqQXBj1rfo,274
|
|
97
|
+
digitalhub/entities/function/_base/status.py,sha256=N-Z1hw13qV7kWFJLQPaH3rRZ2z7AvZeuWYER95lG344,170
|
|
98
|
+
digitalhub/entities/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
99
|
+
digitalhub/entities/model/builder.py,sha256=kJICq8v5D1q-MwAgXyX640ABb0OITjcEu_3Uq6d_1eQ,3462
|
|
100
|
+
digitalhub/entities/model/crud.py,sha256=qhiAj9UNeiKIDNCOe3kSbv6Ed_NyrEwTgt-ZVHDGIeo,8048
|
|
101
|
+
digitalhub/entities/model/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
102
|
+
digitalhub/entities/model/_base/entity.py,sha256=vcvSIiFkUR3RBPbTV1q8KOkQTj8R9bOqfkqHBgf1rK4,916
|
|
103
|
+
digitalhub/entities/model/_base/spec.py,sha256=eo2FSqIlNi_10VETBdMFAWX177exzb0-oi9EuEPVBbk,1089
|
|
104
|
+
digitalhub/entities/model/_base/status.py,sha256=v-RbusxYeen6BPObVFUvr76k4MKxCdsaF9geSYpKi_8,182
|
|
105
|
+
digitalhub/entities/model/huggingface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
|
+
digitalhub/entities/model/huggingface/entity.py,sha256=BnBWrAmTA8cEM47sqpxQeCLCl4Wu7CbpFKhYvf8qLaA,873
|
|
107
|
+
digitalhub/entities/model/huggingface/spec.py,sha256=48mItA3nutcG-get6qOoBJsopmXQgepUXU3zh9nV-EA,1000
|
|
108
|
+
digitalhub/entities/model/huggingface/status.py,sha256=ZFekC9oPuOpUmDcXMn-cpyXp2Jiiux46Vs4oPiiakIA,195
|
|
109
|
+
digitalhub/entities/model/mlflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
110
|
+
digitalhub/entities/model/mlflow/entity.py,sha256=RRRnRWlJZS4s9_Aj8PZfCmfw6tNJGUZpygQygAbxm8I,823
|
|
111
|
+
digitalhub/entities/model/mlflow/models.py,sha256=FCCT_jd2j6T517dOZ1NX0ByPapudslir8FJepfQYz4I,464
|
|
112
|
+
digitalhub/entities/model/mlflow/spec.py,sha256=iPW9ZEEEfWhWWia7o7XFeO05qr-CtWSLCkIKw2s8zSM,1286
|
|
113
|
+
digitalhub/entities/model/mlflow/status.py,sha256=bGTTWHAQt3cKFnGCdMinoWNIWzyVEkHi8ybqVT8xA5k,185
|
|
114
|
+
digitalhub/entities/model/mlflow/utils.py,sha256=fHOr3kLqU-yY_FCIMgSLDrniyZx4pFSrHX8sqls2Pvk,2208
|
|
115
|
+
digitalhub/entities/model/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
116
|
+
digitalhub/entities/model/model/entity.py,sha256=TlciSy8ELKtDybhVvJlNnhy7Ct6YApmu3D8nJ9xIybs,813
|
|
117
|
+
digitalhub/entities/model/model/spec.py,sha256=vO02rf2nB1TKJ7WPgobq7PuTae5Z5twy1fLVTopLJC8,293
|
|
118
|
+
digitalhub/entities/model/model/status.py,sha256=dF_sh-cm9qGBQTyXDsAm8FkugYW8XHSQxlY-QGcpsLI,183
|
|
119
|
+
digitalhub/entities/model/sklearn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
120
|
+
digitalhub/entities/model/sklearn/entity.py,sha256=pPy4mOqOmbkqNkKFUnhrsIQNt2mGNPUeTS62poZfa6M,833
|
|
121
|
+
digitalhub/entities/model/sklearn/spec.py,sha256=Md0aKlfNHZ2fhZbJgp9wZxF0Hu6XIkcniQHCgwoRdkk,301
|
|
122
|
+
digitalhub/entities/model/sklearn/status.py,sha256=eqkPPtERX-6_BjPb_GD8j1FIeavpl43k-dfXZGqzGI0,187
|
|
123
|
+
digitalhub/entities/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
124
|
+
digitalhub/entities/project/builder.py,sha256=6y0-uLv5HAsJ5mLq3k6aG0cgiHonqVigzAC5rgyN11o,1848
|
|
125
|
+
digitalhub/entities/project/crud.py,sha256=Ki_x9jZqPccNHVkJ9tWigmD55ncZ5D6cs33rjSxi_cc,8854
|
|
126
|
+
digitalhub/entities/project/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
127
|
+
digitalhub/entities/project/project/entity.py,sha256=PuSCpP0mYSSIgV3q_bCYlPYDZnOBe4D7zxge6oyVvkY,53375
|
|
128
|
+
digitalhub/entities/project/project/spec.py,sha256=zRJKFztK7z79LU4spxX7Rykv_1sK6kV9F9Qg95HBc6s,1346
|
|
129
|
+
digitalhub/entities/project/project/status.py,sha256=w1Hj_yFwr_5X7ZH7SmtZRto4qUdCWb010viFfvbqX48,168
|
|
130
|
+
digitalhub/entities/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
131
|
+
digitalhub/entities/run/builder.py,sha256=JNyGT3NY7JOJxRO4pW4IcV2rQBoFwP-_Xa2ta3oCbS0,1779
|
|
132
|
+
digitalhub/entities/run/crud.py,sha256=TJWIMrrgRxweSkKw_5iWGPZukGAi6JjhwZQmiIC02dg,5068
|
|
133
|
+
digitalhub/entities/run/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
134
|
+
digitalhub/entities/run/_base/entity.py,sha256=XZjMZDKSLJSHPEyTf740g5kD3OCDDCEbsasqbRX8kXE,12258
|
|
135
|
+
digitalhub/entities/run/_base/spec.py,sha256=KKIwKBe2asOQq-CKI7NbveGUvYnQfaVrnS92IEJ-e0s,3929
|
|
136
|
+
digitalhub/entities/run/_base/status.py,sha256=be2TK_KcLwEA5uhpkQXBQHDTc6bPaaIz3e9UZuVhXq4,2850
|
|
137
|
+
digitalhub/entities/secret/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
|
+
digitalhub/entities/secret/builder.py,sha256=A888uBNaw86fhFiCqxgSAZYo1ZdmxqpUcMWy7BazGKw,2188
|
|
139
|
+
digitalhub/entities/secret/crud.py,sha256=tGnJv3sywoBdTfqx57eSb1VAcnVguJUN-Y6lz2nPlqk,6834
|
|
140
|
+
digitalhub/entities/secret/secret/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
141
|
+
digitalhub/entities/secret/secret/entity.py,sha256=JtAzru6_dr0e6Mgd6VJ7f04ESrBxybD155x6hZchXWI,2037
|
|
142
|
+
digitalhub/entities/secret/secret/spec.py,sha256=Ol4bDVd2lR6uUUtFj80YNSgtRsnfYGE3C7UN2c_LUsc,727
|
|
143
|
+
digitalhub/entities/secret/secret/status.py,sha256=TK9CUKA6eg9qegqgR9t-u1g-vEeFGB6v5dN9YJNukw8,166
|
|
144
|
+
digitalhub/entities/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
145
|
+
digitalhub/entities/task/builder.py,sha256=bwAQzm_Yy0UHfBVI7nondH62PcLUwWWIeQ8QHnuNXhw,1670
|
|
146
|
+
digitalhub/entities/task/crud.py,sha256=gOHgEYg9BsDLE6KvJtzf-UlVOnc-p2cnJVuG7CsbSWU,5323
|
|
147
|
+
digitalhub/entities/task/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
148
|
+
digitalhub/entities/task/_base/entity.py,sha256=AtmGfu-EDqTWfPxrxNYe59pK5NLyuBlXiri5p_cwP7E,3083
|
|
149
|
+
digitalhub/entities/task/_base/models.py,sha256=Vkequ03zsI1n4L-VGO0vMYDnrhK63rB5I0NshB3s6k4,4254
|
|
150
|
+
digitalhub/entities/task/_base/spec.py,sha256=wc9-i0VguS99WG4jQhYF3s2d_mwwtg_Yrkm8RbDa_vk,1289
|
|
151
|
+
digitalhub/entities/task/_base/status.py,sha256=FCSSQscQ0dHEpXdc5vSrIkTXon9FNNOr0M1KVh2ZVAA,162
|
|
152
|
+
digitalhub/entities/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
153
|
+
digitalhub/entities/utils/api.py,sha256=jSNYoLzoYSvu2wI-fs6u87AFYGAaboPCX4y6f2LqJ5A,6597
|
|
154
|
+
digitalhub/entities/utils/entity_types.py,sha256=PcAh78WAC9DgwSU6LxGncn0g7Wzb0iZXc-3Ooik8-ks,324
|
|
155
|
+
digitalhub/entities/utils/state.py,sha256=gKxDy__MEHlz-1SrwICZnFOIqDoI-CBo4ylIBM9TaoQ,609
|
|
156
|
+
digitalhub/entities/utils/utils.py,sha256=HD4tQcx8MQ8YVjz9aIgUHgYIk1t4Q9AlkhaY0NgN8Mg,4193
|
|
157
|
+
digitalhub/entities/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
158
|
+
digitalhub/entities/workflow/builder.py,sha256=lz36Zckj9FaE6yhGLOhhKTHjYW8DUjBVnfZPZlW3gQw,2084
|
|
159
|
+
digitalhub/entities/workflow/crud.py,sha256=W26YfBi9YT8OcgPOofTIfosoZ5zCZTVgQCykmT7u-KE,6843
|
|
160
|
+
digitalhub/entities/workflow/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
161
|
+
digitalhub/entities/workflow/_base/entity.py,sha256=H9qmogay12W_RETMj_QXVPBLjPRQ14gwJyMKtM3pcRs,2180
|
|
162
|
+
digitalhub/entities/workflow/_base/spec.py,sha256=UoKOUEqKDFACQwctDWfwhro77m3kvjhLDGOhhfRvEzQ,274
|
|
163
|
+
digitalhub/entities/workflow/_base/status.py,sha256=W0j0CNdu9o2vbk0awpnDrpgwf_fZpgdtct4s0BxRdyk,170
|
|
164
|
+
digitalhub/readers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
165
|
+
digitalhub/readers/builder.py,sha256=H56LA2KWUVk7gbCI_2Y11oXMC5anXMJzYW_56wnq3ws,1313
|
|
166
|
+
digitalhub/readers/registry.py,sha256=k_BJidjIC-fLpOHUNPZNF_OrkDbJzC0V4f3ZNQjKiyg,407
|
|
167
|
+
digitalhub/readers/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
168
|
+
digitalhub/readers/_base/readers.py,sha256=Fq7liW_ogeucdIUS7_oDYpMzrwuKxVMqwpyf0sKLnwc,1506
|
|
169
|
+
digitalhub/readers/pandas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
170
|
+
digitalhub/readers/pandas/readers.py,sha256=Q63mwTKmY1mdpvTtx1scf9x2rBPfgBpbSu1r-4zvIjk,5351
|
|
171
|
+
digitalhub/registry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
172
|
+
digitalhub/registry/models.py,sha256=SnCf7rGa6Qhv88dmjSA7XnYXsZ9e9o6lfVBwh0EJgbI,1607
|
|
173
|
+
digitalhub/registry/registry.py,sha256=Wa23GXWJwpjNHBiBN8N1oOLfHrMdJwa0GY92FtBkqP4,1861
|
|
174
|
+
digitalhub/registry/utils.py,sha256=GhxPcvdWN2vH2gru2TVL4sfyNpgvprToHYqtakVhF7g,3277
|
|
175
|
+
digitalhub/runtimes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
176
|
+
digitalhub/runtimes/base.py,sha256=ddzKh-NESFJCYjt-Y8HdGrWDWKZ7TQhxRgRWKowCX6I,3961
|
|
177
|
+
digitalhub/runtimes/builder.py,sha256=J30UTqk6nPoUaRdLWr87_bm99rt43N9WDAad09HZ68g,1530
|
|
178
|
+
digitalhub/runtimes/kind_registry.py,sha256=PZ03e24FR68ChaOMspDi1UoeQNKtifofmB3O41HOvK8,3442
|
|
179
|
+
digitalhub/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
180
|
+
digitalhub/stores/builder.py,sha256=xYkHHD-WnPTVD6BB2dSabJVjM1XUtKn3TiMrDDJBL0s,6631
|
|
181
|
+
digitalhub/stores/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
182
|
+
digitalhub/stores/_base/store.py,sha256=tU-VsTZxkJVLyYpp23Cv_UjnHx74dk6ztdmVhsUO4cA,4171
|
|
183
|
+
digitalhub/stores/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
184
|
+
digitalhub/stores/local/store.py,sha256=KjJ8OG6vfNrckMWbkbEA8KDM6b0Ds0Ed3fwxvTnGOkQ,5673
|
|
185
|
+
digitalhub/stores/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
186
|
+
digitalhub/stores/remote/store.py,sha256=MBsotmc5Zk-eT5vgAufnYyR2xJmQvgBR28u3bhaSJtM,3615
|
|
187
|
+
digitalhub/stores/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
188
|
+
digitalhub/stores/s3/store.py,sha256=dS0TumNf3tDkpVcn_0_kp-ERogP3w87tEa-osIU11AQ,15515
|
|
189
|
+
digitalhub/stores/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
190
|
+
digitalhub/stores/sql/store.py,sha256=NdELCkP2Rl5ewiRuI4J9eRvTiBzVmpF0cMowZ1NME_8,8654
|
|
191
|
+
digitalhub/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
192
|
+
digitalhub/utils/data_utils.py,sha256=2eETyxml610Ij7uyDnNc3YiELl2WFLIkj3FL4y6EPk8,2733
|
|
193
|
+
digitalhub/utils/exceptions.py,sha256=Xq0ouzpstU0pzH7GFcoq7TryOMaDZbxCbWFWXpMsM30,868
|
|
194
|
+
digitalhub/utils/file_utils.py,sha256=Qe71D2b6mOil_Y0Hy2QCJbnIaQOyXvhjFRbJoZXhsGQ,4006
|
|
195
|
+
digitalhub/utils/generic_utils.py,sha256=4t6O2EG8FuKwWVh6X79EJNwgWRMTXiYzWxhTmSMEBnQ,3530
|
|
196
|
+
digitalhub/utils/git_utils.py,sha256=aFYL1cpfY-2VnlW7eHmjjjlTLECc5UUUfjb_IQPOY5k,3244
|
|
197
|
+
digitalhub/utils/io_utils.py,sha256=SfYl6f-vUOophuWJ7zupBDx2lmHDohcjwcUqcz6sGdI,1809
|
|
198
|
+
digitalhub/utils/logger.py,sha256=ml3ne6D8wuRdNZ4F6ywmvWotSxjmZWnmKgNiuHb4R5M,437
|
|
199
|
+
digitalhub/utils/s3_utils.py,sha256=oXLzp4K7o45IwK0XOMt4OElDyB09fKRic5WTNA82WUA,1113
|
|
200
|
+
digitalhub/utils/uri_utils.py,sha256=wArWRQ3ygGUNHexGKP3YM-aBE7TyGxhPvfEc7R4T4p4,1144
|
|
201
|
+
test/test_crud_functions.py,sha256=tQs_QBaPCuYVSBpbl-he5_6jr_tteCXVmohj1ZluNsA,2769
|
|
202
|
+
test/test_crud_runs.py,sha256=lkssy15UPJKymgazmi5gG6RLxyTsG-tM_CpNCowD2gQ,2220
|
|
203
|
+
test/test_crud_tasks.py,sha256=sIbY-Hq6C2N20hWHfbCMw9c-zpYS0m_UJGnPINR4Q6s,2111
|
|
204
|
+
test/testkfp.py,sha256=01UpLKkVbwAQu4S1BMiddnnq5x1DStMlJtCoHzi9zq8,1060
|
|
205
|
+
test/testkfp_pipeline.py,sha256=WceFrCp-avHI7PcwIvnv7Kgs2xK3oQqU6sjaonGamg8,622
|
|
206
|
+
test/local/CRUD/test_artifacts.py,sha256=Y3J_C7SDRSsQd2SGIZjPIOvyTL92B1sTFrUONG3YG0Y,2968
|
|
207
|
+
test/local/CRUD/test_dataitems.py,sha256=LQqTzI59uwTGy4zoq8jL0yWVe2W9vXlatkgDU9aB6xg,2968
|
|
208
|
+
test/local/CRUD/test_models.py,sha256=msosbZuRwIMbZtmi3ZaOva4TjQ4lrzkNu9AguIFhrSo,2929
|
|
209
|
+
test/local/imports/test_imports.py,sha256=W-YugO0rpJwvtWp57MXaXfEmE-f5iWuCiLY-n0ZU4z8,1271
|
|
210
|
+
digitalhub-0.8.0b3.dist-info/LICENSE.txt,sha256=_yVOtnbW7Ss28mp058UEEc1X4Rgj8-kQBP_kj8_Sc88,11585
|
|
211
|
+
digitalhub-0.8.0b3.dist-info/METADATA,sha256=OHlVFeAz2e5JHWpULDand9X16_uW3l1m4Znk93OjLBw,15288
|
|
212
|
+
digitalhub-0.8.0b3.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
|
213
|
+
digitalhub-0.8.0b3.dist-info/top_level.txt,sha256=ae9pDfCF27ZoaVAxuBKONMP0lm5P-N_I-e-no1WlvD8,16
|
|
214
|
+
digitalhub-0.8.0b3.dist-info/RECORD,,
|