digitalhub 0.13.0b4__py3-none-any.whl → 0.14.0b1__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.

Files changed (61) hide show
  1. digitalhub/__init__.py +3 -8
  2. digitalhub/entities/_base/_base/entity.py +0 -11
  3. digitalhub/entities/_base/entity/builder.py +5 -5
  4. digitalhub/entities/_base/executable/entity.py +1 -1
  5. digitalhub/entities/_base/runtime_entity/builder.py +53 -18
  6. digitalhub/entities/_commons/utils.py +64 -21
  7. digitalhub/entities/_processors/base.py +11 -3
  8. digitalhub/entities/_processors/context.py +71 -22
  9. digitalhub/entities/_processors/utils.py +3 -3
  10. digitalhub/entities/artifact/crud.py +20 -4
  11. digitalhub/entities/artifact/utils.py +1 -1
  12. digitalhub/entities/dataitem/crud.py +20 -4
  13. digitalhub/entities/dataitem/table/entity.py +0 -21
  14. digitalhub/entities/dataitem/utils.py +1 -1
  15. digitalhub/entities/function/_base/entity.py +1 -1
  16. digitalhub/entities/function/crud.py +15 -4
  17. digitalhub/entities/model/_base/entity.py +21 -1
  18. digitalhub/entities/model/crud.py +21 -5
  19. digitalhub/entities/model/utils.py +1 -1
  20. digitalhub/entities/project/_base/entity.py +65 -33
  21. digitalhub/entities/project/crud.py +8 -1
  22. digitalhub/entities/run/_base/entity.py +21 -1
  23. digitalhub/entities/run/crud.py +22 -5
  24. digitalhub/entities/secret/crud.py +22 -5
  25. digitalhub/entities/task/crud.py +22 -5
  26. digitalhub/entities/trigger/crud.py +20 -4
  27. digitalhub/entities/workflow/_base/entity.py +1 -1
  28. digitalhub/entities/workflow/crud.py +15 -4
  29. digitalhub/factory/enums.py +18 -0
  30. digitalhub/factory/factory.py +136 -57
  31. digitalhub/factory/utils.py +3 -54
  32. digitalhub/stores/client/api.py +6 -10
  33. digitalhub/stores/client/builder.py +3 -3
  34. digitalhub/stores/client/dhcore/client.py +105 -163
  35. digitalhub/stores/client/dhcore/configurator.py +92 -289
  36. digitalhub/stores/client/dhcore/enums.py +0 -16
  37. digitalhub/stores/client/dhcore/params_builder.py +41 -83
  38. digitalhub/stores/client/dhcore/utils.py +14 -22
  39. digitalhub/stores/client/local/client.py +77 -45
  40. digitalhub/stores/credentials/ini_module.py +0 -16
  41. digitalhub/stores/data/local/store.py +0 -103
  42. digitalhub/stores/data/s3/configurator.py +60 -6
  43. digitalhub/stores/data/s3/store.py +44 -2
  44. digitalhub/stores/data/sql/store.py +15 -0
  45. digitalhub/utils/file_utils.py +0 -17
  46. digitalhub/utils/generic_utils.py +1 -2
  47. digitalhub/utils/store_utils.py +44 -0
  48. {digitalhub-0.13.0b4.dist-info → digitalhub-0.14.0b1.dist-info}/METADATA +3 -2
  49. {digitalhub-0.13.0b4.dist-info → digitalhub-0.14.0b1.dist-info}/RECORD +58 -59
  50. digitalhub/entities/task/_base/utils.py +0 -22
  51. digitalhub/stores/client/dhcore/models.py +0 -40
  52. digitalhub/stores/data/s3/utils.py +0 -78
  53. /digitalhub/entities/{_base/entity/_constructors → _constructors}/__init__.py +0 -0
  54. /digitalhub/entities/{_base/entity/_constructors → _constructors}/metadata.py +0 -0
  55. /digitalhub/entities/{_base/entity/_constructors → _constructors}/name.py +0 -0
  56. /digitalhub/entities/{_base/entity/_constructors → _constructors}/spec.py +0 -0
  57. /digitalhub/entities/{_base/entity/_constructors → _constructors}/status.py +0 -0
  58. /digitalhub/entities/{_base/entity/_constructors → _constructors}/uuid.py +0 -0
  59. {digitalhub-0.13.0b4.dist-info → digitalhub-0.14.0b1.dist-info}/WHEEL +0 -0
  60. {digitalhub-0.13.0b4.dist-info → digitalhub-0.14.0b1.dist-info}/licenses/AUTHORS +0 -0
  61. {digitalhub-0.13.0b4.dist-info → digitalhub-0.14.0b1.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 get_bucket_name(root)
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
  ##############################
@@ -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.13.0b4
3
+ Version: 0.14.0b1
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=JrwZhABki1rBFSP3uHBJOckWQiF213_UXuJRoX7QFHA,2572
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=Uu_C1xpw8j4bRAJhA-rD3SF8jvluoAEvUS66pE9Y_0g,2282
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=GyeG1CSeerd1dPBNMoAHBzu4-oJXU33tAplKBAAPO2g,4919
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=duxjwi3ROHM4hewYfUzkTpHuETfHQ8WsQ4n3wprj3DA,13321
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=VvhNKHeMj434q-bMQsoBN_abz2igvQAqIFYQ-abzX8c,2522
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=DxBDnCE3A4HXRBw-qHtHLq3t3rrX9XbL_GVM-xd8yoE,2988
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=Buh9FhsVnSpvSkYixeFX3iHu1H11IJG-CTbuSgcuEwU,18367
45
- digitalhub/entities/_processors/context.py,sha256=0dbxHgZHHvsscrkXfcb9Bojnl2ZRf8beso__kt_Vu7k,45129
46
- digitalhub/entities/_processors/utils.py,sha256=-m9xKAx0Gb4PEaAYbbbXam7DoxnyYNkUYH8AQ3iihtI,6319
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=cPMIXLOe1DNqTzRjCKlQeicZyo-jWD2e1ZJu98PO-Qo,8185
49
- digitalhub/entities/artifact/utils.py,sha256=0g5lIGP2HYOiLaO1f-H7wF0XQtUsxxHBOoFvYt2kt2U,2447
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=doTV39W2bIGYxhSF8dBXZ5MezXF3rmoMCADxyYuFVw8,8836
62
- digitalhub/entities/dataitem/utils.py,sha256=6-iyFRdxTuXxUJpHO-51mIizSWTxoSKSVKD7V8b1KDo,7567
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=brqBpU6oYyOAJg3iX15bBoEO-dtM38whGUilviwrBxs,4214
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=59PrfyIWydouTKGVnPOxw0kKqZZCOXDSmJEzi-gtweQ,6770
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=hQQMMxr5vZAf0gC5Qs8Jlqxzdp3bKhJ6uawJemdCnKs,3189
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=aL6t_EwYHNlmBQTeA4lI4Ka6JFqP5QSKZjdWmuKH404,7966
94
- digitalhub/entities/model/utils.py,sha256=cswaUv320jO5rl8EXtxjwuO2nCM-QUMeJLI1aT4KBmM,2444
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=iSIVUXGiSZu8icogQQNKB3wjw88SLIKTyvJT38HWVtI,5090
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=ceN7EQNjzgmwz2-nT5kPOBJh1urMIo0LRJImsJwBtyA,8456
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=ppuycvr7abZ8Yw34lTl_JyZmGe262M8MEl33ArB8DF0,57267
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=0_Ly_k5svwo9Y1lYSjGYOF94ibCe6hkHNm3FndRxdiY,5045
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=WzjT6cQYBHIxHLVRh4PLDKOWnrcRJpLUwOET-ZMNDrs,11187
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=8LWbkUPHgdSxuCGFjxk3GYIp4gq8hDVeOPHI2Pya9mo,7080
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=Jpm3WiorsQk4DzVLT22gM-bf1conrD9JZW5lbvqsNBo,5503
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=HCbNjDk57TLoGE9m_5zMu0T-MtuQLU0v8BOsxLfWzLc,6997
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=xjNlUO-vvXqIBscvB1GAmyAtopx-OROHX94Mty3ATUw,6695
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=8btCq8f80llz8P8UXxw5hp7cwCwhTqlY4vn3iW59zoc,2612
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/factory.py,sha256=lY557N7WxJwfSxWRONj7J-3n3OVF5Dksh_jS0WMtdvs,9950
180
- digitalhub/factory/utils.py,sha256=mGorhLIqChG0uB029NO-O_tv_FzMBoOxXRRqGmru2AQ,3229
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=uC3GVVC7OOnryUEEmr8QcdFuiOfZNM7NapuuxWLNNC8,1108
188
- digitalhub/stores/client/builder.py,sha256=J8HHyf67Gtr3i1yccRtJLtcKCcYW7u43Jdvynbozkfs,1417
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=JJGQE7zX4JLOjPpR9eP_UE8PwqqOdyrGrNNIj1A7XwE,19554
197
- digitalhub/stores/client/dhcore/configurator.py,sha256=M4L_jRt4E8s2EWeNE6uvMwAN7uvu7pTuc7bBvIyPVs4,24548
198
- digitalhub/stores/client/dhcore/enums.py,sha256=M4a3vArPQ8wUFuFcW2m_nQUAFJgaxQZyZ5hKILYkUQc,755
196
+ digitalhub/stores/client/dhcore/client.py,sha256=YAQxr8yo6Ig8pqrWHMJaxbecihuxkKNs3YJd96vv8Ls,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/models.py,sha256=YPBG7ySfNBPKQtvgNVe2FRSVNxvZf_dCDhfQh7WkDro,750
202
- digitalhub/stores/client/dhcore/params_builder.py,sha256=pEwmfpukjkUeL67GoR4KlvJcEwXKoxG-eOPxTj3tWwg,10928
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=oDb3cSZL6BlF5smg0JKydrF2vZEi8Ped5cVCzk8tjnY,18275
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=ouHCGuAA_odbpKJKuwfCQMt40jRCCh9wLID_HucKo5o,3750
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=_XuIp3HpEa7hxxMfQhK05EscPA_RBiQyb61U464kflo,7368
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=7B0sLUfjiBz-u1gBxsaeU6rgB_zK1hkLf3eWTLOd9tk,3701
229
- digitalhub/stores/data/s3/store.py,sha256=hwcvTkKaBWcCc7fDGuoddgT2v5b8Jr5LtTojja9tdZ8,19583
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=xpo6rA_l54iMK53apakeLl-MfaLt05zFLMO2TGPEtHM,16940
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=KI4ZEiNbR617d-Xjve9cHqDetLDjzOO2Tr3ht0YTZ5w,6232
249
- digitalhub/utils/generic_utils.py,sha256=eKYqG5rilY8zpHRCH4H3ph7hToJ68pAZNqifvQMr5L0,6241
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.13.0b4.dist-info/METADATA,sha256=rYzv9l666BndcEnYjzwJzMPZ8y3JNO9QQ4Hcixy1ypk,18028
256
- digitalhub-0.13.0b4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
257
- digitalhub-0.13.0b4.dist-info/licenses/AUTHORS,sha256=iDleK_2EAMmh0o8Te_E9mdXQCP4rBfFr9dW9d0-pCno,301
258
- digitalhub-0.13.0b4.dist-info/licenses/LICENSE,sha256=z3xQCHfGmTnigfoUe3uidW_GUSVeFBdos30w9VNTRec,11361
259
- digitalhub-0.13.0b4.dist-info/RECORD,,
254
+ digitalhub-0.14.0b1.dist-info/METADATA,sha256=KT9oXOJPjfiWnv2ZCJShIX6bZvSTR1UWRfU9T0D4iKY,18129
255
+ digitalhub-0.14.0b1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
256
+ digitalhub-0.14.0b1.dist-info/licenses/AUTHORS,sha256=iDleK_2EAMmh0o8Te_E9mdXQCP4rBfFr9dW9d0-pCno,301
257
+ digitalhub-0.14.0b1.dist-info/licenses/LICENSE,sha256=z3xQCHfGmTnigfoUe3uidW_GUSVeFBdos30w9VNTRec,11361
258
+ digitalhub-0.14.0b1.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)