digitalhub 0.13.0b4__py3-none-any.whl → 0.14.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 +3 -8
- digitalhub/entities/_base/_base/entity.py +0 -11
- digitalhub/entities/_base/entity/builder.py +5 -5
- digitalhub/entities/_base/executable/entity.py +1 -1
- digitalhub/entities/_base/runtime_entity/builder.py +53 -18
- digitalhub/entities/_commons/utils.py +64 -21
- digitalhub/entities/_processors/base.py +11 -3
- digitalhub/entities/_processors/context.py +71 -22
- digitalhub/entities/_processors/utils.py +3 -3
- digitalhub/entities/artifact/crud.py +20 -4
- digitalhub/entities/artifact/utils.py +1 -1
- digitalhub/entities/dataitem/crud.py +20 -4
- digitalhub/entities/dataitem/table/entity.py +0 -21
- digitalhub/entities/dataitem/utils.py +1 -1
- digitalhub/entities/function/_base/entity.py +1 -1
- digitalhub/entities/function/crud.py +15 -4
- digitalhub/entities/model/_base/entity.py +21 -1
- digitalhub/entities/model/crud.py +21 -5
- digitalhub/entities/model/utils.py +1 -1
- digitalhub/entities/project/_base/entity.py +65 -33
- digitalhub/entities/project/crud.py +8 -1
- digitalhub/entities/run/_base/entity.py +21 -1
- digitalhub/entities/run/crud.py +22 -5
- digitalhub/entities/secret/crud.py +22 -5
- digitalhub/entities/task/crud.py +22 -5
- digitalhub/entities/trigger/crud.py +20 -4
- digitalhub/entities/workflow/_base/entity.py +1 -1
- digitalhub/entities/workflow/crud.py +15 -4
- digitalhub/factory/enums.py +18 -0
- digitalhub/factory/factory.py +136 -57
- digitalhub/factory/utils.py +3 -54
- digitalhub/stores/client/api.py +6 -10
- digitalhub/stores/client/builder.py +3 -3
- digitalhub/stores/client/dhcore/client.py +104 -162
- digitalhub/stores/client/dhcore/configurator.py +92 -289
- digitalhub/stores/client/dhcore/enums.py +0 -16
- digitalhub/stores/client/dhcore/params_builder.py +41 -83
- digitalhub/stores/client/dhcore/utils.py +14 -22
- digitalhub/stores/client/local/client.py +77 -45
- digitalhub/stores/credentials/ini_module.py +0 -16
- digitalhub/stores/data/local/store.py +0 -103
- digitalhub/stores/data/s3/configurator.py +60 -6
- digitalhub/stores/data/s3/store.py +44 -2
- digitalhub/stores/data/sql/store.py +15 -0
- digitalhub/utils/file_utils.py +0 -17
- digitalhub/utils/generic_utils.py +1 -2
- digitalhub/utils/store_utils.py +44 -0
- {digitalhub-0.13.0b4.dist-info → digitalhub-0.14.0b0.dist-info}/METADATA +3 -2
- {digitalhub-0.13.0b4.dist-info → digitalhub-0.14.0b0.dist-info}/RECORD +58 -59
- digitalhub/entities/task/_base/utils.py +0 -22
- digitalhub/stores/client/dhcore/models.py +0 -40
- digitalhub/stores/data/s3/utils.py +0 -78
- /digitalhub/entities/{_base/entity/_constructors → _constructors}/__init__.py +0 -0
- /digitalhub/entities/{_base/entity/_constructors → _constructors}/metadata.py +0 -0
- /digitalhub/entities/{_base/entity/_constructors → _constructors}/name.py +0 -0
- /digitalhub/entities/{_base/entity/_constructors → _constructors}/spec.py +0 -0
- /digitalhub/entities/{_base/entity/_constructors → _constructors}/status.py +0 -0
- /digitalhub/entities/{_base/entity/_constructors → _constructors}/uuid.py +0 -0
- {digitalhub-0.13.0b4.dist-info → digitalhub-0.14.0b0.dist-info}/WHEEL +0 -0
- {digitalhub-0.13.0b4.dist-info → digitalhub-0.14.0b0.dist-info}/licenses/AUTHORS +0 -0
- {digitalhub-0.13.0b4.dist-info → digitalhub-0.14.0b0.dist-info}/licenses/LICENSE +0 -0
|
@@ -16,7 +16,6 @@ from boto3.s3.transfer import TransferConfig
|
|
|
16
16
|
from botocore.exceptions import ClientError, NoCredentialsError
|
|
17
17
|
|
|
18
18
|
from digitalhub.stores.data._base.store import Store
|
|
19
|
-
from digitalhub.stores.data.s3.utils import get_bucket_name
|
|
20
19
|
from digitalhub.stores.readers.data.api import get_reader_by_object
|
|
21
20
|
from digitalhub.utils.exceptions import ConfigError, StoreError
|
|
22
21
|
from digitalhub.utils.file_utils import get_file_info_from_s3, get_file_mime_type
|
|
@@ -337,6 +336,49 @@ class S3Store(Store):
|
|
|
337
336
|
reader.write_df(df, fileobj, extension=extension, **kwargs)
|
|
338
337
|
return self.upload_fileobject(fileobj, dst)
|
|
339
338
|
|
|
339
|
+
##############################
|
|
340
|
+
# Wrapper methods
|
|
341
|
+
##############################
|
|
342
|
+
|
|
343
|
+
def get_s3_source(self, src: str, filename: Path) -> None:
|
|
344
|
+
"""
|
|
345
|
+
Download a file from S3 and save it to a local file.
|
|
346
|
+
|
|
347
|
+
Parameters
|
|
348
|
+
----------
|
|
349
|
+
src : str
|
|
350
|
+
S3 path of the object to be downloaded (e.g., 's3://bucket
|
|
351
|
+
filename : Path
|
|
352
|
+
Local path where the downloaded object will be saved.
|
|
353
|
+
|
|
354
|
+
Returns
|
|
355
|
+
-------
|
|
356
|
+
None
|
|
357
|
+
"""
|
|
358
|
+
client, bucket = self._check_factory(src)
|
|
359
|
+
key = self._get_key(src)
|
|
360
|
+
self._download_file(key, filename, client, bucket)
|
|
361
|
+
|
|
362
|
+
def get_s3_client(self, file: bool = True) -> S3Client:
|
|
363
|
+
"""
|
|
364
|
+
Get an S3 client object.
|
|
365
|
+
|
|
366
|
+
Parameters
|
|
367
|
+
----------
|
|
368
|
+
file : bool
|
|
369
|
+
Whether to use file-based credentials. Default is True.
|
|
370
|
+
|
|
371
|
+
Returns
|
|
372
|
+
-------
|
|
373
|
+
S3Client
|
|
374
|
+
Returns a client object that interacts with the S3 storage service.
|
|
375
|
+
"""
|
|
376
|
+
if file:
|
|
377
|
+
cfg = self._configurator.get_file_config()
|
|
378
|
+
else:
|
|
379
|
+
cfg = self._configurator.get_env_config()
|
|
380
|
+
return self._get_client(cfg)
|
|
381
|
+
|
|
340
382
|
##############################
|
|
341
383
|
# Private I/O methods
|
|
342
384
|
##############################
|
|
@@ -595,7 +637,7 @@ class S3Store(Store):
|
|
|
595
637
|
str
|
|
596
638
|
The name of the S3 bucket.
|
|
597
639
|
"""
|
|
598
|
-
return
|
|
640
|
+
return urlparse(root).netloc
|
|
599
641
|
|
|
600
642
|
def _get_client(self, cfg: dict) -> S3Client:
|
|
601
643
|
"""
|
|
@@ -253,6 +253,21 @@ class SqlStore(Store):
|
|
|
253
253
|
table = self._get_table_name(dst)
|
|
254
254
|
return self._upload_table(df, schema, table, **kwargs)
|
|
255
255
|
|
|
256
|
+
##############################
|
|
257
|
+
# Wrapper methods
|
|
258
|
+
##############################
|
|
259
|
+
|
|
260
|
+
def get_engine(self, schema: str | None = None) -> Engine:
|
|
261
|
+
"""
|
|
262
|
+
Get a SQLAlchemy engine connected to the database.
|
|
263
|
+
|
|
264
|
+
Returns
|
|
265
|
+
-------
|
|
266
|
+
Engine
|
|
267
|
+
A SQLAlchemy engine instance connected to the database.
|
|
268
|
+
"""
|
|
269
|
+
return self._check_factory(schema=schema)
|
|
270
|
+
|
|
256
271
|
##############################
|
|
257
272
|
# Private I/O methods
|
|
258
273
|
##############################
|
digitalhub/utils/file_utils.py
CHANGED
|
@@ -141,23 +141,6 @@ def get_last_modified(data_path: str) -> str:
|
|
|
141
141
|
return datetime.fromtimestamp(timestamp).astimezone().isoformat()
|
|
142
142
|
|
|
143
143
|
|
|
144
|
-
def get_s3_path(src_path: str) -> str:
|
|
145
|
-
"""
|
|
146
|
-
Get the S3 URI of a file path.
|
|
147
|
-
|
|
148
|
-
Parameters
|
|
149
|
-
----------
|
|
150
|
-
src_path : str
|
|
151
|
-
Path to the file.
|
|
152
|
-
|
|
153
|
-
Returns
|
|
154
|
-
-------
|
|
155
|
-
str
|
|
156
|
-
The S3 URI of the file.
|
|
157
|
-
"""
|
|
158
|
-
return Path(src_path).as_uri()
|
|
159
|
-
|
|
160
|
-
|
|
161
144
|
def get_file_info_from_local(path: str, src_path: str) -> None | dict:
|
|
162
145
|
"""
|
|
163
146
|
Get file info from a local path.
|
|
@@ -262,8 +262,7 @@ def carriage_return_warn(string: str) -> None:
|
|
|
262
262
|
None
|
|
263
263
|
"""
|
|
264
264
|
if "\r\n" in string:
|
|
265
|
-
warn("String contains a carriage return. "
|
|
266
|
-
"It may not be parsed correctly from remote runtimes.")
|
|
265
|
+
warn("String contains a carriage return. It may not be parsed correctly from remote runtimes.")
|
|
267
266
|
|
|
268
267
|
|
|
269
268
|
def read_source(path: str) -> str:
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
import typing
|
|
8
|
+
|
|
9
|
+
from digitalhub.stores.data.api import get_store
|
|
10
|
+
|
|
11
|
+
if typing.TYPE_CHECKING:
|
|
12
|
+
from digitalhub.stores.data.s3.store import S3Client, S3Store
|
|
13
|
+
from digitalhub.stores.data.sql.store import Engine, SqlStore
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def get_s3_client() -> S3Client:
|
|
17
|
+
"""
|
|
18
|
+
Returns a boto3 S3 client.
|
|
19
|
+
|
|
20
|
+
Returns
|
|
21
|
+
-------
|
|
22
|
+
S3Client
|
|
23
|
+
A boto3 S3 client instance.
|
|
24
|
+
"""
|
|
25
|
+
store: S3Store = get_store("s3://")
|
|
26
|
+
return store.get_s3_client()
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def get_sql_engine(schema: str | None = None) -> Engine:
|
|
30
|
+
"""
|
|
31
|
+
Returns a SQLAlchemy engine connected to the database.
|
|
32
|
+
|
|
33
|
+
Parameters
|
|
34
|
+
----------
|
|
35
|
+
schema : str, optional
|
|
36
|
+
The schema to connect to, by default None.
|
|
37
|
+
|
|
38
|
+
Returns
|
|
39
|
+
-------
|
|
40
|
+
Engine
|
|
41
|
+
A SQLAlchemy engine instance connected to the database.
|
|
42
|
+
"""
|
|
43
|
+
store: SqlStore = get_store("sql://")
|
|
44
|
+
return store.get_engine(schema=schema)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: digitalhub
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.0b0
|
|
4
4
|
Summary: Python SDK for Digitalhub
|
|
5
5
|
Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk
|
|
6
6
|
Author-email: Fondazione Bruno Kessler <digitalhub@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
|
|
@@ -252,7 +252,7 @@ Explore the full documentation at the [link](https://scc-digitalhub.github.io/sd
|
|
|
252
252
|
To install the Digitalhub, you can use pip:
|
|
253
253
|
|
|
254
254
|
```bash
|
|
255
|
-
pip install digitalhub
|
|
255
|
+
pip install digitalhub[full]
|
|
256
256
|
```
|
|
257
257
|
|
|
258
258
|
To be able to create and execute functions or workflows, you need to install the runtime you want to use. The Digitalhub SDK supports multiple runtimes, each with its own installation instructions:
|
|
@@ -261,6 +261,7 @@ To be able to create and execute functions or workflows, you need to install the
|
|
|
261
261
|
- [Digitalhub SDK Runtime Dbt](https://github.com/scc-digitalhub/digitalhub-sdk-runtime-dbt)
|
|
262
262
|
- [Digitalhub SDK Runtime Container](https://github.com/scc-digitalhub/digitalhub-sdk-runtime-container)
|
|
263
263
|
- [Digitalhub SDK Runtime Kfp](https://github.com/scc-digitalhub/digitalhub-sdk-runtime-kfp)
|
|
264
|
+
- [Digitalhub SDK Runtime Hera](https://github.com/scc-digitalhub/digitalhub-sdk-runtime-hera)
|
|
264
265
|
- [Digitalhub SDK Runtime Modelserve](https://github.com/scc-digitalhub/digitalhub-sdk-runtime-modelserve)
|
|
265
266
|
|
|
266
267
|
## Development
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
digitalhub/__init__.py,sha256=
|
|
1
|
+
digitalhub/__init__.py,sha256=6tbbA2AkAzf4lyqTrbxVrw3mVuHje2bZy57NtGevakQ,2475
|
|
2
2
|
digitalhub/context/api.py,sha256=eIVsYhneu8bEQiUV15sUNlv5WlZu6zV7Dvidvg_0FfA,1500
|
|
3
3
|
digitalhub/context/builder.py,sha256=NM4xcD2n4jXwdTS2hl3MAobf-BVUQH-9LB6U3J_F3pM,2826
|
|
4
4
|
digitalhub/context/context.py,sha256=HyyaYCmCCyr6qF7dfvorX5kNLR7NgceUGhEQGczdC8w,2246
|
|
@@ -6,30 +6,24 @@ digitalhub/entities/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ
|
|
|
6
6
|
digitalhub/entities/builders.py,sha256=I-RVAFNgnZGmx7Dyz8_n7gfsG-BVgbgfraJal5NWipE,2054
|
|
7
7
|
digitalhub/entities/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
8
8
|
digitalhub/entities/_base/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
9
|
-
digitalhub/entities/_base/_base/entity.py,sha256=
|
|
9
|
+
digitalhub/entities/_base/_base/entity.py,sha256=i1PYt3BpmvTtOfshAEjduQR5VCURTsXdkkbjkuGz03I,1956
|
|
10
10
|
digitalhub/entities/_base/context/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
11
11
|
digitalhub/entities/_base/context/entity.py,sha256=lTw0U1OQnOJfjjvu5oJhOucTJqGL6xPtKhW0YPn5utY,3408
|
|
12
12
|
digitalhub/entities/_base/entity/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
13
|
-
digitalhub/entities/_base/entity/builder.py,sha256=
|
|
13
|
+
digitalhub/entities/_base/entity/builder.py,sha256=Kp_csTw0VXMelSy5YOQtcJBt0Z13017nqr1SQJYQuBA,4854
|
|
14
14
|
digitalhub/entities/_base/entity/entity.py,sha256=dHjDjX5k4EPsXq4LQdseiCJekIkeWOSxXBOypQaWLu0,3331
|
|
15
15
|
digitalhub/entities/_base/entity/metadata.py,sha256=iX_dwpABPh3EBPTJs5mtSrwnylw4Bm7zjZnNdOG__UU,2369
|
|
16
16
|
digitalhub/entities/_base/entity/spec.py,sha256=nGlE8xgAZXT5zs1annWaPLvPRYaqxqzjjrhAhvNiQkA,1608
|
|
17
17
|
digitalhub/entities/_base/entity/status.py,sha256=0txG13WDPJE-vRAUkJQYEHMsSzer6qTvTo7xqzbg66Y,1152
|
|
18
|
-
digitalhub/entities/_base/entity/_constructors/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
19
|
-
digitalhub/entities/_base/entity/_constructors/metadata.py,sha256=VxZw341nIw92iR_3-o2_y8I7xle1TTBAs1M5hx2eXpo,1699
|
|
20
|
-
digitalhub/entities/_base/entity/_constructors/name.py,sha256=NihAyRls8rztOxYautJcLtKIYOrQUWWubq_-S2uYQ3o,595
|
|
21
|
-
digitalhub/entities/_base/entity/_constructors/spec.py,sha256=vtCcVTYu8Rg6KRvr5awvtkvCAyLtQGlve6aPiyOtLPU,958
|
|
22
|
-
digitalhub/entities/_base/entity/_constructors/status.py,sha256=PrnouXDllZxS7t6pzbMohTov8QTne0cx3WVE37JGoSw,1298
|
|
23
|
-
digitalhub/entities/_base/entity/_constructors/uuid.py,sha256=7QhQ9epJAnYLCKUPY6AMXOe72nPT8xZRnNM98p_vTnM,663
|
|
24
18
|
digitalhub/entities/_base/executable/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
25
|
-
digitalhub/entities/_base/executable/entity.py,sha256=
|
|
19
|
+
digitalhub/entities/_base/executable/entity.py,sha256=Ab8NHT7A4z77_t4cECbPT04ynt6Xm9bKspvMkSG9D-4,13341
|
|
26
20
|
digitalhub/entities/_base/material/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
27
21
|
digitalhub/entities/_base/material/entity.py,sha256=nl0uT4VvFRBmkZuyH3Jec8zdwSLOR3B9BJp8fG99zng,6759
|
|
28
22
|
digitalhub/entities/_base/material/spec.py,sha256=7lF_Pv7zGJUAR2ixmmCt-UPnoASgOLxnb9yffqwBVp8,544
|
|
29
23
|
digitalhub/entities/_base/material/status.py,sha256=vAIb5qti5KxdIPdB9WYmWrCnqwGyUxuF6CpGSpcWxbE,520
|
|
30
24
|
digitalhub/entities/_base/material/utils.py,sha256=diFtnOjCumenzOL1Su0ROA3KdrIJlRq5Jh845axvAtU,2512
|
|
31
25
|
digitalhub/entities/_base/runtime_entity/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
32
|
-
digitalhub/entities/_base/runtime_entity/builder.py,sha256=
|
|
26
|
+
digitalhub/entities/_base/runtime_entity/builder.py,sha256=ZuqUJD1e9m-vYkRnh42u_nMQaTA0awt0meJgi2a2kpw,3716
|
|
33
27
|
digitalhub/entities/_base/unversioned/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
34
28
|
digitalhub/entities/_base/unversioned/builder.py,sha256=7wCE8FgFOBJ6ocBAU0hG3ZyEJFmIEEywz3rx0XatK3Y,1942
|
|
35
29
|
digitalhub/entities/_base/unversioned/entity.py,sha256=N8uco8trn6uF07TkwX6xsJoL_PRlNiY46Xcid00PbxU,984
|
|
@@ -39,14 +33,20 @@ digitalhub/entities/_base/versioned/entity.py,sha256=RZp1HkrgZTxSGUR1UcegCrNwG_U
|
|
|
39
33
|
digitalhub/entities/_commons/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
40
34
|
digitalhub/entities/_commons/enums.py,sha256=6V-XMDlDIvLyexwcWtMpSfel1DBonYGCg34qcF4LTd8,2161
|
|
41
35
|
digitalhub/entities/_commons/metrics.py,sha256=eiN5lHmXRaHQbbN3uAOZlj3QXDxkyADoFqyZ40vdpLc,5378
|
|
42
|
-
digitalhub/entities/_commons/utils.py,sha256=
|
|
36
|
+
digitalhub/entities/_commons/utils.py,sha256=ImEtYVQxRqyDkkkZpRHuLjKywhsmU0cCBcfrmSbaCVE,3944
|
|
37
|
+
digitalhub/entities/_constructors/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
38
|
+
digitalhub/entities/_constructors/metadata.py,sha256=VxZw341nIw92iR_3-o2_y8I7xle1TTBAs1M5hx2eXpo,1699
|
|
39
|
+
digitalhub/entities/_constructors/name.py,sha256=NihAyRls8rztOxYautJcLtKIYOrQUWWubq_-S2uYQ3o,595
|
|
40
|
+
digitalhub/entities/_constructors/spec.py,sha256=vtCcVTYu8Rg6KRvr5awvtkvCAyLtQGlve6aPiyOtLPU,958
|
|
41
|
+
digitalhub/entities/_constructors/status.py,sha256=PrnouXDllZxS7t6pzbMohTov8QTne0cx3WVE37JGoSw,1298
|
|
42
|
+
digitalhub/entities/_constructors/uuid.py,sha256=7QhQ9epJAnYLCKUPY6AMXOe72nPT8xZRnNM98p_vTnM,663
|
|
43
43
|
digitalhub/entities/_processors/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
44
|
-
digitalhub/entities/_processors/base.py,sha256=
|
|
45
|
-
digitalhub/entities/_processors/context.py,sha256=
|
|
46
|
-
digitalhub/entities/_processors/utils.py,sha256
|
|
44
|
+
digitalhub/entities/_processors/base.py,sha256=ekxcH2WoCTHNvb5Z33F0y10UwJsPVB7JYcN7RjKaccg,18717
|
|
45
|
+
digitalhub/entities/_processors/context.py,sha256=DpaNP5E5HvpgOTm4ZZnAZPc66gU3bAsKnlmx_FX0E7Q,46822
|
|
46
|
+
digitalhub/entities/_processors/utils.py,sha256=oKX8MxmQMFN75qmhxce8vbHKIRPU6_d93_l3AU72-ng,6315
|
|
47
47
|
digitalhub/entities/artifact/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
48
|
-
digitalhub/entities/artifact/crud.py,sha256=
|
|
49
|
-
digitalhub/entities/artifact/utils.py,sha256=
|
|
48
|
+
digitalhub/entities/artifact/crud.py,sha256=OvsK-UjratJgftWTIKyDaw3UH6yr9oKUpkvAiyIDkW8,8559
|
|
49
|
+
digitalhub/entities/artifact/utils.py,sha256=nBBdTe3XW4ZJQnO9WennEUMJOovYMFkz3esK8IWkdMw,2434
|
|
50
50
|
digitalhub/entities/artifact/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
51
51
|
digitalhub/entities/artifact/_base/builder.py,sha256=IByi2iCzA68WdYQ4BXLUEByamp1cnlcjlphnryWXR3c,2364
|
|
52
52
|
digitalhub/entities/artifact/_base/entity.py,sha256=i6bpYvbYxtjuQY-qpoqemLq42jbqKuArEYfJJvxfzeI,1215
|
|
@@ -58,8 +58,8 @@ digitalhub/entities/artifact/artifact/entity.py,sha256=__dfLAo5HHbky-l_XQpPag_IE
|
|
|
58
58
|
digitalhub/entities/artifact/artifact/spec.py,sha256=BAbL-7XtOF_tDnLizR39YLmKAdRAr3sCyMNr1K5FVNI,740
|
|
59
59
|
digitalhub/entities/artifact/artifact/status.py,sha256=Aela65491_2NqqZG2OCvTsY9Gfverb1ng-_sYttcUI8,413
|
|
60
60
|
digitalhub/entities/dataitem/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
61
|
-
digitalhub/entities/dataitem/crud.py,sha256=
|
|
62
|
-
digitalhub/entities/dataitem/utils.py,sha256=
|
|
61
|
+
digitalhub/entities/dataitem/crud.py,sha256=q9lkp49lyp09waumCa4ZnKDqcm15m8yKTcXvyrpCOk0,9210
|
|
62
|
+
digitalhub/entities/dataitem/utils.py,sha256=LMdPv683SKQCcGPvnxZsXN9b5X1Yvpo8LuKicsA8-c4,7554
|
|
63
63
|
digitalhub/entities/dataitem/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
64
64
|
digitalhub/entities/dataitem/_base/builder.py,sha256=uX5vxDJ8GxVk49NW9mHBKYhinJnfzLBObI7zy4J0TB0,2364
|
|
65
65
|
digitalhub/entities/dataitem/_base/entity.py,sha256=6GrqOY-S2p_sljzUdWgl5o_DlAbSbjIyCp7JJh__U_U,1053
|
|
@@ -77,24 +77,24 @@ digitalhub/entities/dataitem/iceberg/spec.py,sha256=vtfaV9OE1WBKTtTHoYSdMnjQfUey
|
|
|
77
77
|
digitalhub/entities/dataitem/iceberg/status.py,sha256=HMBNAzqQplUxmnnIVb57cCcjhmUQ1v8K3wAGUnYdRlA,310
|
|
78
78
|
digitalhub/entities/dataitem/table/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
79
79
|
digitalhub/entities/dataitem/table/builder.py,sha256=FoXrW09HXCZ0XNnCPHNSZs_iLrIG_8WPCZo_5Vq6_YI,824
|
|
80
|
-
digitalhub/entities/dataitem/table/entity.py,sha256=
|
|
80
|
+
digitalhub/entities/dataitem/table/entity.py,sha256=kzs8TAsIBpzJEovSaaLad-_u77wALZbx4f0IX0yAktM,3763
|
|
81
81
|
digitalhub/entities/dataitem/table/models.py,sha256=5wqwm4GQjikdJVtDPEn5hwUR_FWxW_7hwIf-GLikqjQ,1269
|
|
82
82
|
digitalhub/entities/dataitem/table/spec.py,sha256=oYgh5XqFrdzIpGxXe1FW5bsGlFHokUJdHJSamuyFs4k,779
|
|
83
83
|
digitalhub/entities/dataitem/table/status.py,sha256=_-_UrcPZh3maGENDZ99pLA8Gz1yrXapvsxs_lPI1skw,306
|
|
84
84
|
digitalhub/entities/dataitem/table/utils.py,sha256=lKo977VKvjtq3EPLIf-V6-LAwSz7ZPgadvaAmK42ML8,2555
|
|
85
85
|
digitalhub/entities/function/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
86
|
-
digitalhub/entities/function/crud.py,sha256=
|
|
86
|
+
digitalhub/entities/function/crud.py,sha256=bGdHe2EauqSXeSKLryI3L4O6cMACtJXgsA11CDzRxwg,7105
|
|
87
87
|
digitalhub/entities/function/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
88
88
|
digitalhub/entities/function/_base/builder.py,sha256=tmpcf5VGi5T24AQaa_lvmdi53mliObGMd59eDAwlWlw,2143
|
|
89
|
-
digitalhub/entities/function/_base/entity.py,sha256=
|
|
89
|
+
digitalhub/entities/function/_base/entity.py,sha256=SgEkROz647Nacjmf1a1IP2bMs94BxixEi2i6AUs1gls,3209
|
|
90
90
|
digitalhub/entities/function/_base/spec.py,sha256=qDiqfe6zSFYYH-kXPmm4R_LId985V24hO2ikFApv-6U,382
|
|
91
91
|
digitalhub/entities/function/_base/status.py,sha256=wjCUr2HoQQUL4fwTjvPE8eubkCeVxbe2VV8zs0BJ5RY,278
|
|
92
92
|
digitalhub/entities/model/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
93
|
-
digitalhub/entities/model/crud.py,sha256=
|
|
94
|
-
digitalhub/entities/model/utils.py,sha256=
|
|
93
|
+
digitalhub/entities/model/crud.py,sha256=toeTifR6zi9-mH51770bgJQqYKtnYfpWj-49l2k0csg,8337
|
|
94
|
+
digitalhub/entities/model/utils.py,sha256=7YQXr2TbvRAGVrn5okREMWDJQ-Y4PcDu_EyxfTKh6Ck,2431
|
|
95
95
|
digitalhub/entities/model/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
96
96
|
digitalhub/entities/model/_base/builder.py,sha256=6kG8-NNIup2B2GE5ABg9QwV3LoyThnw4KEYABm9kxPg,2343
|
|
97
|
-
digitalhub/entities/model/_base/entity.py,sha256=
|
|
97
|
+
digitalhub/entities/model/_base/entity.py,sha256=bDI-EibvcfcFaSkQhLvsfrEwqjpSZAtAtfvlToM39NM,5895
|
|
98
98
|
digitalhub/entities/model/_base/spec.py,sha256=O0Gk08r6AtSL7tfYPdb-XkK2agqaIOISh9hgk8R1Bqs,973
|
|
99
99
|
digitalhub/entities/model/_base/status.py,sha256=iL7342J6-Dj0gpXANDYh9FOICunKMEgBqTs7SEC8OoI,574
|
|
100
100
|
digitalhub/entities/model/huggingface/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
@@ -120,39 +120,38 @@ digitalhub/entities/model/sklearn/entity.py,sha256=PvjW0xMyLEPH3bO8FAOEdu1H1hp1r
|
|
|
120
120
|
digitalhub/entities/model/sklearn/spec.py,sha256=AEoiRp2T46z8IrQ-BHx1rtd4b_yaEZJSQ_necKjkjjw,409
|
|
121
121
|
digitalhub/entities/model/sklearn/status.py,sha256=YBf5joe8hJH59U92m0JKFlmLCRpNj0EyR3mA7DKiVrQ,295
|
|
122
122
|
digitalhub/entities/project/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
123
|
-
digitalhub/entities/project/crud.py,sha256=
|
|
123
|
+
digitalhub/entities/project/crud.py,sha256=gc1b2n2ykDBgf4nyllSv1gatAg5Qs6PdpuxvOBED_KA,8627
|
|
124
124
|
digitalhub/entities/project/utils.py,sha256=-w09JUVOETxpfL0BXPv_vzV0gfxUlrSZKwAGjb8zDWI,1119
|
|
125
125
|
digitalhub/entities/project/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
126
126
|
digitalhub/entities/project/_base/builder.py,sha256=PGOqTHUsCn5CtnJusnT6U2zytxKpSNBBsFnXBgBUe2k,3884
|
|
127
|
-
digitalhub/entities/project/_base/entity.py,sha256=
|
|
127
|
+
digitalhub/entities/project/_base/entity.py,sha256=xNiHJYEd5O4yiwEBpOHIXiTe4om7YSnEKUQMoVnjCJ8,58874
|
|
128
128
|
digitalhub/entities/project/_base/models.py,sha256=_TvjQgMd6EwzGIks9dNszBNMT5BHTwtLce-TDTObSoY,482
|
|
129
129
|
digitalhub/entities/project/_base/spec.py,sha256=AHW9qBJvjdhyUOu2V9Fu7CCzcjWawHsFfqNtN9Zhqrk,1777
|
|
130
130
|
digitalhub/entities/project/_base/status.py,sha256=afEb5CGeovM5VLPsxzP4k2QGEZjhhGkpEmVlK0Fh7sE,276
|
|
131
131
|
digitalhub/entities/run/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
132
|
-
digitalhub/entities/run/crud.py,sha256=
|
|
132
|
+
digitalhub/entities/run/crud.py,sha256=ACS2vDhIKbLYyWzZI4SL8otSaaoqQ0cUm4c6byJ7woo,5470
|
|
133
133
|
digitalhub/entities/run/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
134
134
|
digitalhub/entities/run/_base/builder.py,sha256=nzQln5Hvl9teYJgSql1z5rr-8iizunK0MSz4iIGb-BE,2562
|
|
135
|
-
digitalhub/entities/run/_base/entity.py,sha256=
|
|
135
|
+
digitalhub/entities/run/_base/entity.py,sha256=Pppt5eXghR1bvwy6QMXxIRxQJs3bASWWScMe3PnMKSc,11992
|
|
136
136
|
digitalhub/entities/run/_base/spec.py,sha256=n6S-hUBJDaHiqHqJCAdOzzAFpp0pvEa96PafND-HYdw,1830
|
|
137
137
|
digitalhub/entities/run/_base/status.py,sha256=BFHUlvFJHXWNsawThd2WpfwisFBnzyTy5KVPAIJGeNM,638
|
|
138
138
|
digitalhub/entities/secret/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
139
|
-
digitalhub/entities/secret/crud.py,sha256=
|
|
139
|
+
digitalhub/entities/secret/crud.py,sha256=a6x6G_Lmsj_E8vxQHjbQ7hil9rXzPxfnNDTVrmsY4yY,7505
|
|
140
140
|
digitalhub/entities/secret/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
141
141
|
digitalhub/entities/secret/_base/builder.py,sha256=_jx7lgvbnFNpqbwT8-HYb5GNiNSg_KWA3Ngzz6l9bc4,2303
|
|
142
142
|
digitalhub/entities/secret/_base/entity.py,sha256=LBgVS8FRZJAsLl1QMjvpVDmf_Q1qm3_feZr6F9Fv-_4,1928
|
|
143
143
|
digitalhub/entities/secret/_base/spec.py,sha256=r0wCaHLLBg2MDYPLgud8NbJ0UgjwBCoSkpCFAjvycTw,884
|
|
144
144
|
digitalhub/entities/secret/_base/status.py,sha256=cpHwYdk4hhPIXzjkqgF9cvqSCR5CKFaY-ffyV46LBsA,274
|
|
145
145
|
digitalhub/entities/task/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
146
|
-
digitalhub/entities/task/crud.py,sha256=
|
|
146
|
+
digitalhub/entities/task/crud.py,sha256=GcHif7mjf-J4hnscsQ8tEe9Bpx-eqIVns2r5JVCSZFM,5928
|
|
147
147
|
digitalhub/entities/task/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
148
148
|
digitalhub/entities/task/_base/builder.py,sha256=1aZxj5z_9mlNWZzXJfd1sVCln6zDn-CMbWK7ToFkHQ8,2466
|
|
149
149
|
digitalhub/entities/task/_base/entity.py,sha256=zzszVSuS-2GDmxgr38EMsLVQOm99055BxUoh0nE7sdU,3632
|
|
150
150
|
digitalhub/entities/task/_base/models.py,sha256=LGS_BmJG95m4WW1jsGHfjWjIbCBcQIArRwKfVYL4ro8,5851
|
|
151
151
|
digitalhub/entities/task/_base/spec.py,sha256=TQ7IXW_QnTGxFvVDk0M22DlaqMWm9Klq1Yk6LGBAhEM,2608
|
|
152
152
|
digitalhub/entities/task/_base/status.py,sha256=9TazT1vKJT8NRvh__ymKJ89CUUcf7UhnLREcvudrFTU,270
|
|
153
|
-
digitalhub/entities/task/_base/utils.py,sha256=27PY09zz0o-AegdYpxSUIeaT9cJgk1dltBUK-DC_7wk,556
|
|
154
153
|
digitalhub/entities/trigger/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
155
|
-
digitalhub/entities/trigger/crud.py,sha256=
|
|
154
|
+
digitalhub/entities/trigger/crud.py,sha256=PTPkYCYs9xMIYqRPlt1AqYpgS0HG0Niqyo4vrxInp3E,7371
|
|
156
155
|
digitalhub/entities/trigger/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
157
156
|
digitalhub/entities/trigger/_base/builder.py,sha256=JhRVtp6JMue-05zr-bQ3gjm4Dh_g0bnBhzdJi6OR5Y0,1835
|
|
158
157
|
digitalhub/entities/trigger/_base/entity.py,sha256=m_sOX8qkGgsqqo9CpSpNisQaXwMtPk2tlB0sCfW3nes,1322
|
|
@@ -169,23 +168,24 @@ digitalhub/entities/trigger/scheduler/entity.py,sha256=05VLQK0np31QPu0Dwp8mpC2VR
|
|
|
169
168
|
digitalhub/entities/trigger/scheduler/spec.py,sha256=xU6Oh1okj_toJmMyaAy7QufPxIw_QIuwQG6OizVgdm0,784
|
|
170
169
|
digitalhub/entities/trigger/scheduler/status.py,sha256=uSyUnryssv70w-6k6F2qmrnd-OtuUwHarexjN7OconA,309
|
|
171
170
|
digitalhub/entities/workflow/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
172
|
-
digitalhub/entities/workflow/crud.py,sha256=
|
|
171
|
+
digitalhub/entities/workflow/crud.py,sha256=G8Nh-ZbcejcmpbawDGivUKDRrbhJbiyc5JXDK4uYLL8,7030
|
|
173
172
|
digitalhub/entities/workflow/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
174
173
|
digitalhub/entities/workflow/_base/builder.py,sha256=G0IyxVzHa_640vZiljTcCKF8hmfBQfrQsOj8QInU2Ok,2143
|
|
175
|
-
digitalhub/entities/workflow/_base/entity.py,sha256=
|
|
174
|
+
digitalhub/entities/workflow/_base/entity.py,sha256=_lIvxfG9qT_d_nji1hTXYKUDW7lZ0KZs9bFZ-3KIrGs,2632
|
|
176
175
|
digitalhub/entities/workflow/_base/spec.py,sha256=3TKGDnf8_47H5hMl38DWz7rXp2d-zsz8wRzV8fSlFb8,382
|
|
177
176
|
digitalhub/entities/workflow/_base/status.py,sha256=sIZJOUBLB7UKqCMnaGBz1l6Kc3wg9u0518ce1ebHInM,278
|
|
178
177
|
digitalhub/factory/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
179
|
-
digitalhub/factory/
|
|
180
|
-
digitalhub/factory/
|
|
178
|
+
digitalhub/factory/enums.py,sha256=PIFRsOkcxy_raOBA4VD0OmY586pLrZEXl07MFmvkI4Q,415
|
|
179
|
+
digitalhub/factory/factory.py,sha256=RsyJtE8GMlaO6Wv_5X55F4ZlvRaCyNM-KJDdbpiu22M,12992
|
|
180
|
+
digitalhub/factory/utils.py,sha256=3kqZNpupbJy0xB5BlBhb8osXwui-_epsG_gaBmEMVx8,1689
|
|
181
181
|
digitalhub/runtimes/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
182
182
|
digitalhub/runtimes/_base.py,sha256=f-L4gPGjjCuOwtqbQH4cq5qVOfI3cq2IFhhzh5EXALU,3082
|
|
183
183
|
digitalhub/runtimes/builder.py,sha256=u49-y40j4ZL3fm4IG8KGHt45xFl5n3mw4unJjsJiZMs,1747
|
|
184
184
|
digitalhub/runtimes/enums.py,sha256=MCaeTOD3Bd6cdXnOlbklmRJ6rBHctJ-iJFiCrRM4Sx0,634
|
|
185
185
|
digitalhub/stores/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
186
186
|
digitalhub/stores/client/__init__.py,sha256=0NWCFXlcnb45II98tUAGtvXUNVMXsIbFePmo7G0ltn8,456
|
|
187
|
-
digitalhub/stores/client/api.py,sha256=
|
|
188
|
-
digitalhub/stores/client/builder.py,sha256=
|
|
187
|
+
digitalhub/stores/client/api.py,sha256=kVNu05LuHfJ8ixnl1qzl3Z0guDwl6vCWJohqVXHCsFA,904
|
|
188
|
+
digitalhub/stores/client/builder.py,sha256=N5oFQ5BZR6YTZKQYW5jWBBqBz5AxS8TALj30Jv_zuFw,1405
|
|
189
189
|
digitalhub/stores/client/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
190
190
|
digitalhub/stores/client/_base/api_builder.py,sha256=hh30o2MfEY91VzhQyqP3gkBClC8FYYPNyTmBA99cqqA,786
|
|
191
191
|
digitalhub/stores/client/_base/client.py,sha256=E33xRleSQoWQ271wTPnmDzpD50m64Nwvo2aTuDt55l4,5797
|
|
@@ -193,17 +193,16 @@ digitalhub/stores/client/_base/key_builder.py,sha256=hCsufQuDPRqHIzBATiF_46-wtE5
|
|
|
193
193
|
digitalhub/stores/client/_base/params_builder.py,sha256=Vo1yaAcp0X8H43ypJnStB6xP-KH-Cz3K-bjP4537Lys,877
|
|
194
194
|
digitalhub/stores/client/dhcore/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
195
195
|
digitalhub/stores/client/dhcore/api_builder.py,sha256=tKmwPsiWWAGIHmAZ4RNjC7Q9bGTYmuKA4sL93nT-StM,4495
|
|
196
|
-
digitalhub/stores/client/dhcore/client.py,sha256=
|
|
197
|
-
digitalhub/stores/client/dhcore/configurator.py,sha256=
|
|
198
|
-
digitalhub/stores/client/dhcore/enums.py,sha256=
|
|
196
|
+
digitalhub/stores/client/dhcore/client.py,sha256=Rklsxe2yROadSzvqVWU1NZcePPxN5SebFuu049XPtXA,17023
|
|
197
|
+
digitalhub/stores/client/dhcore/configurator.py,sha256=JUwHH1g_OhvJntYZ2LwkEPIv5ANkoTbBcal0EUMr3p4,16220
|
|
198
|
+
digitalhub/stores/client/dhcore/enums.py,sha256=QpRf7OkoQtUkMix5tp3TXoQXEkAo6sPvlmApxjsF1oI,340
|
|
199
199
|
digitalhub/stores/client/dhcore/error_parser.py,sha256=iQHyk_3WQSK8fue8slgBMHsTjVd-iO-8LkmHhPHqRcI,4618
|
|
200
200
|
digitalhub/stores/client/dhcore/key_builder.py,sha256=wD8kB0LHOvf669pzF8D6ksZ3GJfWmbDYDFbGs3TnaPo,1432
|
|
201
|
-
digitalhub/stores/client/dhcore/
|
|
202
|
-
digitalhub/stores/client/dhcore/
|
|
203
|
-
digitalhub/stores/client/dhcore/utils.py,sha256=EsE4f8CCLbz4lVzm3R-R_PrwtQnMfqsBKJ-UmlB3vFk,2831
|
|
201
|
+
digitalhub/stores/client/dhcore/params_builder.py,sha256=RTMEN0r_yKYu500BjSgOtX-iWBn2ya4AL5BWWzm2NsI,9458
|
|
202
|
+
digitalhub/stores/client/dhcore/utils.py,sha256=6r0cBlJVHvOSRMEZhRbRTb8qQANq842twZTQ0D8Gqm4,2541
|
|
204
203
|
digitalhub/stores/client/local/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
205
204
|
digitalhub/stores/client/local/api_builder.py,sha256=D-bhX6w7gaTA6kkxbGJzdNFrjzZ5LY5qcf2dQ5R_ZgM,3563
|
|
206
|
-
digitalhub/stores/client/local/client.py,sha256=
|
|
205
|
+
digitalhub/stores/client/local/client.py,sha256=oRHe2AP3YVzwuBomgI3S0xMPHDDBJDT87AaOXz97ZmA,19335
|
|
207
206
|
digitalhub/stores/client/local/enums.py,sha256=J4xf23H2AO8OKYPim2XO143A7j_X6dqfPSm03Sbi0AI,258
|
|
208
207
|
digitalhub/stores/client/local/key_builder.py,sha256=ijISHvPcMyx591gHlSP1IZdiRrFi0oVh8AqaWe1L_g0,1431
|
|
209
208
|
digitalhub/stores/client/local/params_builder.py,sha256=_hR4bwn0bpGc74iKb3PM3WUJ6s3GAgsc1zcXoWjy560,3589
|
|
@@ -212,7 +211,7 @@ digitalhub/stores/credentials/api.py,sha256=mwClY8tCG62eAhbwrmK-kzYQzEJ5ZmCW52Wm
|
|
|
212
211
|
digitalhub/stores/credentials/configurator.py,sha256=60vxnaGuctiv0Rjf2vxBlNzBq1iVga6sdmQ7EUt_Kdk,5487
|
|
213
212
|
digitalhub/stores/credentials/enums.py,sha256=uRJ6af0ujk3Ki4DXM9rFqBROyhlbf4EYNWml_CSdJL8,1665
|
|
214
213
|
digitalhub/stores/credentials/handler.py,sha256=CHrs3vmTkCQrtTenvVQ9QlRIntyrOOqZN-9BBJFG6JI,4355
|
|
215
|
-
digitalhub/stores/credentials/ini_module.py,sha256=
|
|
214
|
+
digitalhub/stores/credentials/ini_module.py,sha256=L-ZVGMHtQ75j4Dg2vK9BaS8xaoIABbyADHk3-EQCqiU,3377
|
|
216
215
|
digitalhub/stores/credentials/store.py,sha256=IaldhWeW6x_6PR7hPeCcuGqqblBLBLfZ_wyJCCocevs,2191
|
|
217
216
|
digitalhub/stores/data/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
218
217
|
digitalhub/stores/data/api.py,sha256=pzvPseP6MnnW59Jms4JoWxGxloILiEfU5Kw5Tq8WR2A,1739
|
|
@@ -221,16 +220,15 @@ digitalhub/stores/data/enums.py,sha256=8pO_tUZmKB4BpjW29lQN9rLGPOrJoqDVYJYzzxeDX
|
|
|
221
220
|
digitalhub/stores/data/_base/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
222
221
|
digitalhub/stores/data/_base/store.py,sha256=dtCMQcUWBPEBlSzNSx9KNtSw7dJIkJU8NX6ul1HC5II,5874
|
|
223
222
|
digitalhub/stores/data/local/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
224
|
-
digitalhub/stores/data/local/store.py,sha256=
|
|
223
|
+
digitalhub/stores/data/local/store.py,sha256=epnuwyNAmx6YD5EKK-TdicUG1-ye9xfIVW7TtzQ_m_M,4810
|
|
225
224
|
digitalhub/stores/data/remote/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
226
225
|
digitalhub/stores/data/remote/store.py,sha256=DTrBW62zc1ix7UbLnY6YeqN0_8kGeUH_h9k7Br2HY3k,6130
|
|
227
226
|
digitalhub/stores/data/s3/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
228
|
-
digitalhub/stores/data/s3/configurator.py,sha256=
|
|
229
|
-
digitalhub/stores/data/s3/store.py,sha256=
|
|
230
|
-
digitalhub/stores/data/s3/utils.py,sha256=jCzXp9X2tnF3iHRSmvfnp1e5ahbZkMaMMC35FfysFZw,1894
|
|
227
|
+
digitalhub/stores/data/s3/configurator.py,sha256=vJ2cxnQqhHR7xWS58ME-MSwqBbT5OxU6Hx79OUPnCzA,5084
|
|
228
|
+
digitalhub/stores/data/s3/store.py,sha256=cSEvt0dds4U4qj8pzsqgEt2Uv3ZW11rGZM-hVcIBz5Q,20723
|
|
231
229
|
digitalhub/stores/data/sql/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
232
230
|
digitalhub/stores/data/sql/configurator.py,sha256=NluShAlwoy0GXNcnBeFeoAwEF5b2mUpA6EY2OdqdYjQ,4017
|
|
233
|
-
digitalhub/stores/data/sql/store.py,sha256=
|
|
231
|
+
digitalhub/stores/data/sql/store.py,sha256=0lmgnipcEYyUWnEBtsK_6aROBjarrXkdD0BuSJHZoco,17346
|
|
234
232
|
digitalhub/stores/readers/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
235
233
|
digitalhub/stores/readers/data/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
236
234
|
digitalhub/stores/readers/data/api.py,sha256=jn2AwCcTRbAOeAhs-3D1OpjhvFf8y537upvzVAgHxl4,1966
|
|
@@ -245,15 +243,16 @@ digitalhub/stores/readers/query/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-
|
|
|
245
243
|
digitalhub/utils/__init__.py,sha256=IRY2i9U97wptE3OcC_NO-EBmcAH6-Q36gMCspKetQ0k,107
|
|
246
244
|
digitalhub/utils/enums.py,sha256=FvvBBkryy2-Ji0MhBMeJC6oLnd_ba0b0y1uCcWT-mvU,377
|
|
247
245
|
digitalhub/utils/exceptions.py,sha256=RKLlLlMqQXWfMyT6npLjc3NPeKxzpWH-nrCv8VQC2x4,1435
|
|
248
|
-
digitalhub/utils/file_utils.py,sha256=
|
|
249
|
-
digitalhub/utils/generic_utils.py,sha256=
|
|
246
|
+
digitalhub/utils/file_utils.py,sha256=GXS0d49aJprEior5QL1QSMnE5SxbsOeemjqhmdiicOo,5964
|
|
247
|
+
digitalhub/utils/generic_utils.py,sha256=3jHGVNM8sJMyUWL-5jC6X_0mcWscoBQ5ksp0SEhn2IY,6225
|
|
250
248
|
digitalhub/utils/git_utils.py,sha256=hjGNqeu7EKYTbjXKcV8YD8nbEQ99SQkilfPt-YwCPrg,4005
|
|
251
249
|
digitalhub/utils/io_utils.py,sha256=p2K9VFJGzl3PmXc7GfXKZkPyg5hImduvXlfYVpnsMck,3506
|
|
252
250
|
digitalhub/utils/logger.py,sha256=hH3gGE35L8jRxrg8EPXGZZAK1OA5-CvWnayuBZzteBM,545
|
|
251
|
+
digitalhub/utils/store_utils.py,sha256=X6pUywqENNdM-kpPwm67w7qx5-VtTHHIdkCdEwL29AI,1023
|
|
253
252
|
digitalhub/utils/types.py,sha256=orCxY43zXMJfKZsOj6FUR85u9wRBPJ0wdkzrBHTnVW8,217
|
|
254
253
|
digitalhub/utils/uri_utils.py,sha256=Go787CxAOo2MMjFIEt8XssomtyV8vTdIrpyjSQK3gAM,4408
|
|
255
|
-
digitalhub-0.
|
|
256
|
-
digitalhub-0.
|
|
257
|
-
digitalhub-0.
|
|
258
|
-
digitalhub-0.
|
|
259
|
-
digitalhub-0.
|
|
254
|
+
digitalhub-0.14.0b0.dist-info/METADATA,sha256=6YTnGezL1uebB-2bYewWY1glWpLVdMfOHSoc1Hi-Xqc,18129
|
|
255
|
+
digitalhub-0.14.0b0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
256
|
+
digitalhub-0.14.0b0.dist-info/licenses/AUTHORS,sha256=iDleK_2EAMmh0o8Te_E9mdXQCP4rBfFr9dW9d0-pCno,301
|
|
257
|
+
digitalhub-0.14.0b0.dist-info/licenses/LICENSE,sha256=z3xQCHfGmTnigfoUe3uidW_GUSVeFBdos30w9VNTRec,11361
|
|
258
|
+
digitalhub-0.14.0b0.dist-info/RECORD,,
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
-
#
|
|
3
|
-
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def build_task_actions(kind_action_list: list[tuple[str, str]]) -> list[dict[str, str]]:
|
|
9
|
-
"""
|
|
10
|
-
Build task actions.
|
|
11
|
-
|
|
12
|
-
Parameters
|
|
13
|
-
----------
|
|
14
|
-
kind_action_list : list[tuple[str, str]]
|
|
15
|
-
List of kind-action couples.
|
|
16
|
-
|
|
17
|
-
Returns
|
|
18
|
-
-------
|
|
19
|
-
list[dict[str, str]]
|
|
20
|
-
Returns the task actions.
|
|
21
|
-
"""
|
|
22
|
-
return [{"kind": kind, "action": action} for (kind, action) in kind_action_list]
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
-
#
|
|
3
|
-
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from pydantic import BaseModel
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class ClientConfig(BaseModel):
|
|
11
|
-
"""Client configuration model."""
|
|
12
|
-
|
|
13
|
-
endpoint: str
|
|
14
|
-
"""API endpoint."""
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class BasicAuth(ClientConfig):
|
|
18
|
-
"""Basic authentication model."""
|
|
19
|
-
|
|
20
|
-
user: str
|
|
21
|
-
"""Username."""
|
|
22
|
-
|
|
23
|
-
password: str
|
|
24
|
-
"""Basic authentication password."""
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class OAuth2TokenAuth(ClientConfig):
|
|
28
|
-
"""OAuth2 token authentication model."""
|
|
29
|
-
|
|
30
|
-
access_token: str
|
|
31
|
-
"""OAuth2 token."""
|
|
32
|
-
|
|
33
|
-
refresh_token: str
|
|
34
|
-
"""OAuth2 refresh token."""
|
|
35
|
-
|
|
36
|
-
client_id: str
|
|
37
|
-
"""OAuth2 client id."""
|
|
38
|
-
|
|
39
|
-
issuer_endpoint: str
|
|
40
|
-
"""OAuth2 issuer endpoint."""
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
# SPDX-FileCopyrightText: © 2025 DSLab - Fondazione Bruno Kessler
|
|
2
|
-
#
|
|
3
|
-
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from pathlib import Path
|
|
8
|
-
from urllib.parse import urlparse
|
|
9
|
-
|
|
10
|
-
from boto3 import client as boto3_client
|
|
11
|
-
|
|
12
|
-
from digitalhub.stores.credentials.enums import CredsOrigin
|
|
13
|
-
from digitalhub.stores.data.s3.configurator import S3StoreConfigurator
|
|
14
|
-
from digitalhub.utils.exceptions import StoreError
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def get_bucket_name(path: str) -> str:
|
|
18
|
-
"""
|
|
19
|
-
Extract the bucket name from an S3 path.
|
|
20
|
-
|
|
21
|
-
Parameters
|
|
22
|
-
----------
|
|
23
|
-
path : str
|
|
24
|
-
S3 URI (e.g., 's3://bucket/key').
|
|
25
|
-
|
|
26
|
-
Returns
|
|
27
|
-
-------
|
|
28
|
-
str
|
|
29
|
-
The bucket name extracted from the URI.
|
|
30
|
-
"""
|
|
31
|
-
return urlparse(path).netloc
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
def get_bucket_and_key(path: str) -> tuple[str, str]:
|
|
35
|
-
"""
|
|
36
|
-
Extract the bucket name and key from an S3 path.
|
|
37
|
-
|
|
38
|
-
Parameters
|
|
39
|
-
----------
|
|
40
|
-
path : str
|
|
41
|
-
S3 URI (e.g., 's3://bucket/key').
|
|
42
|
-
|
|
43
|
-
Returns
|
|
44
|
-
-------
|
|
45
|
-
tuple of str
|
|
46
|
-
Tuple containing (bucket, key) extracted from the URI.
|
|
47
|
-
"""
|
|
48
|
-
parsed = urlparse(path)
|
|
49
|
-
return parsed.netloc, parsed.path
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
def get_s3_source(bucket: str, key: str, filename: Path) -> None:
|
|
53
|
-
"""
|
|
54
|
-
Download an object from S3 and save it to a local file.
|
|
55
|
-
|
|
56
|
-
Parameters
|
|
57
|
-
----------
|
|
58
|
-
bucket : str
|
|
59
|
-
S3 bucket name.
|
|
60
|
-
key : str
|
|
61
|
-
S3 object key.
|
|
62
|
-
filename : Path
|
|
63
|
-
Local path where the downloaded object will be saved.
|
|
64
|
-
|
|
65
|
-
Returns
|
|
66
|
-
-------
|
|
67
|
-
None
|
|
68
|
-
"""
|
|
69
|
-
# Try to get client from environment variables
|
|
70
|
-
try:
|
|
71
|
-
cfg = S3StoreConfigurator().get_boto3_client_config(CredsOrigin.ENV.value)
|
|
72
|
-
s3 = boto3_client("s3", **cfg)
|
|
73
|
-
s3.download_file(bucket, key, filename)
|
|
74
|
-
|
|
75
|
-
# Fallback to file
|
|
76
|
-
except StoreError:
|
|
77
|
-
cfg = S3StoreConfigurator().get_boto3_client_config(CredsOrigin.FILE.value)
|
|
78
|
-
s3.download_file(bucket, key, filename)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|