digitalhub 0.8.1__py3-none-any.whl → 0.9.0b0__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 +19 -2
- digitalhub/client/_base/api_builder.py +16 -0
- digitalhub/client/_base/client.py +31 -0
- digitalhub/client/api.py +2 -38
- digitalhub/client/dhcore/api_builder.py +100 -0
- digitalhub/client/dhcore/client.py +77 -24
- digitalhub/client/dhcore/enums.py +26 -0
- digitalhub/client/dhcore/env.py +2 -2
- digitalhub/client/dhcore/utils.py +17 -17
- digitalhub/client/local/api_builder.py +100 -0
- digitalhub/client/local/client.py +20 -0
- digitalhub/context/api.py +3 -38
- digitalhub/context/builder.py +10 -23
- digitalhub/context/context.py +20 -92
- digitalhub/entities/_base/context/entity.py +30 -22
- digitalhub/entities/_base/entity/_constructors/metadata.py +12 -1
- digitalhub/entities/_base/entity/_constructors/name.py +1 -1
- digitalhub/entities/_base/entity/_constructors/spec.py +1 -1
- digitalhub/entities/_base/entity/_constructors/status.py +3 -2
- digitalhub/entities/_base/entity/builder.py +6 -1
- digitalhub/entities/_base/entity/entity.py +30 -10
- digitalhub/entities/_base/entity/metadata.py +22 -0
- digitalhub/entities/_base/entity/spec.py +7 -2
- digitalhub/entities/_base/executable/entity.py +8 -8
- digitalhub/entities/_base/material/entity.py +48 -16
- digitalhub/entities/_base/material/status.py +0 -31
- digitalhub/entities/_base/material/utils.py +106 -0
- digitalhub/entities/_base/project/entity.py +341 -0
- digitalhub/entities/_base/unversioned/entity.py +1 -23
- digitalhub/entities/_base/versioned/entity.py +0 -25
- digitalhub/entities/_commons/enums.py +103 -0
- digitalhub/entities/_commons/utils.py +83 -0
- digitalhub/entities/_operations/processor.py +1747 -0
- digitalhub/entities/artifact/_base/builder.py +1 -1
- digitalhub/entities/artifact/_base/entity.py +1 -1
- digitalhub/entities/artifact/artifact/builder.py +2 -1
- digitalhub/entities/artifact/crud.py +46 -29
- digitalhub/entities/artifact/utils.py +62 -0
- digitalhub/entities/dataitem/_base/builder.py +1 -1
- digitalhub/entities/dataitem/_base/entity.py +6 -6
- digitalhub/entities/dataitem/crud.py +50 -66
- digitalhub/entities/dataitem/dataitem/builder.py +2 -1
- digitalhub/entities/dataitem/iceberg/builder.py +2 -1
- digitalhub/entities/dataitem/table/builder.py +2 -1
- digitalhub/entities/dataitem/table/entity.py +5 -10
- digitalhub/entities/dataitem/table/models.py +4 -5
- digitalhub/entities/dataitem/utils.py +137 -0
- digitalhub/entities/function/_base/builder.py +1 -1
- digitalhub/entities/function/_base/entity.py +5 -1
- digitalhub/entities/function/crud.py +36 -17
- digitalhub/entities/model/_base/builder.py +1 -1
- digitalhub/entities/model/_base/entity.py +1 -1
- digitalhub/entities/model/crud.py +46 -29
- digitalhub/entities/model/huggingface/builder.py +2 -1
- digitalhub/entities/model/huggingface/spec.py +4 -2
- digitalhub/entities/model/mlflow/builder.py +2 -1
- digitalhub/entities/model/mlflow/models.py +17 -9
- digitalhub/entities/model/mlflow/spec.py +6 -1
- digitalhub/entities/model/mlflow/utils.py +4 -2
- digitalhub/entities/model/model/builder.py +2 -1
- digitalhub/entities/model/sklearn/builder.py +2 -1
- digitalhub/entities/model/utils.py +62 -0
- digitalhub/entities/project/_base/builder.py +2 -2
- digitalhub/entities/project/_base/entity.py +82 -272
- digitalhub/entities/project/crud.py +110 -91
- digitalhub/entities/project/utils.py +35 -0
- digitalhub/entities/run/_base/builder.py +3 -1
- digitalhub/entities/run/_base/entity.py +52 -54
- digitalhub/entities/run/_base/spec.py +11 -7
- digitalhub/entities/run/crud.py +35 -17
- digitalhub/entities/secret/_base/builder.py +2 -2
- digitalhub/entities/secret/_base/entity.py +4 -10
- digitalhub/entities/secret/crud.py +36 -21
- digitalhub/entities/task/_base/builder.py +14 -14
- digitalhub/entities/task/_base/entity.py +6 -6
- digitalhub/entities/task/_base/models.py +29 -6
- digitalhub/entities/task/_base/spec.py +44 -13
- digitalhub/entities/task/_base/utils.py +18 -0
- digitalhub/entities/task/crud.py +35 -15
- digitalhub/entities/workflow/_base/builder.py +1 -1
- digitalhub/entities/workflow/_base/entity.py +14 -6
- digitalhub/entities/workflow/crud.py +36 -17
- digitalhub/factory/utils.py +1 -1
- digitalhub/readers/_base/reader.py +2 -2
- digitalhub/readers/_commons/enums.py +13 -0
- digitalhub/readers/api.py +3 -2
- digitalhub/readers/factory.py +12 -6
- digitalhub/readers/pandas/reader.py +20 -8
- digitalhub/runtimes/_base.py +0 -7
- digitalhub/stores/_base/store.py +53 -9
- digitalhub/stores/builder.py +5 -5
- digitalhub/stores/local/store.py +37 -2
- digitalhub/stores/remote/store.py +25 -3
- digitalhub/stores/s3/store.py +34 -7
- digitalhub/stores/sql/store.py +112 -45
- digitalhub/utils/exceptions.py +6 -0
- digitalhub/utils/file_utils.py +60 -2
- digitalhub/utils/generic_utils.py +45 -4
- digitalhub/utils/io_utils.py +18 -0
- digitalhub/utils/uri_utils.py +153 -15
- {digitalhub-0.8.1.dist-info → digitalhub-0.9.0b0.dist-info}/METADATA +2 -2
- {digitalhub-0.8.1.dist-info → digitalhub-0.9.0b0.dist-info}/RECORD +110 -113
- test/testkfp.py +4 -1
- digitalhub/datastores/_base/datastore.py +0 -85
- digitalhub/datastores/api.py +0 -37
- digitalhub/datastores/builder.py +0 -110
- digitalhub/datastores/local/datastore.py +0 -50
- digitalhub/datastores/remote/__init__.py +0 -0
- digitalhub/datastores/remote/datastore.py +0 -31
- digitalhub/datastores/s3/__init__.py +0 -0
- digitalhub/datastores/s3/datastore.py +0 -46
- digitalhub/datastores/sql/__init__.py +0 -0
- digitalhub/datastores/sql/datastore.py +0 -68
- digitalhub/entities/_base/api_utils.py +0 -620
- digitalhub/entities/_base/crud.py +0 -468
- digitalhub/entities/function/_base/models.py +0 -118
- digitalhub/entities/utils/__init__.py +0 -0
- digitalhub/entities/utils/api.py +0 -346
- digitalhub/entities/utils/entity_types.py +0 -19
- digitalhub/entities/utils/state.py +0 -31
- digitalhub/entities/utils/utils.py +0 -202
- /digitalhub/{context → entities/_base/project}/__init__.py +0 -0
- /digitalhub/{datastores → entities/_commons}/__init__.py +0 -0
- /digitalhub/{datastores/_base → entities/_operations}/__init__.py +0 -0
- /digitalhub/{datastores/local → readers/_commons}/__init__.py +0 -0
- {digitalhub-0.8.1.dist-info → digitalhub-0.9.0b0.dist-info}/LICENSE.txt +0 -0
- {digitalhub-0.8.1.dist-info → digitalhub-0.9.0b0.dist-info}/WHEEL +0 -0
- {digitalhub-0.8.1.dist-info → digitalhub-0.9.0b0.dist-info}/top_level.txt +0 -0
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import typing
|
|
4
|
-
from pathlib import Path
|
|
5
|
-
from typing import Any
|
|
6
|
-
|
|
7
|
-
from digitalhub.datastores._base.datastore import Datastore
|
|
8
|
-
from digitalhub.readers.api import get_reader_by_object
|
|
9
|
-
|
|
10
|
-
if typing.TYPE_CHECKING:
|
|
11
|
-
from digitalhub.stores.local.store import LocalStore
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class LocalDatastore(Datastore):
|
|
15
|
-
"""
|
|
16
|
-
Local Datastore class.
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
def __init__(self, store: LocalStore, **kwargs) -> None:
|
|
20
|
-
super().__init__(store, **kwargs)
|
|
21
|
-
self.store: LocalStore
|
|
22
|
-
|
|
23
|
-
def write_df(self, df: Any, dst: str, extension: str | None = None, **kwargs) -> str:
|
|
24
|
-
"""
|
|
25
|
-
Method to write a dataframe to a file. Kwargs are passed to df.to_parquet().
|
|
26
|
-
If destination is not provided, the dataframe is written to the default
|
|
27
|
-
store path with generated name.
|
|
28
|
-
|
|
29
|
-
Parameters
|
|
30
|
-
----------
|
|
31
|
-
df : Any
|
|
32
|
-
The dataframe to write.
|
|
33
|
-
dst : str
|
|
34
|
-
The destination of the dataframe.
|
|
35
|
-
**kwargs : dict
|
|
36
|
-
Keyword arguments.
|
|
37
|
-
|
|
38
|
-
Returns
|
|
39
|
-
-------
|
|
40
|
-
str
|
|
41
|
-
Path of written dataframe.
|
|
42
|
-
"""
|
|
43
|
-
self.store._check_local_dst(dst)
|
|
44
|
-
self._validate_extension(Path(dst).suffix.removeprefix("."))
|
|
45
|
-
|
|
46
|
-
# Write dataframe
|
|
47
|
-
reader = get_reader_by_object(df)
|
|
48
|
-
reader.write_df(df, dst, extension=extension, **kwargs)
|
|
49
|
-
|
|
50
|
-
return dst
|
|
File without changes
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import typing
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
|
-
from digitalhub.datastores._base.datastore import Datastore
|
|
7
|
-
|
|
8
|
-
if typing.TYPE_CHECKING:
|
|
9
|
-
from digitalhub.stores.remote.store import RemoteStore
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class RemoteDatastore(Datastore):
|
|
13
|
-
"""
|
|
14
|
-
Remote Datastore class.
|
|
15
|
-
"""
|
|
16
|
-
|
|
17
|
-
def __init__(self, store: RemoteStore, **kwargs) -> None:
|
|
18
|
-
super().__init__(store, **kwargs)
|
|
19
|
-
self.store: RemoteStore
|
|
20
|
-
|
|
21
|
-
def write_df(self, df: Any, dst: str, extension: str | None = None, **kwargs) -> str:
|
|
22
|
-
"""
|
|
23
|
-
Method to write a dataframe to a file. Note that this method is not implemented
|
|
24
|
-
since the remote store is not meant to write dataframes.
|
|
25
|
-
|
|
26
|
-
Raises
|
|
27
|
-
------
|
|
28
|
-
NotImplementedError
|
|
29
|
-
This method is not implemented.
|
|
30
|
-
"""
|
|
31
|
-
raise NotImplementedError("Remote store does not support write_df.")
|
|
File without changes
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import typing
|
|
4
|
-
from io import BytesIO
|
|
5
|
-
from typing import Any
|
|
6
|
-
|
|
7
|
-
from digitalhub.datastores._base.datastore import Datastore
|
|
8
|
-
from digitalhub.readers.api import get_reader_by_object
|
|
9
|
-
|
|
10
|
-
if typing.TYPE_CHECKING:
|
|
11
|
-
from digitalhub.stores.s3.store import S3Store
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class S3Datastore(Datastore):
|
|
15
|
-
"""
|
|
16
|
-
S3 Datastore class.
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
def __init__(self, store: S3Store, **kwargs) -> None:
|
|
20
|
-
super().__init__(store, **kwargs)
|
|
21
|
-
self.store: S3Store
|
|
22
|
-
|
|
23
|
-
def write_df(self, df: Any, dst: str, extension: str | None = None, **kwargs) -> str:
|
|
24
|
-
"""
|
|
25
|
-
Write a dataframe to S3 based storage. Kwargs are passed to df.to_parquet().
|
|
26
|
-
|
|
27
|
-
Parameters
|
|
28
|
-
----------
|
|
29
|
-
df : Any
|
|
30
|
-
The dataframe.
|
|
31
|
-
dst : str
|
|
32
|
-
The destination path on S3 based storage.
|
|
33
|
-
**kwargs : dict
|
|
34
|
-
Keyword arguments.
|
|
35
|
-
|
|
36
|
-
Returns
|
|
37
|
-
-------
|
|
38
|
-
str
|
|
39
|
-
The S3 path where the dataframe was saved.
|
|
40
|
-
"""
|
|
41
|
-
fileobj = BytesIO()
|
|
42
|
-
reader = get_reader_by_object(df)
|
|
43
|
-
reader.write_df(df, fileobj, extension=extension, **kwargs)
|
|
44
|
-
|
|
45
|
-
key = self.store._get_key(dst)
|
|
46
|
-
return self.store.upload_fileobject(fileobj, key)
|
|
File without changes
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import typing
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
|
-
from digitalhub.datastores._base.datastore import Datastore
|
|
7
|
-
from digitalhub.readers.api import get_reader_by_object
|
|
8
|
-
|
|
9
|
-
if typing.TYPE_CHECKING:
|
|
10
|
-
from digitalhub.stores.sql.store import SqlStore
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class SqlDatastore(Datastore):
|
|
14
|
-
"""
|
|
15
|
-
Sql Datastore class.
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
|
-
def __init__(self, store: SqlStore, **kwargs) -> None:
|
|
19
|
-
super().__init__(store, **kwargs)
|
|
20
|
-
self.store: SqlStore
|
|
21
|
-
|
|
22
|
-
def write_df(self, df: Any, dst: str, extension: str | None = None, **kwargs) -> str:
|
|
23
|
-
"""
|
|
24
|
-
Write a dataframe to a database. Kwargs are passed to df.to_sql().
|
|
25
|
-
|
|
26
|
-
Parameters
|
|
27
|
-
----------
|
|
28
|
-
df : Any
|
|
29
|
-
The dataframe to write.
|
|
30
|
-
dst : str
|
|
31
|
-
The destination of the dataframe.
|
|
32
|
-
**kwargs : dict
|
|
33
|
-
Keyword arguments.
|
|
34
|
-
|
|
35
|
-
Returns
|
|
36
|
-
-------
|
|
37
|
-
str
|
|
38
|
-
Path of written dataframe.
|
|
39
|
-
"""
|
|
40
|
-
schema = self.store._get_schema(dst)
|
|
41
|
-
table = self.store._get_table_name(dst)
|
|
42
|
-
return self._upload_table(df, schema, table, **kwargs)
|
|
43
|
-
|
|
44
|
-
def _upload_table(self, df: Any, schema: str, table: str, **kwargs) -> str:
|
|
45
|
-
"""
|
|
46
|
-
Upload a table to SQL based storage.
|
|
47
|
-
|
|
48
|
-
Parameters
|
|
49
|
-
----------
|
|
50
|
-
df : DataFrame
|
|
51
|
-
The dataframe.
|
|
52
|
-
schema : str
|
|
53
|
-
Destination schema.
|
|
54
|
-
table : str
|
|
55
|
-
Destination table.
|
|
56
|
-
**kwargs : dict
|
|
57
|
-
Keyword arguments.
|
|
58
|
-
|
|
59
|
-
Returns
|
|
60
|
-
-------
|
|
61
|
-
str
|
|
62
|
-
The SQL URI where the dataframe was saved.
|
|
63
|
-
"""
|
|
64
|
-
reader = get_reader_by_object(df)
|
|
65
|
-
engine = self.store._check_factory()
|
|
66
|
-
reader.write_table(df, table, engine, schema, **kwargs)
|
|
67
|
-
engine.dispose()
|
|
68
|
-
return f"sql://{engine.url.database}/{schema}/{table}"
|