digitalhub 0.8.0b2__py3-none-any.whl → 0.8.0b4__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 +5 -4
- digitalhub/client/builder.py +3 -3
- digitalhub/client/{objects/dhcore.py → dhcore/client.py} +9 -49
- 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/{entity/context.py → context/entity.py} +4 -4
- digitalhub/entities/_base/crud.py +3 -3
- digitalhub/entities/_base/entity/{base.py → entity.py} +8 -34
- 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/unversioned/builder.py +66 -0
- digitalhub/entities/_base/unversioned/entity.py +49 -0
- digitalhub/entities/_base/versioned/__init__.py +0 -0
- digitalhub/entities/_base/versioned/builder.py +68 -0
- digitalhub/entities/_base/versioned/entity.py +53 -0
- digitalhub/entities/_builders/entity.py +153 -0
- digitalhub/entities/_builders/metadata.py +5 -21
- digitalhub/entities/_builders/spec.py +11 -21
- digitalhub/entities/_builders/status.py +10 -20
- digitalhub/entities/_builders/uuid.py +4 -11
- digitalhub/entities/artifact/_base/__init__.py +0 -0
- digitalhub/entities/artifact/_base/builder.py +86 -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/builder.py +18 -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 +16 -98
- digitalhub/entities/artifact/crud.py +4 -4
- digitalhub/entities/builders.py +63 -0
- digitalhub/entities/dataitem/_base/__init__.py +0 -0
- digitalhub/entities/dataitem/_base/builder.py +86 -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 +16 -109
- digitalhub/entities/dataitem/crud.py +8 -5
- digitalhub/entities/dataitem/dataitem/__init__.py +0 -0
- digitalhub/entities/dataitem/dataitem/builder.py +18 -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/builder.py +18 -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/table/builder.py +18 -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/_base/builder.py +78 -0
- digitalhub/entities/function/{entity.py → _base/entity.py} +8 -8
- 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 +22 -57
- digitalhub/entities/function/crud.py +3 -3
- digitalhub/entities/model/_base/__init__.py +0 -0
- digitalhub/entities/model/_base/builder.py +86 -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 +16 -117
- digitalhub/entities/model/crud.py +4 -4
- digitalhub/entities/model/huggingface/__init__.py +0 -0
- digitalhub/entities/model/huggingface/builder.py +18 -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/builder.py +18 -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/builder.py +18 -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/builder.py +18 -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/_base/__init__.py +0 -0
- digitalhub/entities/project/_base/builder.py +128 -0
- digitalhub/entities/project/{entity.py → _base/entity.py} +18 -60
- digitalhub/entities/project/{spec.py → _base/spec.py} +4 -4
- digitalhub/entities/project/_base/status.py +9 -0
- digitalhub/entities/project/builder.py +20 -51
- digitalhub/entities/project/crud.py +2 -2
- digitalhub/entities/run/_base/__init__.py +0 -0
- digitalhub/entities/run/_base/builder.py +73 -0
- digitalhub/entities/run/{entity.py → _base/entity.py} +12 -155
- digitalhub/entities/run/{spec.py → _base/spec.py} +8 -8
- digitalhub/entities/run/{status.py → _base/status.py} +4 -4
- digitalhub/entities/run/builder.py +21 -47
- digitalhub/entities/run/crud.py +3 -3
- digitalhub/entities/secret/_base/__init__.py +0 -0
- digitalhub/entities/secret/_base/builder.py +81 -0
- digitalhub/entities/secret/{entity.py → _base/entity.py} +7 -6
- digitalhub/entities/secret/{spec.py → _base/spec.py} +4 -4
- digitalhub/entities/secret/_base/status.py +9 -0
- digitalhub/entities/secret/builder.py +20 -62
- digitalhub/entities/secret/crud.py +12 -4
- digitalhub/entities/task/_base/__init__.py +0 -0
- digitalhub/entities/task/_base/builder.py +76 -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 +21 -44
- digitalhub/entities/task/crud.py +3 -3
- 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/_base/builder.py +78 -0
- digitalhub/entities/workflow/{entity.py → _base/entity.py} +8 -8
- digitalhub/entities/workflow/_base/spec.py +15 -0
- digitalhub/entities/workflow/_base/status.py +9 -0
- digitalhub/entities/workflow/builder.py +20 -60
- digitalhub/entities/workflow/crud.py +3 -3
- digitalhub/factory/__init__.py +0 -0
- digitalhub/factory/factory.py +204 -0
- digitalhub/factory/utils.py +90 -0
- 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/runtimes/builder.py +24 -41
- digitalhub/runtimes/kind_registry.py +14 -0
- digitalhub/runtimes/utils.py +28 -0
- 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/exceptions.py +6 -0
- digitalhub/utils/generic_utils.py +18 -42
- digitalhub/utils/s3_utils.py +58 -0
- {digitalhub-0.8.0b2.dist-info → digitalhub-0.8.0b4.dist-info}/METADATA +3 -2
- digitalhub-0.8.0b4.dist-info/RECORD +232 -0
- {digitalhub-0.8.0b2.dist-info → digitalhub-0.8.0b4.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/_base/entity/unversioned.py +0 -87
- digitalhub/entities/_base/entity/versioned.py +0 -94
- 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/registries.py +0 -48
- 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/registry/models.py +0 -87
- digitalhub/registry/registry.py +0 -74
- digitalhub/registry/utils.py +0 -150
- digitalhub-0.8.0b2.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/{registry → entities/_base/_base}/__init__.py +0 -0
- /digitalhub/{stores/objects → entities/_base/context}/__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/runtimes/{base.py → _base.py} +0 -0
- /digitalhub/stores/{objects/base.py → _base/store.py} +0 -0
- {digitalhub-0.8.0b2.dist-info → digitalhub-0.8.0b4.dist-info}/LICENSE.txt +0 -0
- {digitalhub-0.8.0b2.dist-info → digitalhub-0.8.0b4.dist-info}/top_level.txt +0 -0
- /test/{test_imports.py → local/imports/test_imports.py} +0 -0
|
@@ -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 slugify_string(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.0b4
|
|
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,232 @@
|
|
|
1
|
+
digitalhub/__init__.py,sha256=imbW5YG7vvoMY6Yp_yxD434IF_5xjILHKaWTdg9rxGs,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=QeSfKmXKgV1NPrtLrVKtiO6mfpmWxkYIcVdE1vVVCeo,18246
|
|
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=kWamkduBs8ouuXhpMwlDWvvwcz8oU_s7O70MqDYHLtI,3665
|
|
15
|
+
digitalhub/context/context.py,sha256=hDZEW4riMjR5-v2zWiirt-Z5puxdc7d_Da6vFhyuRF4,3338
|
|
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/builders.py,sha256=wKNC3ly-IUrF9uaSXWQ5cMzEj7JikM467uXIOdgko2c,1951
|
|
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=L8AFlIeSxKGTX5AdjJNln6X5YH7K_xUV7yPDgBFmJ-w,2741
|
|
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/builder.py,sha256=5UqhXdp1jQcUEeKJEA87vS2WKsU9Wnjy9EzXcC7w3JE,1830
|
|
49
|
+
digitalhub/entities/_base/unversioned/entity.py,sha256=Gf00zuWTUeFcRbH4a7vXc12GyNF9TS4Xpcx5sPx98rU,1398
|
|
50
|
+
digitalhub/entities/_base/versioned/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
+
digitalhub/entities/_base/versioned/builder.py,sha256=rHdOx1hh-dyiqNumILQJfHBwI59ojz_6CjRHP-hcCqk,1892
|
|
52
|
+
digitalhub/entities/_base/versioned/entity.py,sha256=YMK_fYyGGm0nizZcIZ9tyilvEUpl5HXSdcYqiZEOk3M,1526
|
|
53
|
+
digitalhub/entities/_builders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
|
+
digitalhub/entities/_builders/entity.py,sha256=CoRCMZszf1TigLKk9h2c8EgBGT67j9fEC4hPq6iJQ30,4001
|
|
55
|
+
digitalhub/entities/_builders/metadata.py,sha256=IGB1l6EJ1xlnGMdeL-b04kT4tFd_h5lJgo5MXzv3h9o,1058
|
|
56
|
+
digitalhub/entities/_builders/name.py,sha256=sNU54TzzdYug5sqio8uaus6pP5RkEJYIEl6j0fwR4ho,485
|
|
57
|
+
digitalhub/entities/_builders/spec.py,sha256=ymUHuJ6m3B8eVL4622XRdNMQdeYxRwBV5drao0L5MiQ,879
|
|
58
|
+
digitalhub/entities/_builders/status.py,sha256=xrr2u2wlDMmlqrUIV9xVqFRHfn5LV_TqzdrCEWNCzE0,1132
|
|
59
|
+
digitalhub/entities/_builders/uuid.py,sha256=8wys6Uhk8L1uUo18moh7Rq5YnFHtmUVXfNOkcsTVUN8,556
|
|
60
|
+
digitalhub/entities/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
|
+
digitalhub/entities/artifact/builder.py,sha256=20T3i14elZPB7P5w2xh5BNO2Zp4ekTYHIj-dS5RvGKc,1072
|
|
62
|
+
digitalhub/entities/artifact/crud.py,sha256=v-hxju_AfR1UuFn4nNrYZy9t0lQHCaiNw76zDFeU5tI,8165
|
|
63
|
+
digitalhub/entities/artifact/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
|
+
digitalhub/entities/artifact/_base/builder.py,sha256=01yrqe_sbSmFfxymw4CWrcfTYkghTykOfvFB7ohKQyM,2259
|
|
65
|
+
digitalhub/entities/artifact/_base/entity.py,sha256=WDauPDLE3UTCZTgSxGOr01ZarEqpNUJNVznB7wlA7AU,1111
|
|
66
|
+
digitalhub/entities/artifact/_base/spec.py,sha256=7tDvCQT-NJijpPB1ucT34xn9wSZOB79HOHAix1qAn74,300
|
|
67
|
+
digitalhub/entities/artifact/_base/status.py,sha256=qG5KUOlEHWYZWYqLDvvuZxD5EjsV0SYNNI9aHkQRHlY,188
|
|
68
|
+
digitalhub/entities/artifact/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
+
digitalhub/entities/artifact/artifact/builder.py,sha256=s-ka1xODveZSycdMC6tnRBj7Bs1hZKXIi1mhNoHkUIw,674
|
|
70
|
+
digitalhub/entities/artifact/artifact/entity.py,sha256=hj6UlJMWnWimqizhKGcKpvOpcYHxTFTk6--nQazlnIM,882
|
|
71
|
+
digitalhub/entities/artifact/artifact/spec.py,sha256=iX6czlG6W_ZoW86PD2GPc_-xLk6Zb1Vt3fk8Lzjbp3c,593
|
|
72
|
+
digitalhub/entities/artifact/artifact/status.py,sha256=x-lTgO2KkjwzlJnEhIfUtF9rzJ1DTIAd3-Hn6ZeLRqo,305
|
|
73
|
+
digitalhub/entities/dataitem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
74
|
+
digitalhub/entities/dataitem/builder.py,sha256=OmYP4lLkhH8MTN7oAZt3H7p49icKSDXwgc4yQ2RucoU,1072
|
|
75
|
+
digitalhub/entities/dataitem/crud.py,sha256=9-HAM2-8rZG6ibeTNYYndnf1Px4Oa--LgucSdOrasro,9803
|
|
76
|
+
digitalhub/entities/dataitem/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
77
|
+
digitalhub/entities/dataitem/_base/builder.py,sha256=uLmpLWqvouTu326TlYBXmBW30ErM8xXgx9bUgHhdGIg,2259
|
|
78
|
+
digitalhub/entities/dataitem/_base/entity.py,sha256=FLpkfhzkaBnmkdE8rKaJS-O3vcOcPwzyHL-xb7HVGA0,1984
|
|
79
|
+
digitalhub/entities/dataitem/_base/spec.py,sha256=7TeEaavMdkXPWBoHMoxagOSt7F4Pn0Bp8qugNwPypSA,300
|
|
80
|
+
digitalhub/entities/dataitem/_base/status.py,sha256=D8eR9FOZoS8VSNkQFDAz8dJkjR7hIq8nFd9qmX19mPc,467
|
|
81
|
+
digitalhub/entities/dataitem/dataitem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
|
+
digitalhub/entities/dataitem/dataitem/builder.py,sha256=1qOGHiBuqFYYurscdTNJl3ZE0W8dsUVTi_ukhjbOhyA,674
|
|
83
|
+
digitalhub/entities/dataitem/dataitem/entity.py,sha256=-5DCbta_0I8O9hGBB0BntU7LN9cMrvF-rYJluhcAK88,882
|
|
84
|
+
digitalhub/entities/dataitem/dataitem/spec.py,sha256=VaPG4mu2PtJF8J7maYwM8ToCdV3Zf-MbJUrNDoP9LNk,332
|
|
85
|
+
digitalhub/entities/dataitem/dataitem/status.py,sha256=V4K6kUFQymY9UQrmth9m6YqQUoc4Um1PizY6edG77xg,204
|
|
86
|
+
digitalhub/entities/dataitem/iceberg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
|
+
digitalhub/entities/dataitem/iceberg/builder.py,sha256=Q6Z67wdt3nrld5aIR1V-LaMgapFMdvrEOZFx0o9h0_A,660
|
|
88
|
+
digitalhub/entities/dataitem/iceberg/entity.py,sha256=UP6xp-RJOHmyniBx4_whIKJrvc1gpKvIyTMxLOsR1lw,872
|
|
89
|
+
digitalhub/entities/dataitem/iceberg/spec.py,sha256=qQebFiY0_pt9Iy1KGsfxXg67CG9s7GCUQ7rXCydQVvI,328
|
|
90
|
+
digitalhub/entities/dataitem/iceberg/status.py,sha256=XRj9i8a-dzjqB-Ci3cfPnXTikc5khLsIgUJnF1xE01I,202
|
|
91
|
+
digitalhub/entities/dataitem/table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
92
|
+
digitalhub/entities/dataitem/table/builder.py,sha256=FBTif7EpoLgjBfbhciiiOd79JszZRYVzzOw3gZtWqoM,632
|
|
93
|
+
digitalhub/entities/dataitem/table/entity.py,sha256=qqZv59ri5Bl64BUxHyrzjE8sulE3gY0Wz8qFkkuGDWg,4370
|
|
94
|
+
digitalhub/entities/dataitem/table/models.py,sha256=wfnDMQ3nAM1XAJAuMj7CvaXfOTVMQicG_2I6hZB6iag,1093
|
|
95
|
+
digitalhub/entities/dataitem/table/spec.py,sha256=5boOI9zhIvuwIQo0th0E2941_rQEPIRIIYLhySbwbFY,671
|
|
96
|
+
digitalhub/entities/dataitem/table/status.py,sha256=28-_LoSg84x4OwLbRungCHk-ObuobZ5vKuzk1NoBGZA,198
|
|
97
|
+
digitalhub/entities/function/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
98
|
+
digitalhub/entities/function/builder.py,sha256=m1B4VpaK80XA8bOVTHDj2wqbjMUsAsyUaSFEdStDOvw,1072
|
|
99
|
+
digitalhub/entities/function/crud.py,sha256=3ZfUtUhwZWTfAt4RBL-oaVQtaSXzMRa-Vo_KVYFmKBE,6857
|
|
100
|
+
digitalhub/entities/function/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
|
+
digitalhub/entities/function/_base/builder.py,sha256=CKqv8OXgVoMxKmLVKyNSUDwKFiL_o_ZMCh-DHC2cftI,1934
|
|
102
|
+
digitalhub/entities/function/_base/entity.py,sha256=gQsaZqqJHZjuwcQVFm5q8Gdaf_WMLae1QXGiaK5b5qY,3016
|
|
103
|
+
digitalhub/entities/function/_base/models.py,sha256=6LYyImwnhFxl40mq5nF99mqJ62Mjs3XHUpHVqnSCEkg,2726
|
|
104
|
+
digitalhub/entities/function/_base/spec.py,sha256=SjCtp3JBUTPTLMY_TE8wM1HPKVl7jH_wFEqQXBj1rfo,274
|
|
105
|
+
digitalhub/entities/function/_base/status.py,sha256=N-Z1hw13qV7kWFJLQPaH3rRZ2z7AvZeuWYER95lG344,170
|
|
106
|
+
digitalhub/entities/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
107
|
+
digitalhub/entities/model/builder.py,sha256=4XyvhORgjPeZzKvJ1hIu2v5TJeBLi7yPdzl72HLCl9A,1048
|
|
108
|
+
digitalhub/entities/model/crud.py,sha256=Ru5h4swTseW1Qyf6dukk4Tkc5ZqWg_s5zimePCZmdYk,7997
|
|
109
|
+
digitalhub/entities/model/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
110
|
+
digitalhub/entities/model/_base/builder.py,sha256=JI73GoKay1BuGtf3HUbV0Na3Pz4cC8PnYpXPGzc9QHo,2238
|
|
111
|
+
digitalhub/entities/model/_base/entity.py,sha256=vcvSIiFkUR3RBPbTV1q8KOkQTj8R9bOqfkqHBgf1rK4,916
|
|
112
|
+
digitalhub/entities/model/_base/spec.py,sha256=eo2FSqIlNi_10VETBdMFAWX177exzb0-oi9EuEPVBbk,1089
|
|
113
|
+
digitalhub/entities/model/_base/status.py,sha256=v-RbusxYeen6BPObVFUvr76k4MKxCdsaF9geSYpKi_8,182
|
|
114
|
+
digitalhub/entities/model/huggingface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
115
|
+
digitalhub/entities/model/huggingface/builder.py,sha256=tGmICfAuvjXAxzo6URNUPCdmGTE0dXtTfpK9L6srInM,668
|
|
116
|
+
digitalhub/entities/model/huggingface/entity.py,sha256=BnBWrAmTA8cEM47sqpxQeCLCl4Wu7CbpFKhYvf8qLaA,873
|
|
117
|
+
digitalhub/entities/model/huggingface/spec.py,sha256=48mItA3nutcG-get6qOoBJsopmXQgepUXU3zh9nV-EA,1000
|
|
118
|
+
digitalhub/entities/model/huggingface/status.py,sha256=ZFekC9oPuOpUmDcXMn-cpyXp2Jiiux46Vs4oPiiakIA,195
|
|
119
|
+
digitalhub/entities/model/mlflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
120
|
+
digitalhub/entities/model/mlflow/builder.py,sha256=HqX5IelpjFtcasHVg1kVMiEC9q_Aw-uIvGDqPy0_Oe0,597
|
|
121
|
+
digitalhub/entities/model/mlflow/entity.py,sha256=RRRnRWlJZS4s9_Aj8PZfCmfw6tNJGUZpygQygAbxm8I,823
|
|
122
|
+
digitalhub/entities/model/mlflow/models.py,sha256=FCCT_jd2j6T517dOZ1NX0ByPapudslir8FJepfQYz4I,464
|
|
123
|
+
digitalhub/entities/model/mlflow/spec.py,sha256=iPW9ZEEEfWhWWia7o7XFeO05qr-CtWSLCkIKw2s8zSM,1286
|
|
124
|
+
digitalhub/entities/model/mlflow/status.py,sha256=bGTTWHAQt3cKFnGCdMinoWNIWzyVEkHi8ybqVT8xA5k,185
|
|
125
|
+
digitalhub/entities/model/mlflow/utils.py,sha256=fHOr3kLqU-yY_FCIMgSLDrniyZx4pFSrHX8sqls2Pvk,2208
|
|
126
|
+
digitalhub/entities/model/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
127
|
+
digitalhub/entities/model/model/builder.py,sha256=snsO81hD6oJW7K24Db5jAsl15-OjJ-WVWaqFW_d7cd8,585
|
|
128
|
+
digitalhub/entities/model/model/entity.py,sha256=TlciSy8ELKtDybhVvJlNnhy7Ct6YApmu3D8nJ9xIybs,813
|
|
129
|
+
digitalhub/entities/model/model/spec.py,sha256=vO02rf2nB1TKJ7WPgobq7PuTae5Z5twy1fLVTopLJC8,293
|
|
130
|
+
digitalhub/entities/model/model/status.py,sha256=dF_sh-cm9qGBQTyXDsAm8FkugYW8XHSQxlY-QGcpsLI,183
|
|
131
|
+
digitalhub/entities/model/sklearn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
132
|
+
digitalhub/entities/model/sklearn/builder.py,sha256=Zvx5R9y7kmnKFxosr3xm8nH2e_cfZWh_hh9J8yy38-A,612
|
|
133
|
+
digitalhub/entities/model/sklearn/entity.py,sha256=pPy4mOqOmbkqNkKFUnhrsIQNt2mGNPUeTS62poZfa6M,833
|
|
134
|
+
digitalhub/entities/model/sklearn/spec.py,sha256=Md0aKlfNHZ2fhZbJgp9wZxF0Hu6XIkcniQHCgwoRdkk,301
|
|
135
|
+
digitalhub/entities/model/sklearn/status.py,sha256=eqkPPtERX-6_BjPb_GD8j1FIeavpl43k-dfXZGqzGI0,187
|
|
136
|
+
digitalhub/entities/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
137
|
+
digitalhub/entities/project/builder.py,sha256=jnCxPc13bnwxslheMQMjCYG7rhkMNjqDzuQr3W4RtCs,1064
|
|
138
|
+
digitalhub/entities/project/crud.py,sha256=_RbU4hJdqn8cIkNWuejyqtLnEs4P_vDHvOo5bTQtcWQ,8852
|
|
139
|
+
digitalhub/entities/project/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
140
|
+
digitalhub/entities/project/_base/builder.py,sha256=eS6GCriwcgRC0nZSKC3hrP_82KzB2aR7Lrp4idjEwbU,3608
|
|
141
|
+
digitalhub/entities/project/_base/entity.py,sha256=WzKnCOiSnoa6PRrgb7u0BWtWDsq2cftwqaL0k0fSlv8,51717
|
|
142
|
+
digitalhub/entities/project/_base/spec.py,sha256=zRJKFztK7z79LU4spxX7Rykv_1sK6kV9F9Qg95HBc6s,1346
|
|
143
|
+
digitalhub/entities/project/_base/status.py,sha256=w1Hj_yFwr_5X7ZH7SmtZRto4qUdCWb010viFfvbqX48,168
|
|
144
|
+
digitalhub/entities/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
145
|
+
digitalhub/entities/run/builder.py,sha256=Cx8dg_hytb3E0cGhqlpVUNHlQtydXmzP5AT-oqONlMw,1032
|
|
146
|
+
digitalhub/entities/run/crud.py,sha256=TE8xbcA8VmUO0Po89yafdIpXNRKM-ZS6mYbRNjPUS4A,5017
|
|
147
|
+
digitalhub/entities/run/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
148
|
+
digitalhub/entities/run/_base/builder.py,sha256=pwHGoUr9DXXpzqwmmBY5Pznv-UVeX4U5vpwm2olzDLI,1763
|
|
149
|
+
digitalhub/entities/run/_base/entity.py,sha256=oPxuKgij7b6JtC8j3ViY8Rjn5EqpBvuV4D9sDgTJ1Ho,8413
|
|
150
|
+
digitalhub/entities/run/_base/spec.py,sha256=KKIwKBe2asOQq-CKI7NbveGUvYnQfaVrnS92IEJ-e0s,3929
|
|
151
|
+
digitalhub/entities/run/_base/status.py,sha256=be2TK_KcLwEA5uhpkQXBQHDTc6bPaaIz3e9UZuVhXq4,2850
|
|
152
|
+
digitalhub/entities/secret/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
153
|
+
digitalhub/entities/secret/builder.py,sha256=dfSW5dTwiIJJL4w3cIYUJ8f2TPZadX2Qu95xMEyIuVg,1056
|
|
154
|
+
digitalhub/entities/secret/crud.py,sha256=ACtzUUBDOffxCociSprPqOw7Rq0vnCSQOFop_jq-Qb8,6782
|
|
155
|
+
digitalhub/entities/secret/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
156
|
+
digitalhub/entities/secret/_base/builder.py,sha256=dQsUDqTQsTmcDOtkMRHlQNwwxcmPMkB_aT2WWmNnOWM,2197
|
|
157
|
+
digitalhub/entities/secret/_base/entity.py,sha256=UF-ibEcnrcaNy_nGCrxxyoJqVrcAfyq3ZFUP-sTiEgw,2035
|
|
158
|
+
digitalhub/entities/secret/_base/spec.py,sha256=Ol4bDVd2lR6uUUtFj80YNSgtRsnfYGE3C7UN2c_LUsc,727
|
|
159
|
+
digitalhub/entities/secret/_base/status.py,sha256=TK9CUKA6eg9qegqgR9t-u1g-vEeFGB6v5dN9YJNukw8,166
|
|
160
|
+
digitalhub/entities/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
161
|
+
digitalhub/entities/task/builder.py,sha256=D-XfLkMQcf2vz8ni49PbqoTAXNemFXnKmx-MC4xB5hM,1040
|
|
162
|
+
digitalhub/entities/task/crud.py,sha256=p6WLTnEymnUVkoxPRzEpgej3ewVY1_gPBR1iSs9U2cc,5272
|
|
163
|
+
digitalhub/entities/task/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
164
|
+
digitalhub/entities/task/_base/builder.py,sha256=QspX77Y_yzdlK72V-LC6tYaUPRNfQlmLXMs_bqEm62k,1838
|
|
165
|
+
digitalhub/entities/task/_base/entity.py,sha256=AtmGfu-EDqTWfPxrxNYe59pK5NLyuBlXiri5p_cwP7E,3083
|
|
166
|
+
digitalhub/entities/task/_base/models.py,sha256=Vkequ03zsI1n4L-VGO0vMYDnrhK63rB5I0NshB3s6k4,4254
|
|
167
|
+
digitalhub/entities/task/_base/spec.py,sha256=wc9-i0VguS99WG4jQhYF3s2d_mwwtg_Yrkm8RbDa_vk,1289
|
|
168
|
+
digitalhub/entities/task/_base/status.py,sha256=FCSSQscQ0dHEpXdc5vSrIkTXon9FNNOr0M1KVh2ZVAA,162
|
|
169
|
+
digitalhub/entities/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
170
|
+
digitalhub/entities/utils/api.py,sha256=jSNYoLzoYSvu2wI-fs6u87AFYGAaboPCX4y6f2LqJ5A,6597
|
|
171
|
+
digitalhub/entities/utils/entity_types.py,sha256=PcAh78WAC9DgwSU6LxGncn0g7Wzb0iZXc-3Ooik8-ks,324
|
|
172
|
+
digitalhub/entities/utils/state.py,sha256=gKxDy__MEHlz-1SrwICZnFOIqDoI-CBo4ylIBM9TaoQ,609
|
|
173
|
+
digitalhub/entities/utils/utils.py,sha256=HD4tQcx8MQ8YVjz9aIgUHgYIk1t4Q9AlkhaY0NgN8Mg,4193
|
|
174
|
+
digitalhub/entities/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
175
|
+
digitalhub/entities/workflow/builder.py,sha256=mNQ49ziCx6mOqRsn_m9WUbD5kApi93b67uTqAO5zsts,1072
|
|
176
|
+
digitalhub/entities/workflow/crud.py,sha256=071LtHfFt6W08ScFKuulzHglQlEUB0wIdCN56jq_1-g,6792
|
|
177
|
+
digitalhub/entities/workflow/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
|
+
digitalhub/entities/workflow/_base/builder.py,sha256=YXXEe1LUGKhYYvv4FZp1uiobbY7IFT6wUMEoZUk0L10,1934
|
|
179
|
+
digitalhub/entities/workflow/_base/entity.py,sha256=8IbKaY29BYFVoAitjghLxuF2diVz-Yeh3QdOyg15PQ4,2192
|
|
180
|
+
digitalhub/entities/workflow/_base/spec.py,sha256=UoKOUEqKDFACQwctDWfwhro77m3kvjhLDGOhhfRvEzQ,274
|
|
181
|
+
digitalhub/entities/workflow/_base/status.py,sha256=W0j0CNdu9o2vbk0awpnDrpgwf_fZpgdtct4s0BxRdyk,170
|
|
182
|
+
digitalhub/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
183
|
+
digitalhub/factory/factory.py,sha256=8Bv31BD7qeK2rsRPZXSG5P4ulSvctaV11eAJNOgf_K8,5362
|
|
184
|
+
digitalhub/factory/utils.py,sha256=Cp9NF0nt7FITCd9jBDjKzPrDIvg4GlfhzGEw7a72DOQ,2233
|
|
185
|
+
digitalhub/readers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
186
|
+
digitalhub/readers/builder.py,sha256=H56LA2KWUVk7gbCI_2Y11oXMC5anXMJzYW_56wnq3ws,1313
|
|
187
|
+
digitalhub/readers/registry.py,sha256=k_BJidjIC-fLpOHUNPZNF_OrkDbJzC0V4f3ZNQjKiyg,407
|
|
188
|
+
digitalhub/readers/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
189
|
+
digitalhub/readers/_base/readers.py,sha256=Fq7liW_ogeucdIUS7_oDYpMzrwuKxVMqwpyf0sKLnwc,1506
|
|
190
|
+
digitalhub/readers/pandas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
191
|
+
digitalhub/readers/pandas/readers.py,sha256=Q63mwTKmY1mdpvTtx1scf9x2rBPfgBpbSu1r-4zvIjk,5351
|
|
192
|
+
digitalhub/runtimes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
193
|
+
digitalhub/runtimes/_base.py,sha256=ddzKh-NESFJCYjt-Y8HdGrWDWKZ7TQhxRgRWKowCX6I,3961
|
|
194
|
+
digitalhub/runtimes/builder.py,sha256=P8j6qkr6gdEk71NSX4eRCL_55u2Zs3_U59PJU-PT9ls,903
|
|
195
|
+
digitalhub/runtimes/kind_registry.py,sha256=ftyk8gE_67qZrCKIND5MySOofaD0PKmlM4_1YNaKw-I,3802
|
|
196
|
+
digitalhub/runtimes/utils.py,sha256=stwDZ1NzAJ3THhmYr7bSAzsndh-A6uD5P756591sXjo,556
|
|
197
|
+
digitalhub/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
198
|
+
digitalhub/stores/builder.py,sha256=xYkHHD-WnPTVD6BB2dSabJVjM1XUtKn3TiMrDDJBL0s,6631
|
|
199
|
+
digitalhub/stores/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
200
|
+
digitalhub/stores/_base/store.py,sha256=tU-VsTZxkJVLyYpp23Cv_UjnHx74dk6ztdmVhsUO4cA,4171
|
|
201
|
+
digitalhub/stores/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
202
|
+
digitalhub/stores/local/store.py,sha256=KjJ8OG6vfNrckMWbkbEA8KDM6b0Ds0Ed3fwxvTnGOkQ,5673
|
|
203
|
+
digitalhub/stores/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
204
|
+
digitalhub/stores/remote/store.py,sha256=MBsotmc5Zk-eT5vgAufnYyR2xJmQvgBR28u3bhaSJtM,3615
|
|
205
|
+
digitalhub/stores/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
206
|
+
digitalhub/stores/s3/store.py,sha256=dS0TumNf3tDkpVcn_0_kp-ERogP3w87tEa-osIU11AQ,15515
|
|
207
|
+
digitalhub/stores/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
208
|
+
digitalhub/stores/sql/store.py,sha256=NdELCkP2Rl5ewiRuI4J9eRvTiBzVmpF0cMowZ1NME_8,8654
|
|
209
|
+
digitalhub/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
210
|
+
digitalhub/utils/data_utils.py,sha256=2eETyxml610Ij7uyDnNc3YiELl2WFLIkj3FL4y6EPk8,2733
|
|
211
|
+
digitalhub/utils/exceptions.py,sha256=MjLhgaGSAe0oJXoR-dnEtAh02RYDj3wZ1ZS1SLFUD4A,964
|
|
212
|
+
digitalhub/utils/file_utils.py,sha256=Qe71D2b6mOil_Y0Hy2QCJbnIaQOyXvhjFRbJoZXhsGQ,4006
|
|
213
|
+
digitalhub/utils/generic_utils.py,sha256=YHWCCF77JFqgm4TNr3_U2GbX4SjEQjUmxA6i9PkRqG8,3527
|
|
214
|
+
digitalhub/utils/git_utils.py,sha256=aFYL1cpfY-2VnlW7eHmjjjlTLECc5UUUfjb_IQPOY5k,3244
|
|
215
|
+
digitalhub/utils/io_utils.py,sha256=SfYl6f-vUOophuWJ7zupBDx2lmHDohcjwcUqcz6sGdI,1809
|
|
216
|
+
digitalhub/utils/logger.py,sha256=ml3ne6D8wuRdNZ4F6ywmvWotSxjmZWnmKgNiuHb4R5M,437
|
|
217
|
+
digitalhub/utils/s3_utils.py,sha256=oXLzp4K7o45IwK0XOMt4OElDyB09fKRic5WTNA82WUA,1113
|
|
218
|
+
digitalhub/utils/uri_utils.py,sha256=wArWRQ3ygGUNHexGKP3YM-aBE7TyGxhPvfEc7R4T4p4,1144
|
|
219
|
+
test/test_crud_functions.py,sha256=tQs_QBaPCuYVSBpbl-he5_6jr_tteCXVmohj1ZluNsA,2769
|
|
220
|
+
test/test_crud_runs.py,sha256=lkssy15UPJKymgazmi5gG6RLxyTsG-tM_CpNCowD2gQ,2220
|
|
221
|
+
test/test_crud_tasks.py,sha256=sIbY-Hq6C2N20hWHfbCMw9c-zpYS0m_UJGnPINR4Q6s,2111
|
|
222
|
+
test/testkfp.py,sha256=01UpLKkVbwAQu4S1BMiddnnq5x1DStMlJtCoHzi9zq8,1060
|
|
223
|
+
test/testkfp_pipeline.py,sha256=WceFrCp-avHI7PcwIvnv7Kgs2xK3oQqU6sjaonGamg8,622
|
|
224
|
+
test/local/CRUD/test_artifacts.py,sha256=Y3J_C7SDRSsQd2SGIZjPIOvyTL92B1sTFrUONG3YG0Y,2968
|
|
225
|
+
test/local/CRUD/test_dataitems.py,sha256=LQqTzI59uwTGy4zoq8jL0yWVe2W9vXlatkgDU9aB6xg,2968
|
|
226
|
+
test/local/CRUD/test_models.py,sha256=msosbZuRwIMbZtmi3ZaOva4TjQ4lrzkNu9AguIFhrSo,2929
|
|
227
|
+
test/local/imports/test_imports.py,sha256=W-YugO0rpJwvtWp57MXaXfEmE-f5iWuCiLY-n0ZU4z8,1271
|
|
228
|
+
digitalhub-0.8.0b4.dist-info/LICENSE.txt,sha256=_yVOtnbW7Ss28mp058UEEc1X4Rgj8-kQBP_kj8_Sc88,11585
|
|
229
|
+
digitalhub-0.8.0b4.dist-info/METADATA,sha256=KKOt3Vvmq4HBREiREDJmOhKpQoCyEiLh7VESm7KHWQY,15288
|
|
230
|
+
digitalhub-0.8.0b4.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
|
231
|
+
digitalhub-0.8.0b4.dist-info/top_level.txt,sha256=ae9pDfCF27ZoaVAxuBKONMP0lm5P-N_I-e-no1WlvD8,16
|
|
232
|
+
digitalhub-0.8.0b4.dist-info/RECORD,,
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Unit tests for the entity Artifact
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import digitalhub as dh
|
|
6
|
+
from digitalhub.entities.artifact._base.entity import Artifact
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TestArtifactCRUD:
|
|
10
|
+
def create_test_dicts(self):
|
|
11
|
+
names = ["test1", "test2", "test3", "test4"]
|
|
12
|
+
uuids = [
|
|
13
|
+
"d150bcca-bb64-451d-8455-dff862254b95",
|
|
14
|
+
"31acdd2d-0c41-428c-b68b-1b133da9e97b",
|
|
15
|
+
"b4a3dfdc-b917-44c4-9a29-613dcf734244",
|
|
16
|
+
"2618d9c4-cd61-440f-aebb-7e5761709f3b",
|
|
17
|
+
]
|
|
18
|
+
paths = [
|
|
19
|
+
"./data/test.csv",
|
|
20
|
+
"s3://bucket/key.csv",
|
|
21
|
+
"sql://database/schema/table",
|
|
22
|
+
"https://url.com/file.csv",
|
|
23
|
+
]
|
|
24
|
+
kind = ["artifact", "artifact", "artifact", "artifact"]
|
|
25
|
+
|
|
26
|
+
dicts = []
|
|
27
|
+
for i in range(len(names)):
|
|
28
|
+
dicts.append({"name": names[i], "uuid": uuids[i], "path": paths[i], "kind": kind[i]})
|
|
29
|
+
|
|
30
|
+
return dicts
|
|
31
|
+
|
|
32
|
+
def test_create_delete(self):
|
|
33
|
+
dicts = self.create_test_dicts()
|
|
34
|
+
p = dh.get_or_create_project("test", local=True)
|
|
35
|
+
# Create and delete artifacts
|
|
36
|
+
for i in dicts:
|
|
37
|
+
d = dh.new_artifact(p.name, **i)
|
|
38
|
+
dh.delete_artifact(d.key)
|
|
39
|
+
d = dh.new_artifact(p.name, **i)
|
|
40
|
+
dh.delete_artifact(d.name, project=p.name, entity_id=d.id)
|
|
41
|
+
d = p.new_artifact(**i)
|
|
42
|
+
p.delete_artifact(d.key)
|
|
43
|
+
|
|
44
|
+
assert dh.list_artifacts(p.name) == []
|
|
45
|
+
dh.delete_project("test", local=True, clean_context=True)
|
|
46
|
+
|
|
47
|
+
def test_list(self):
|
|
48
|
+
dicts = self.create_test_dicts()
|
|
49
|
+
p = dh.get_or_create_project("test", local=True)
|
|
50
|
+
|
|
51
|
+
assert dh.list_artifacts(p.name) == []
|
|
52
|
+
|
|
53
|
+
for i in dicts:
|
|
54
|
+
dh.new_artifact(p.name, **i)
|
|
55
|
+
|
|
56
|
+
# List artifacts
|
|
57
|
+
l_obj = dh.list_artifacts(p.name)
|
|
58
|
+
assert isinstance(l_obj, list)
|
|
59
|
+
assert len(l_obj) == 4
|
|
60
|
+
for i in l_obj:
|
|
61
|
+
assert isinstance(i, Artifact)
|
|
62
|
+
|
|
63
|
+
# delete listed objects
|
|
64
|
+
for obj in l_obj:
|
|
65
|
+
dh.delete_artifact(obj.key)
|
|
66
|
+
|
|
67
|
+
assert len(dh.list_artifacts(p.name)) == 0
|
|
68
|
+
|
|
69
|
+
dh.delete_project("test", clean_context=True, local=True)
|
|
70
|
+
|
|
71
|
+
def test_get(self):
|
|
72
|
+
dicts = self.create_test_dicts()
|
|
73
|
+
p = dh.get_or_create_project("test", local=True)
|
|
74
|
+
|
|
75
|
+
for i in dicts:
|
|
76
|
+
o1 = dh.new_artifact(p.name, **i)
|
|
77
|
+
assert isinstance(o1, Artifact)
|
|
78
|
+
|
|
79
|
+
# Get by name and id
|
|
80
|
+
o2 = dh.get_artifact(o1.name, project=p.name, entity_id=o1.id)
|
|
81
|
+
assert isinstance(o2, Artifact)
|
|
82
|
+
assert o1.id == o2.id
|
|
83
|
+
|
|
84
|
+
# Get by key
|
|
85
|
+
o3 = dh.get_artifact(o1.key)
|
|
86
|
+
assert isinstance(o3, Artifact)
|
|
87
|
+
assert o1.id == o3.id
|
|
88
|
+
|
|
89
|
+
# delete listed objects
|
|
90
|
+
l_obj = dh.list_artifacts(p.name)
|
|
91
|
+
for obj in l_obj:
|
|
92
|
+
dh.delete_artifact(obj.key)
|
|
93
|
+
|
|
94
|
+
assert len(dh.list_artifacts(p.name)) == 0
|
|
95
|
+
|
|
96
|
+
dh.delete_project("test", clean_context=True, local=True)
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Unit tests for the entity Dataitem
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import digitalhub as dh
|
|
6
|
+
from digitalhub.entities.dataitem._base.entity import Dataitem
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TestDataitemCRUD:
|
|
10
|
+
def create_test_dicts(self):
|
|
11
|
+
names = ["test1", "test2", "test3", "test4"]
|
|
12
|
+
uuids = [
|
|
13
|
+
"d150bcca-bb64-451d-8455-dff862254b95",
|
|
14
|
+
"31acdd2d-0c41-428c-b68b-1b133da9e97b",
|
|
15
|
+
"b4a3dfdc-b917-44c4-9a29-613dcf734244",
|
|
16
|
+
"2618d9c4-cd61-440f-aebb-7e5761709f3b",
|
|
17
|
+
]
|
|
18
|
+
paths = [
|
|
19
|
+
"./data/test.csv",
|
|
20
|
+
"s3://bucket/key.csv",
|
|
21
|
+
"sql://database/schema/table",
|
|
22
|
+
"https://url.com/file.csv",
|
|
23
|
+
]
|
|
24
|
+
kind = ["dataitem", "dataitem", "dataitem", "dataitem"]
|
|
25
|
+
|
|
26
|
+
dicts = []
|
|
27
|
+
for i in range(len(names)):
|
|
28
|
+
dicts.append({"name": names[i], "uuid": uuids[i], "path": paths[i], "kind": kind[i]})
|
|
29
|
+
|
|
30
|
+
return dicts
|
|
31
|
+
|
|
32
|
+
def test_create_delete(self):
|
|
33
|
+
dicts = self.create_test_dicts()
|
|
34
|
+
p = dh.get_or_create_project("test", local=True)
|
|
35
|
+
# Create and delete dataitems
|
|
36
|
+
for i in dicts:
|
|
37
|
+
d = dh.new_dataitem(p.name, **i)
|
|
38
|
+
dh.delete_dataitem(d.key)
|
|
39
|
+
d = dh.new_dataitem(p.name, **i)
|
|
40
|
+
dh.delete_dataitem(d.name, project=p.name, entity_id=d.id)
|
|
41
|
+
d = p.new_dataitem(**i)
|
|
42
|
+
p.delete_dataitem(d.key)
|
|
43
|
+
|
|
44
|
+
assert dh.list_dataitems(p.name) == []
|
|
45
|
+
dh.delete_project("test", local=True, clean_context=True)
|
|
46
|
+
|
|
47
|
+
def test_list(self):
|
|
48
|
+
dicts = self.create_test_dicts()
|
|
49
|
+
p = dh.get_or_create_project("test", local=True)
|
|
50
|
+
|
|
51
|
+
assert dh.list_dataitems(p.name) == []
|
|
52
|
+
|
|
53
|
+
for i in dicts:
|
|
54
|
+
dh.new_dataitem(p.name, **i)
|
|
55
|
+
|
|
56
|
+
# List dataitems
|
|
57
|
+
l_obj = dh.list_dataitems(p.name)
|
|
58
|
+
assert isinstance(l_obj, list)
|
|
59
|
+
assert len(l_obj) == 4
|
|
60
|
+
for i in l_obj:
|
|
61
|
+
assert isinstance(i, Dataitem)
|
|
62
|
+
|
|
63
|
+
# delete listed objects
|
|
64
|
+
for obj in l_obj:
|
|
65
|
+
dh.delete_dataitem(obj.key)
|
|
66
|
+
|
|
67
|
+
assert len(dh.list_dataitems(p.name)) == 0
|
|
68
|
+
|
|
69
|
+
dh.delete_project("test", clean_context=True, local=True)
|
|
70
|
+
|
|
71
|
+
def test_get(self):
|
|
72
|
+
dicts = self.create_test_dicts()
|
|
73
|
+
p = dh.get_or_create_project("test", local=True)
|
|
74
|
+
|
|
75
|
+
for i in dicts:
|
|
76
|
+
o1 = dh.new_dataitem(p.name, **i)
|
|
77
|
+
assert isinstance(o1, Dataitem)
|
|
78
|
+
|
|
79
|
+
# Get by name and id
|
|
80
|
+
o2 = dh.get_dataitem(o1.name, project=p.name, entity_id=o1.id)
|
|
81
|
+
assert isinstance(o2, Dataitem)
|
|
82
|
+
assert o1.id == o2.id
|
|
83
|
+
|
|
84
|
+
# Get by key
|
|
85
|
+
o3 = dh.get_dataitem(o1.key)
|
|
86
|
+
assert isinstance(o3, Dataitem)
|
|
87
|
+
assert o1.id == o3.id
|
|
88
|
+
|
|
89
|
+
# delete listed objects
|
|
90
|
+
l_obj = dh.list_dataitems(p.name)
|
|
91
|
+
for obj in l_obj:
|
|
92
|
+
dh.delete_dataitem(obj.key)
|
|
93
|
+
|
|
94
|
+
assert len(dh.list_dataitems(p.name)) == 0
|
|
95
|
+
|
|
96
|
+
dh.delete_project("test", clean_context=True, local=True)
|