digitalhub 0.8.0b7__py3-none-any.whl → 0.8.0b11__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 (70) hide show
  1. digitalhub/__init__.py +1 -1
  2. digitalhub/client/api.py +63 -0
  3. digitalhub/client/builder.py +0 -55
  4. digitalhub/client/dhcore/client.py +39 -11
  5. digitalhub/client/dhcore/utils.py +1 -1
  6. digitalhub/client/local/client.py +1 -1
  7. digitalhub/context/api.py +93 -0
  8. digitalhub/context/builder.py +0 -84
  9. digitalhub/datastores/_base/datastore.py +2 -2
  10. digitalhub/datastores/api.py +37 -0
  11. digitalhub/datastores/builder.py +7 -31
  12. digitalhub/datastores/local/datastore.py +9 -1
  13. digitalhub/datastores/remote/datastore.py +8 -0
  14. digitalhub/datastores/s3/datastore.py +9 -1
  15. digitalhub/datastores/sql/datastore.py +9 -1
  16. digitalhub/entities/_base/api_utils.py +620 -0
  17. digitalhub/entities/_base/context/entity.py +2 -2
  18. digitalhub/entities/_base/crud.py +204 -408
  19. digitalhub/entities/_base/entity/entity.py +1 -1
  20. digitalhub/entities/_base/executable/entity.py +7 -6
  21. digitalhub/entities/_base/material/entity.py +2 -2
  22. digitalhub/entities/_base/runtime_entity/builder.py +11 -0
  23. digitalhub/entities/artifact/_base/builder.py +1 -1
  24. digitalhub/entities/artifact/crud.py +17 -43
  25. digitalhub/entities/dataitem/_base/builder.py +1 -1
  26. digitalhub/entities/dataitem/crud.py +20 -46
  27. digitalhub/entities/dataitem/table/entity.py +1 -1
  28. digitalhub/entities/function/_base/builder.py +1 -1
  29. digitalhub/entities/function/crud.py +14 -40
  30. digitalhub/entities/model/_base/builder.py +1 -1
  31. digitalhub/entities/model/crud.py +16 -43
  32. digitalhub/entities/project/_base/entity.py +71 -44
  33. digitalhub/entities/project/crud.py +8 -8
  34. digitalhub/entities/run/_base/builder.py +21 -1
  35. digitalhub/entities/run/_base/entity.py +1 -1
  36. digitalhub/entities/run/crud.py +17 -30
  37. digitalhub/entities/secret/_base/entity.py +1 -1
  38. digitalhub/entities/secret/crud.py +16 -28
  39. digitalhub/entities/task/_base/builder.py +22 -1
  40. digitalhub/entities/task/_base/entity.py +3 -2
  41. digitalhub/entities/task/crud.py +17 -30
  42. digitalhub/entities/workflow/_base/builder.py +1 -1
  43. digitalhub/entities/workflow/crud.py +14 -40
  44. digitalhub/factory/api.py +31 -25
  45. digitalhub/factory/factory.py +7 -5
  46. digitalhub/readers/_base/builder.py +26 -0
  47. digitalhub/readers/api.py +80 -0
  48. digitalhub/readers/factory.py +133 -0
  49. digitalhub/readers/pandas/builder.py +29 -0
  50. digitalhub/readers/pandas/{readers.py → reader.py} +1 -1
  51. digitalhub/stores/api.py +54 -0
  52. digitalhub/stores/builder.py +0 -46
  53. digitalhub/utils/io_utils.py +38 -2
  54. {digitalhub-0.8.0b7.dist-info → digitalhub-0.8.0b11.dist-info}/METADATA +1 -1
  55. {digitalhub-0.8.0b7.dist-info → digitalhub-0.8.0b11.dist-info}/RECORD +59 -61
  56. digitalhub/entities/artifact/builder.py +0 -51
  57. digitalhub/entities/dataitem/builder.py +0 -51
  58. digitalhub/entities/function/builder.py +0 -51
  59. digitalhub/entities/model/builder.py +0 -51
  60. digitalhub/entities/project/builder.py +0 -51
  61. digitalhub/entities/run/builder.py +0 -51
  62. digitalhub/entities/secret/builder.py +0 -51
  63. digitalhub/entities/task/builder.py +0 -51
  64. digitalhub/entities/workflow/builder.py +0 -51
  65. digitalhub/readers/builder.py +0 -54
  66. digitalhub/readers/registry.py +0 -15
  67. /digitalhub/readers/_base/{readers.py → reader.py} +0 -0
  68. {digitalhub-0.8.0b7.dist-info → digitalhub-0.8.0b11.dist-info}/LICENSE.txt +0 -0
  69. {digitalhub-0.8.0b7.dist-info → digitalhub-0.8.0b11.dist-info}/WHEEL +0 -0
  70. {digitalhub-0.8.0b7.dist-info → digitalhub-0.8.0b11.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,133 @@
1
+ from __future__ import annotations
2
+
3
+ import typing
4
+
5
+ if typing.TYPE_CHECKING:
6
+ from digitalhub.readers._base.builder import ReaderBuilder
7
+ from digitalhub.readers._base.reader import DataframeReader
8
+
9
+
10
+ class ReaderFactory:
11
+ """
12
+ Reader factory class.
13
+ """
14
+
15
+ def __init__(self) -> None:
16
+ self._engine_builders: dict[str, ReaderBuilder] = None
17
+ self._dataframe_builders: dict[str, ReaderBuilder] = None
18
+ self._default: str = None
19
+
20
+ def add_builder(self, engine: str, dataframe: str, builder: ReaderBuilder) -> None:
21
+ """
22
+ Add a builder to the factory.
23
+
24
+ Parameters
25
+ ----------
26
+ name : str
27
+ Reader name.
28
+ builder : DataframeReader
29
+ Builder object.
30
+
31
+ Returns
32
+ -------
33
+ None
34
+ """
35
+ if self._engine_builders is None:
36
+ self._engine_builders = {}
37
+ if engine in self._engine_builders:
38
+ raise ValueError(f"Engine {engine} already exists.")
39
+ self._engine_builders[engine] = builder
40
+
41
+ if self._dataframe_builders is None:
42
+ self._dataframe_builders = {}
43
+ if dataframe in self._dataframe_builders:
44
+ raise ValueError(f"Dataframe {dataframe} already exists.")
45
+ self._dataframe_builders[dataframe] = builder
46
+
47
+ def build(self, engine: str | None = None, dataframe: str | None = None, **kwargs) -> DataframeReader:
48
+ """
49
+ Build reader object.
50
+
51
+ Parameters
52
+ ----------
53
+ engine : str | None
54
+ Engine name.
55
+ dataframe : str | None
56
+ Dataframe name.
57
+ **kwargs : dict
58
+ Keyword arguments.
59
+
60
+ Returns
61
+ -------
62
+ DataframeReader
63
+ Reader object.
64
+ """
65
+ if (engine is None) == (dataframe is None):
66
+ raise ValueError("Either engine or dataframe must be provided.")
67
+ if engine is not None:
68
+ return self._engine_builders[engine].build(**kwargs)
69
+ return self._dataframe_builders[dataframe].build(**kwargs)
70
+
71
+ def list_supported_engines(self) -> list[str]:
72
+ """
73
+ List supported engines.
74
+
75
+ Returns
76
+ -------
77
+ list[str]
78
+ List of supported engines.
79
+ """
80
+ return list(self._engine_builders.keys())
81
+
82
+ def list_supported_dataframes(self) -> list[str]:
83
+ """
84
+ List supported dataframes.
85
+
86
+ Returns
87
+ -------
88
+ list[str]
89
+ List of supported dataframes.
90
+ """
91
+ return list(self._dataframe_builders.keys())
92
+
93
+ def set_default(self, engine: str) -> None:
94
+ """
95
+ Set default engine.
96
+
97
+ Parameters
98
+ ----------
99
+ engine : str
100
+ Engine name.
101
+
102
+ Returns
103
+ -------
104
+ None
105
+ """
106
+ if engine not in self._engine_builders:
107
+ raise ValueError(f"Engine {engine} not found.")
108
+ self._default = engine
109
+
110
+ def get_default(self) -> str:
111
+ """
112
+ Get default engine.
113
+
114
+ Returns
115
+ -------
116
+ str
117
+ Default engine.
118
+ """
119
+ if self._default is None:
120
+ raise ValueError("No default engine set.")
121
+ return self._default
122
+
123
+
124
+ factory = ReaderFactory()
125
+
126
+ try:
127
+ from digitalhub.readers.pandas.builder import ReaderBuilderPandas
128
+
129
+ factory.add_builder(ReaderBuilderPandas.ENGINE, ReaderBuilderPandas.DATAFRAME_CLASS, ReaderBuilderPandas())
130
+ factory.set_default(ReaderBuilderPandas.ENGINE)
131
+
132
+ except ImportError:
133
+ pass
@@ -0,0 +1,29 @@
1
+ from __future__ import annotations
2
+
3
+ from digitalhub.readers._base.builder import ReaderBuilder
4
+ from digitalhub.readers.pandas.reader import DataframeReaderPandas
5
+
6
+
7
+ class ReaderBuilderPandas(ReaderBuilder):
8
+ """
9
+ Pandas reader builder.
10
+ """
11
+
12
+ ENGINE = "pandas"
13
+ DATAFRAME_CLASS = "pandas.core.frame.DataFrame"
14
+
15
+ def build(self, **kwargs) -> DataframeReaderPandas:
16
+ """
17
+ Build reader object.
18
+
19
+ Parameters
20
+ ----------
21
+ **kwargs : dict
22
+ Keyword arguments.
23
+
24
+ Returns
25
+ -------
26
+ DataframeReaderPandas
27
+ Pandas reader object.
28
+ """
29
+ return DataframeReaderPandas(**kwargs)
@@ -7,7 +7,7 @@ import numpy as np
7
7
  import pandas as pd
8
8
  from pandas.errors import ParserError
9
9
 
10
- from digitalhub.readers._base.readers import DataframeReader
10
+ from digitalhub.readers._base.reader import DataframeReader
11
11
  from digitalhub.utils.data_utils import build_data_preview, get_data_preview
12
12
 
13
13
 
@@ -0,0 +1,54 @@
1
+ from __future__ import annotations
2
+
3
+ import typing
4
+
5
+ from digitalhub.stores.builder import store_builder
6
+
7
+ if typing.TYPE_CHECKING:
8
+ from digitalhub.stores._base.store import Store, StoreParameters
9
+
10
+
11
+ def set_store(store_cfg: StoreParameters) -> None:
12
+ """
13
+ Set a new store instance with the given configuration.
14
+
15
+ Parameters
16
+ ----------
17
+ store_cfg : StoreParameters
18
+ Store configuration.
19
+
20
+ Returns
21
+ -------
22
+ None
23
+ """
24
+ store_builder.build(store_cfg)
25
+
26
+
27
+ def get_store(uri: str) -> Store:
28
+ """
29
+ Get store instance by uri.
30
+
31
+ Parameters
32
+ ---------
33
+ uri : str
34
+ URI to parse.
35
+
36
+ Returns
37
+ -------
38
+ Store
39
+ Store instance.
40
+ """
41
+ return store_builder.get(uri)
42
+
43
+
44
+ def get_default_store() -> Store:
45
+ """
46
+ Get the default store instance. The default store is the one that
47
+ can persist artifacts and dataitems.
48
+
49
+ Returns
50
+ -------
51
+ Store
52
+ Default store instance.
53
+ """
54
+ return store_builder.default()
@@ -208,50 +208,4 @@ def get_env_store_config(scheme: str) -> StoreParameters:
208
208
  raise ValueError(f"Unsupported scheme {scheme}")
209
209
 
210
210
 
211
- def set_store(store_cfg: StoreParameters) -> None:
212
- """
213
- Set a new store instance with the given configuration.
214
-
215
- Parameters
216
- ----------
217
- store_cfg : StoreParameters
218
- Store configuration.
219
-
220
- Returns
221
- -------
222
- None
223
- """
224
- store_builder.build(store_cfg)
225
-
226
-
227
- def get_store(uri: str) -> Store:
228
- """
229
- Get store instance by uri.
230
-
231
- Parameters
232
- ---------
233
- uri : str
234
- URI to parse.
235
-
236
- Returns
237
- -------
238
- Store
239
- Store instance.
240
- """
241
- return store_builder.get(uri)
242
-
243
-
244
- def get_default_store() -> Store:
245
- """
246
- Get the default store instance. The default store is the one that
247
- can persist artifacts and dataitems.
248
-
249
- Returns
250
- -------
251
- Store
252
- Default store instance.
253
- """
254
- return store_builder.default()
255
-
256
-
257
211
  store_builder = StoreBuilder()
@@ -37,6 +37,42 @@ def write_yaml(filepath: str | Path, obj: dict | list[dict]) -> None:
37
37
  ##############################
38
38
 
39
39
 
40
+
41
+ class NoDatesSafeLoader(yaml.SafeLoader):
42
+ """
43
+ Loader implementation to exclude implicit resolvers.
44
+
45
+ Taken from https://stackoverflow.com/a/37958106
46
+ """
47
+
48
+ @classmethod
49
+ def remove_implicit_resolver(cls, tag_to_remove: str) -> None:
50
+ """
51
+ Remove implicit resolvers for a particular tag
52
+ Takes care not to modify resolvers in super classes.
53
+ We want to load datetimes as strings, not dates, because we
54
+ go on to serialise as json which doesn't have the advanced types
55
+ of yaml, and leads to incompatibilities down the track.
56
+
57
+ Parameters
58
+ ----------
59
+ tag_to_remove : str
60
+ The tag to remove
61
+
62
+ Returns
63
+ -------
64
+ None
65
+ """
66
+ if not 'yaml_implicit_resolvers' in cls.__dict__:
67
+ cls.yaml_implicit_resolvers = cls.yaml_implicit_resolvers.copy()
68
+
69
+ for first_letter, mappings in cls.yaml_implicit_resolvers.items():
70
+ cls.yaml_implicit_resolvers[first_letter] = [(tag, regexp)
71
+ for tag, regexp in mappings
72
+ if tag != tag_to_remove]
73
+
74
+ NoDatesSafeLoader.remove_implicit_resolver('tag:yaml.org,2002:timestamp')
75
+
40
76
  def read_yaml(filepath: str | Path) -> dict | list[dict]:
41
77
  """
42
78
  Read a yaml file and return a dict or a list of dict.
@@ -53,12 +89,12 @@ def read_yaml(filepath: str | Path) -> dict | list[dict]:
53
89
  """
54
90
  try:
55
91
  with open(filepath, "r", encoding="utf-8") as in_file:
56
- data = yaml.load(in_file, Loader=yaml.SafeLoader)
92
+ data = yaml.load(in_file, Loader=NoDatesSafeLoader)
57
93
 
58
94
  # If yaml contains multiple documents
59
95
  except yaml.composer.ComposerError:
60
96
  with open(filepath, "r", encoding="utf-8") as in_file:
61
- data = list(yaml.load_all(in_file, Loader=yaml.SafeLoader))
97
+ data = list(yaml.load_all(in_file, Loader=NoDatesSafeLoader))
62
98
  return data
63
99
 
64
100
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: digitalhub
3
- Version: 0.8.0b7
3
+ Version: 0.8.0b11
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
@@ -1,41 +1,45 @@
1
- digitalhub/__init__.py,sha256=imbW5YG7vvoMY6Yp_yxD434IF_5xjILHKaWTdg9rxGs,1987
1
+ digitalhub/__init__.py,sha256=0Wd3GEyd2BtGhOfVGAb_7_xd7Y8BOh5BlPkg8cdfzjc,1983
2
2
  digitalhub/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- digitalhub/client/builder.py,sha256=gT9rdmdUJ86DCgM-uFSOzjGj71z25rbkjoUpRkBAnZI,2276
3
+ digitalhub/client/api.py,sha256=hkGdRds_dbMzov2l9GbIJwRpVep7TcWUFnZKjtLDhz4,1265
4
+ digitalhub/client/builder.py,sha256=83PoMCus4s4nbkoWmvcjW2hIpXbNx74sUW93wgQgbuo,1195
4
5
  digitalhub/client/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
6
  digitalhub/client/_base/client.py,sha256=HDv9Vr9DZpoaZVsAT5SSBD9j1oHoVuxA4ILGDl0mBz4,1299
6
7
  digitalhub/client/dhcore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- digitalhub/client/dhcore/client.py,sha256=QeSfKmXKgV1NPrtLrVKtiO6mfpmWxkYIcVdE1vVVCeo,18246
8
+ digitalhub/client/dhcore/client.py,sha256=CyCJwPgMqK3hH3nfnRLkNL9XU_lvcXiw0W7phfA_1d8,19170
8
9
  digitalhub/client/dhcore/env.py,sha256=F5A5dPTliwd4UUbpw7hQQ3hoVjZYjcVF8MbniTuTFHE,563
9
10
  digitalhub/client/dhcore/models.py,sha256=KiTg5xR8EzI7Xa1pmYmzixabLdnqlnn5kn-IILZDGIw,900
10
- digitalhub/client/dhcore/utils.py,sha256=rRRS-SA_EfPaFtrceTnM2ZFkoBNZdR5Nv09wyg9dc5g,2994
11
+ digitalhub/client/dhcore/utils.py,sha256=TaLjA3LT6heKpPclmufZx-kZKZNOe4OzS_Jtpj2S5wY,2990
11
12
  digitalhub/client/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- digitalhub/client/local/client.py,sha256=VgV-kazrEJt-JGnaTGhxs29JntunQUIrjYGZ-CzkFaQ,16779
13
+ digitalhub/client/local/client.py,sha256=VBJJVEqbFFb_fzFogoo1kVyifezt0L7d489UTZxV0x8,16780
13
14
  digitalhub/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- digitalhub/context/builder.py,sha256=kWamkduBs8ouuXhpMwlDWvvwcz8oU_s7O70MqDYHLtI,3665
15
+ digitalhub/context/api.py,sha256=cZzS_1Kz-wW5iFMtEt3x9dD1PncnAsNnPoIfmoOQ5-g,1781
16
+ digitalhub/context/builder.py,sha256=qpw8T-xho80Njf9wNPTooKkwjWuMT30BeKoQUDWm_yc,2132
15
17
  digitalhub/context/context.py,sha256=hDZEW4riMjR5-v2zWiirt-Z5puxdc7d_Da6vFhyuRF4,3338
16
18
  digitalhub/datastores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- digitalhub/datastores/builder.py,sha256=8uUqW_0fN9YBnbD8776apc8gRersZpLB-NLjM4tzVlY,3130
19
+ digitalhub/datastores/api.py,sha256=k2o6kVohypdDUjR1pWhWtKrmwC84XAGiShPSXZAgl6w,662
20
+ digitalhub/datastores/builder.py,sha256=Xp7FABRN3JVsXQbgqSPOLT_5dWoAuvWjsAQLzOSN0Kw,2674
18
21
  digitalhub/datastores/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- digitalhub/datastores/_base/datastore.py,sha256=FR6dIRBw0qlgR7r8LS_y5viv-Mo_Tgvv4UHHrbv91gc,1998
22
+ digitalhub/datastores/_base/datastore.py,sha256=dxWBkuJV_nzRYeD9yAKF6_m-yQRDWi0VRird5m9B8GY,1990
20
23
  digitalhub/datastores/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- digitalhub/datastores/local/datastore.py,sha256=ZcjMk6iYcMWLpiaJGFOFSwd2juZliW5rdLi11eShIvQ,1161
24
+ digitalhub/datastores/local/datastore.py,sha256=GBdARFhvmQ_YarBSSqjrK3Z0R1Bcjvkkwe0Tmaetx54,1389
22
25
  digitalhub/datastores/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- digitalhub/datastores/remote/datastore.py,sha256=s8OILWaTVGqUDftm6G2gt3YOURw8tdgXPsAFGiHQPNg,648
26
+ digitalhub/datastores/remote/datastore.py,sha256=eKoip0g9cleBf--7FvfxVI4QIPiTyG6Nt6y2kDq8scU,884
24
27
  digitalhub/datastores/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- digitalhub/datastores/s3/datastore.py,sha256=QK860dgHTXjYtwamfISexmpv9wCDbXsLlHeH9mn6jAA,1021
28
+ digitalhub/datastores/s3/datastore.py,sha256=iNdMcZi3EEdUnjD0UpAGB46ueni1vbVQZ5v9HI7ApU8,1237
26
29
  digitalhub/datastores/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- digitalhub/datastores/sql/datastore.py,sha256=XxceWQJs_qCn-I-e7c9k2nnZa3u58yENO_MQtzFjYos,1632
30
+ digitalhub/datastores/sql/datastore.py,sha256=0mA8tuzkEzvjsnClmPqMLI00wBSsd5AAMbeVLZ1l144,1852
28
31
  digitalhub/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
32
  digitalhub/entities/builders.py,sha256=wKNC3ly-IUrF9uaSXWQ5cMzEj7JikM467uXIOdgko2c,1951
30
33
  digitalhub/entities/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- digitalhub/entities/_base/crud.py,sha256=GhvagiNE9PIHizEZwpku-IR93Tr4buR60xvOM-X-pSI,13181
34
+ digitalhub/entities/_base/api_utils.py,sha256=cxnQ8Bi1QtHi8pQi-CM8P1zOOuFZbhRf7dWOrrXPX1I,13346
35
+ digitalhub/entities/_base/crud.py,sha256=OThKNECVYRHUuaqR5cvBY9Tb6gooIFd_wFSDfAoSl-g,9148
32
36
  digitalhub/entities/_base/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
37
  digitalhub/entities/_base/_base/entity.py,sha256=DLJHhviHVKCo26jCEYg7iXwkfS9mDBQrHxBtHF_yE-0,2180
34
38
  digitalhub/entities/_base/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
- digitalhub/entities/_base/context/entity.py,sha256=xzeK0gQLWh70JTS0xdVbmS68RPZCbWrITTVJfkdZz_c,3054
39
+ digitalhub/entities/_base/context/entity.py,sha256=cUFxKLm53x5EMbkdRgZcIZXKbS5pgaCRJnabAn3fe7Y,3055
36
40
  digitalhub/entities/_base/entity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
41
  digitalhub/entities/_base/entity/builder.py,sha256=ZuccRGQaLYyjlDPNR3wi6_9YB4DHE2R9QAWRUSPbAqM,4459
38
- digitalhub/entities/_base/entity/entity.py,sha256=273GKmR7dlckvTSHPTFAhvhd-VhHJy2116iooPI_8ug,2744
42
+ digitalhub/entities/_base/entity/entity.py,sha256=lpWAVfylWsrobOtdCZlv0UTIdSHdG8be6y9HAkmiQ1Y,2733
39
43
  digitalhub/entities/_base/entity/metadata.py,sha256=ew0pFBH0u8m5QjkcL21KboRhBkJAJQDl6EjCeiegyEc,1690
40
44
  digitalhub/entities/_base/entity/spec.py,sha256=yY6ScqZGRb-Sbw97g-OQ0GPHmmOX6HGYBDkvax6PKkc,1338
41
45
  digitalhub/entities/_base/entity/status.py,sha256=NHB1kLHefoMhhkt_2BFPNojbWMW_Nc8TTGFQNOiyOt0,1044
@@ -46,13 +50,13 @@ digitalhub/entities/_base/entity/_constructors/spec.py,sha256=ymUHuJ6m3B8eVL4622
46
50
  digitalhub/entities/_base/entity/_constructors/status.py,sha256=xrr2u2wlDMmlqrUIV9xVqFRHfn5LV_TqzdrCEWNCzE0,1132
47
51
  digitalhub/entities/_base/entity/_constructors/uuid.py,sha256=8wys6Uhk8L1uUo18moh7Rq5YnFHtmUVXfNOkcsTVUN8,556
48
52
  digitalhub/entities/_base/executable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
- digitalhub/entities/_base/executable/entity.py,sha256=Y1IRsS0MIezpZW1os4YIweeqFvusMsXPtC6jsQmE8Pk,10000
53
+ digitalhub/entities/_base/executable/entity.py,sha256=NJCb82RAp9f_KERdCPQYev39WxchlicY6gnEi1P2QTg,10075
50
54
  digitalhub/entities/_base/material/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- digitalhub/entities/_base/material/entity.py,sha256=sfTlDZwM4WyGvEJRvADH9WrzqamEQNij8oECK-64qWg,6167
55
+ digitalhub/entities/_base/material/entity.py,sha256=Q_93CCLaULyv8pjg1a-vG0AjKBbpPAi5HCyNmvkCWCU,6168
52
56
  digitalhub/entities/_base/material/spec.py,sha256=jL1OohnYhUSrdTaFF3Rkw817jIjNY0ewm1wB3tgQ_9c,436
53
57
  digitalhub/entities/_base/material/status.py,sha256=5qIfUvcOKGoM2PLloMaWqhRz78Ryap56d8cMQHo8KJo,1102
54
58
  digitalhub/entities/_base/runtime_entity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
- digitalhub/entities/_base/runtime_entity/builder.py,sha256=iOTvMHTaYSdZjznSYGq8rQiQ84EPzd6SZbB3wSpq80U,2189
59
+ digitalhub/entities/_base/runtime_entity/builder.py,sha256=vZBftdOrAUICoEJXbqOyozrbMxNRqqoVVxDVjKs2GnI,2414
56
60
  digitalhub/entities/_base/unversioned/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
61
  digitalhub/entities/_base/unversioned/builder.py,sha256=ChEhRXlu1BGNmMHOMu9i9kVMu3uFtwxmgiTO4Il_5oU,1834
58
62
  digitalhub/entities/_base/unversioned/entity.py,sha256=Gf00zuWTUeFcRbH4a7vXc12GyNF9TS4Xpcx5sPx98rU,1398
@@ -60,10 +64,9 @@ digitalhub/entities/_base/versioned/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
60
64
  digitalhub/entities/_base/versioned/builder.py,sha256=0niRbqpCnHqBK0hTQxdrtUl43BbJuGXMLVbruhpUUuU,1896
61
65
  digitalhub/entities/_base/versioned/entity.py,sha256=YMK_fYyGGm0nizZcIZ9tyilvEUpl5HXSdcYqiZEOk3M,1526
62
66
  digitalhub/entities/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- digitalhub/entities/artifact/builder.py,sha256=20T3i14elZPB7P5w2xh5BNO2Zp4ekTYHIj-dS5RvGKc,1072
64
- digitalhub/entities/artifact/crud.py,sha256=ldJAITF9Ocii9MIedylFdizohzuews0S2Np_dPnpQG8,8182
67
+ digitalhub/entities/artifact/crud.py,sha256=Hez44wypkHG4fgrLcQ1sKCnpkQxP61vfgl9F0fYWcQ4,7453
65
68
  digitalhub/entities/artifact/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
- digitalhub/entities/artifact/_base/builder.py,sha256=01yrqe_sbSmFfxymw4CWrcfTYkghTykOfvFB7ohKQyM,2259
69
+ digitalhub/entities/artifact/_base/builder.py,sha256=Xw6nhgHQVU2HY-KJvkvgvuxjl-L4aH29HRVNurvOAM4,2260
67
70
  digitalhub/entities/artifact/_base/entity.py,sha256=WDauPDLE3UTCZTgSxGOr01ZarEqpNUJNVznB7wlA7AU,1111
68
71
  digitalhub/entities/artifact/_base/spec.py,sha256=7tDvCQT-NJijpPB1ucT34xn9wSZOB79HOHAix1qAn74,300
69
72
  digitalhub/entities/artifact/_base/status.py,sha256=qG5KUOlEHWYZWYqLDvvuZxD5EjsV0SYNNI9aHkQRHlY,188
@@ -73,10 +76,9 @@ digitalhub/entities/artifact/artifact/entity.py,sha256=hj6UlJMWnWimqizhKGcKpvOpc
73
76
  digitalhub/entities/artifact/artifact/spec.py,sha256=iX6czlG6W_ZoW86PD2GPc_-xLk6Zb1Vt3fk8Lzjbp3c,593
74
77
  digitalhub/entities/artifact/artifact/status.py,sha256=x-lTgO2KkjwzlJnEhIfUtF9rzJ1DTIAd3-Hn6ZeLRqo,305
75
78
  digitalhub/entities/dataitem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
- digitalhub/entities/dataitem/builder.py,sha256=OmYP4lLkhH8MTN7oAZt3H7p49icKSDXwgc4yQ2RucoU,1072
77
- digitalhub/entities/dataitem/crud.py,sha256=XydbMI3tfdKuEHFYCEZfZ4UnbtojI4C5SBdzvU8j1Vg,9820
79
+ digitalhub/entities/dataitem/crud.py,sha256=Cy_6Wbc7lBgk_Q2qXXA06BJinZRAddqjCZzS6MA8ltw,9080
78
80
  digitalhub/entities/dataitem/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
- digitalhub/entities/dataitem/_base/builder.py,sha256=uLmpLWqvouTu326TlYBXmBW30ErM8xXgx9bUgHhdGIg,2259
81
+ digitalhub/entities/dataitem/_base/builder.py,sha256=ig6j5uXl75Xqn0o8vUsdcJiXznCdyOn1Ooet_or3zpc,2260
80
82
  digitalhub/entities/dataitem/_base/entity.py,sha256=FLpkfhzkaBnmkdE8rKaJS-O3vcOcPwzyHL-xb7HVGA0,1984
81
83
  digitalhub/entities/dataitem/_base/spec.py,sha256=7TeEaavMdkXPWBoHMoxagOSt7F4Pn0Bp8qugNwPypSA,300
82
84
  digitalhub/entities/dataitem/_base/status.py,sha256=D8eR9FOZoS8VSNkQFDAz8dJkjR7hIq8nFd9qmX19mPc,467
@@ -92,24 +94,22 @@ digitalhub/entities/dataitem/iceberg/spec.py,sha256=qQebFiY0_pt9Iy1KGsfxXg67CG9s
92
94
  digitalhub/entities/dataitem/iceberg/status.py,sha256=XRj9i8a-dzjqB-Ci3cfPnXTikc5khLsIgUJnF1xE01I,202
93
95
  digitalhub/entities/dataitem/table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
96
  digitalhub/entities/dataitem/table/builder.py,sha256=FBTif7EpoLgjBfbhciiiOd79JszZRYVzzOw3gZtWqoM,632
95
- digitalhub/entities/dataitem/table/entity.py,sha256=qqZv59ri5Bl64BUxHyrzjE8sulE3gY0Wz8qFkkuGDWg,4370
97
+ digitalhub/entities/dataitem/table/entity.py,sha256=sh0dxO590PLc0lqqgiF-lLJ2_9w-9JJWoxuAgRE0dsQ,4366
96
98
  digitalhub/entities/dataitem/table/models.py,sha256=wfnDMQ3nAM1XAJAuMj7CvaXfOTVMQicG_2I6hZB6iag,1093
97
99
  digitalhub/entities/dataitem/table/spec.py,sha256=5boOI9zhIvuwIQo0th0E2941_rQEPIRIIYLhySbwbFY,671
98
100
  digitalhub/entities/dataitem/table/status.py,sha256=28-_LoSg84x4OwLbRungCHk-ObuobZ5vKuzk1NoBGZA,198
99
101
  digitalhub/entities/function/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
- digitalhub/entities/function/builder.py,sha256=m1B4VpaK80XA8bOVTHDj2wqbjMUsAsyUaSFEdStDOvw,1072
101
- digitalhub/entities/function/crud.py,sha256=3ZfUtUhwZWTfAt4RBL-oaVQtaSXzMRa-Vo_KVYFmKBE,6857
102
+ digitalhub/entities/function/crud.py,sha256=qFO9_f9Hmw8IAwUgdtW5Yyt71wAqA6RGQSrexGJpB5g,6061
102
103
  digitalhub/entities/function/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
- digitalhub/entities/function/_base/builder.py,sha256=WnVRaTBNUfbi7YE0NrhMpewZTKIM-IKhwMft_zey00o,2038
104
+ digitalhub/entities/function/_base/builder.py,sha256=RJoOAdM3kiZ5IcwgQI67lMPVvhskPmxgeG6YJQjstqU,2039
104
105
  digitalhub/entities/function/_base/entity.py,sha256=ZahTRWbfjhHf8JIsC5zFuBcj6EJZJYYvFcm0_MxDi1Q,2939
105
106
  digitalhub/entities/function/_base/models.py,sha256=6LYyImwnhFxl40mq5nF99mqJ62Mjs3XHUpHVqnSCEkg,2726
106
107
  digitalhub/entities/function/_base/spec.py,sha256=SjCtp3JBUTPTLMY_TE8wM1HPKVl7jH_wFEqQXBj1rfo,274
107
108
  digitalhub/entities/function/_base/status.py,sha256=N-Z1hw13qV7kWFJLQPaH3rRZ2z7AvZeuWYER95lG344,170
108
109
  digitalhub/entities/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
- digitalhub/entities/model/builder.py,sha256=4XyvhORgjPeZzKvJ1hIu2v5TJeBLi7yPdzl72HLCl9A,1048
110
- digitalhub/entities/model/crud.py,sha256=2Tkm0PuS07OeVN3Z-xmNq9YYjRT7xNE_K1GlRPy3UQk,8014
110
+ digitalhub/entities/model/crud.py,sha256=bFqmTC-xt1KWvIO0LWTgihjDK98HupNDGf6tYhhCoa4,7246
111
111
  digitalhub/entities/model/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
- digitalhub/entities/model/_base/builder.py,sha256=JI73GoKay1BuGtf3HUbV0Na3Pz4cC8PnYpXPGzc9QHo,2238
112
+ digitalhub/entities/model/_base/builder.py,sha256=VN9FzoXBsfwqPyODLobnLxeBVI5rxTLbrZVvpx0NL6w,2239
113
113
  digitalhub/entities/model/_base/entity.py,sha256=vcvSIiFkUR3RBPbTV1q8KOkQTj8R9bOqfkqHBgf1rK4,916
114
114
  digitalhub/entities/model/_base/spec.py,sha256=eo2FSqIlNi_10VETBdMFAWX177exzb0-oi9EuEPVBbk,1089
115
115
  digitalhub/entities/model/_base/status.py,sha256=v-RbusxYeen6BPObVFUvr76k4MKxCdsaF9geSYpKi_8,182
@@ -136,35 +136,31 @@ digitalhub/entities/model/sklearn/entity.py,sha256=pPy4mOqOmbkqNkKFUnhrsIQNt2mGN
136
136
  digitalhub/entities/model/sklearn/spec.py,sha256=Md0aKlfNHZ2fhZbJgp9wZxF0Hu6XIkcniQHCgwoRdkk,301
137
137
  digitalhub/entities/model/sklearn/status.py,sha256=eqkPPtERX-6_BjPb_GD8j1FIeavpl43k-dfXZGqzGI0,187
138
138
  digitalhub/entities/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
- digitalhub/entities/project/builder.py,sha256=jnCxPc13bnwxslheMQMjCYG7rhkMNjqDzuQr3W4RtCs,1064
140
- digitalhub/entities/project/crud.py,sha256=_RbU4hJdqn8cIkNWuejyqtLnEs4P_vDHvOo5bTQtcWQ,8852
139
+ digitalhub/entities/project/crud.py,sha256=ih3mwEJ7bbD3HG9S-8YMu4UyTJMmIZT-mB1m2FGzLz8,8858
141
140
  digitalhub/entities/project/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
141
  digitalhub/entities/project/_base/builder.py,sha256=Fx_p8M75SkE_ssVBvKGu45wwqwqAZ5N6l6UZZj9LSNc,3612
143
- digitalhub/entities/project/_base/entity.py,sha256=WzKnCOiSnoa6PRrgb7u0BWtWDsq2cftwqaL0k0fSlv8,51717
142
+ digitalhub/entities/project/_base/entity.py,sha256=pKlRTpbM7_ctGip8Emj7Qe9UbhZxuvsLRtrWXtO3Gjs,52680
144
143
  digitalhub/entities/project/_base/spec.py,sha256=zRJKFztK7z79LU4spxX7Rykv_1sK6kV9F9Qg95HBc6s,1346
145
144
  digitalhub/entities/project/_base/status.py,sha256=w1Hj_yFwr_5X7ZH7SmtZRto4qUdCWb010viFfvbqX48,168
146
145
  digitalhub/entities/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
- digitalhub/entities/run/builder.py,sha256=Cx8dg_hytb3E0cGhqlpVUNHlQtydXmzP5AT-oqONlMw,1032
148
- digitalhub/entities/run/crud.py,sha256=TE8xbcA8VmUO0Po89yafdIpXNRKM-ZS6mYbRNjPUS4A,5017
146
+ digitalhub/entities/run/crud.py,sha256=F-t9pI0NPKt0430SwGMdL7ky2eprXqUf6UUz9GzCgGQ,4369
149
147
  digitalhub/entities/run/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
- digitalhub/entities/run/_base/builder.py,sha256=UVWaCiI-dXw0YB5_R2hko1FIa4y7qi8t2HkxEs0-peE,1867
151
- digitalhub/entities/run/_base/entity.py,sha256=VjjJhoWuDwH1cPTLm1OY9BbS1KeD8x4TaNkaOW9w_q4,7889
148
+ digitalhub/entities/run/_base/builder.py,sha256=7FpgCUGFr0yCgnUCYuQLLH7_aOZNrByt7fqsWgr5tEg,2427
149
+ digitalhub/entities/run/_base/entity.py,sha256=H0YViqBYxLQRDnqXUNXoUrxnfxd6Q5jJJu0hCeus4ig,7894
152
150
  digitalhub/entities/run/_base/spec.py,sha256=XXPZ5Fl5yLA74XCiuaCjdDGIqMIQ7K1a5cVnDXuohec,1388
153
151
  digitalhub/entities/run/_base/status.py,sha256=_oqF8AM-N6XGi-xc-xgthdmCpsuI_rGgVaNKgQ4UDJQ,160
154
152
  digitalhub/entities/secret/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
- digitalhub/entities/secret/builder.py,sha256=dfSW5dTwiIJJL4w3cIYUJ8f2TPZadX2Qu95xMEyIuVg,1056
156
- digitalhub/entities/secret/crud.py,sha256=ACtzUUBDOffxCociSprPqOw7Rq0vnCSQOFop_jq-Qb8,6782
153
+ digitalhub/entities/secret/crud.py,sha256=RjQ2NNxbQoBKSQcqnPRtdKBrbRqfigd2muHKazgenvA,6383
157
154
  digitalhub/entities/secret/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
155
  digitalhub/entities/secret/_base/builder.py,sha256=Y3mJIVqWezwPgwQX1XABlnazdj7VnUYTND8yHoga0Lw,2163
159
- digitalhub/entities/secret/_base/entity.py,sha256=UF-ibEcnrcaNy_nGCrxxyoJqVrcAfyq3ZFUP-sTiEgw,2035
156
+ digitalhub/entities/secret/_base/entity.py,sha256=dbd-x4N_kEZIkNDk20zeVCxFDGl4W8gaZaylmNWukLs,2040
160
157
  digitalhub/entities/secret/_base/spec.py,sha256=Ol4bDVd2lR6uUUtFj80YNSgtRsnfYGE3C7UN2c_LUsc,727
161
158
  digitalhub/entities/secret/_base/status.py,sha256=TK9CUKA6eg9qegqgR9t-u1g-vEeFGB6v5dN9YJNukw8,166
162
159
  digitalhub/entities/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
- digitalhub/entities/task/builder.py,sha256=D-XfLkMQcf2vz8ni49PbqoTAXNemFXnKmx-MC4xB5hM,1040
164
- digitalhub/entities/task/crud.py,sha256=p6WLTnEymnUVkoxPRzEpgej3ewVY1_gPBR1iSs9U2cc,5272
160
+ digitalhub/entities/task/crud.py,sha256=_DOnCpuBNPWgk4RP1wvgAxNiEa8Bh3MzHQpkRNyqKjk,4666
165
161
  digitalhub/entities/task/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
166
- digitalhub/entities/task/_base/builder.py,sha256=LQNRjXcvFxK0jk3GxQRv7u_RbgeZPAEnt8XXz9EbBAg,1721
167
- digitalhub/entities/task/_base/entity.py,sha256=AtmGfu-EDqTWfPxrxNYe59pK5NLyuBlXiri5p_cwP7E,3083
162
+ digitalhub/entities/task/_base/builder.py,sha256=6UsCo-j5NJH1H_P2CZDYQI78dpuAqNjtwniNKjd_z5g,2320
163
+ digitalhub/entities/task/_base/entity.py,sha256=ihGyXV_MDNUnmNOj5uWSkHA2IR8UAF_jfmFQyTH1DH8,3127
168
164
  digitalhub/entities/task/_base/models.py,sha256=Vkequ03zsI1n4L-VGO0vMYDnrhK63rB5I0NshB3s6k4,4254
169
165
  digitalhub/entities/task/_base/spec.py,sha256=wc9-i0VguS99WG4jQhYF3s2d_mwwtg_Yrkm8RbDa_vk,1289
170
166
  digitalhub/entities/task/_base/status.py,sha256=FCSSQscQ0dHEpXdc5vSrIkTXon9FNNOr0M1KVh2ZVAA,162
@@ -174,29 +170,31 @@ digitalhub/entities/utils/entity_types.py,sha256=PcAh78WAC9DgwSU6LxGncn0g7Wzb0iZ
174
170
  digitalhub/entities/utils/state.py,sha256=gKxDy__MEHlz-1SrwICZnFOIqDoI-CBo4ylIBM9TaoQ,609
175
171
  digitalhub/entities/utils/utils.py,sha256=_ZGe4xAO8uSwb2EZqH0nhA3nasaLOzj3x4vw8MvoAU0,4488
176
172
  digitalhub/entities/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
177
- digitalhub/entities/workflow/builder.py,sha256=mNQ49ziCx6mOqRsn_m9WUbD5kApi93b67uTqAO5zsts,1072
178
- digitalhub/entities/workflow/crud.py,sha256=071LtHfFt6W08ScFKuulzHglQlEUB0wIdCN56jq_1-g,6792
173
+ digitalhub/entities/workflow/crud.py,sha256=H_YVglGJYKfxmFQpoWGPguW26jkTqh2PDkUmczEhjKk,5996
179
174
  digitalhub/entities/workflow/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
- digitalhub/entities/workflow/_base/builder.py,sha256=cCs8feQhAcFTrAVrRNb7tkW5q0wFBPpQJ8pzboiQ1_0,2038
175
+ digitalhub/entities/workflow/_base/builder.py,sha256=_s4DSB3ZW3liF6mW-HrTjhbaNN1i0gOLumo1D9lIXaA,2039
181
176
  digitalhub/entities/workflow/_base/entity.py,sha256=pqk2KrSwugzbUf0fP6mw75OcOWhmdaX5ouWiX5TO72A,2115
182
177
  digitalhub/entities/workflow/_base/spec.py,sha256=UoKOUEqKDFACQwctDWfwhro77m3kvjhLDGOhhfRvEzQ,274
183
178
  digitalhub/entities/workflow/_base/status.py,sha256=W0j0CNdu9o2vbk0awpnDrpgwf_fZpgdtct4s0BxRdyk,170
184
179
  digitalhub/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
- digitalhub/factory/api.py,sha256=oTtXWghNsaBTNhHUuGuf7AeTAuGu45vewPJ22MvTh2s,5436
186
- digitalhub/factory/factory.py,sha256=Ufv4X-E4SptWB1x1vfy5JdCcy9DkjkWLuc-R0C6FWRA,6444
180
+ digitalhub/factory/api.py,sha256=tTlALvPLPE-vjdPByAXXXjIEGpm4-_zB08A_F3be4f8,5479
181
+ digitalhub/factory/factory.py,sha256=4SYBK3q1EmVjxgiZnnGNqDJtQSs4RPatftx6duD9rEU,6482
187
182
  digitalhub/factory/utils.py,sha256=Cp9NF0nt7FITCd9jBDjKzPrDIvg4GlfhzGEw7a72DOQ,2233
188
183
  digitalhub/readers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
- digitalhub/readers/builder.py,sha256=H56LA2KWUVk7gbCI_2Y11oXMC5anXMJzYW_56wnq3ws,1313
190
- digitalhub/readers/registry.py,sha256=k_BJidjIC-fLpOHUNPZNF_OrkDbJzC0V4f3ZNQjKiyg,407
184
+ digitalhub/readers/api.py,sha256=WX8rvLjNFmyTMbpXl4Yuz70iBrYiIkXWgGemWQi87OQ,1780
185
+ digitalhub/readers/factory.py,sha256=dFB59tIP0YjzR0KNEGlo96Z5uj6_bGR0tSJpbsuA6fw,3506
191
186
  digitalhub/readers/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
- digitalhub/readers/_base/readers.py,sha256=Fq7liW_ogeucdIUS7_oDYpMzrwuKxVMqwpyf0sKLnwc,1506
187
+ digitalhub/readers/_base/builder.py,sha256=IjI1SG517ZJC58-Tdn1U3juwz9EZ8AXbjOCGnlzsQpU,632
188
+ digitalhub/readers/_base/reader.py,sha256=Fq7liW_ogeucdIUS7_oDYpMzrwuKxVMqwpyf0sKLnwc,1506
193
189
  digitalhub/readers/pandas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
- digitalhub/readers/pandas/readers.py,sha256=Q63mwTKmY1mdpvTtx1scf9x2rBPfgBpbSu1r-4zvIjk,5351
190
+ digitalhub/readers/pandas/builder.py,sha256=k9L4egms-IFMMxayE7NA77JVWcCTdvYhJujmZ33bkrg,672
191
+ digitalhub/readers/pandas/reader.py,sha256=oz1nFBAUjorW2TyXqTa2XjYg916jViZAIKh0mNcv3ho,5350
195
192
  digitalhub/runtimes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
193
  digitalhub/runtimes/_base.py,sha256=G1YNsq3QdzOdf1ox5aKSETFzzfxfcRlC03mR9uPTcMQ,2659
197
194
  digitalhub/runtimes/builder.py,sha256=CtwutbxRdLo6Qj5PfvmYnCusRG89yS1jI4Qu-Ha3XGY,705
198
195
  digitalhub/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
199
- digitalhub/stores/builder.py,sha256=xYkHHD-WnPTVD6BB2dSabJVjM1XUtKn3TiMrDDJBL0s,6631
196
+ digitalhub/stores/api.py,sha256=TwD8WXVuEPwtrmcyhP9SC0i7xkVHov5fpu94nHhZRHg,994
197
+ digitalhub/stores/builder.py,sha256=UGGUT06a5VfIWm8hFsEe1Y6oUqniFmejt-jNwgyE6as,5835
200
198
  digitalhub/stores/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
199
  digitalhub/stores/_base/store.py,sha256=tU-VsTZxkJVLyYpp23Cv_UjnHx74dk6ztdmVhsUO4cA,4171
202
200
  digitalhub/stores/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -213,7 +211,7 @@ digitalhub/utils/exceptions.py,sha256=MjLhgaGSAe0oJXoR-dnEtAh02RYDj3wZ1ZS1SLFUD4
213
211
  digitalhub/utils/file_utils.py,sha256=Qe71D2b6mOil_Y0Hy2QCJbnIaQOyXvhjFRbJoZXhsGQ,4006
214
212
  digitalhub/utils/generic_utils.py,sha256=YHWCCF77JFqgm4TNr3_U2GbX4SjEQjUmxA6i9PkRqG8,3527
215
213
  digitalhub/utils/git_utils.py,sha256=aFYL1cpfY-2VnlW7eHmjjjlTLECc5UUUfjb_IQPOY5k,3244
216
- digitalhub/utils/io_utils.py,sha256=SfYl6f-vUOophuWJ7zupBDx2lmHDohcjwcUqcz6sGdI,1809
214
+ digitalhub/utils/io_utils.py,sha256=ggHX10QTM8Glu2IKZ9QAIaCmW7iPvQjgwEe5LRkXzho,3080
217
215
  digitalhub/utils/logger.py,sha256=ml3ne6D8wuRdNZ4F6ywmvWotSxjmZWnmKgNiuHb4R5M,437
218
216
  digitalhub/utils/s3_utils.py,sha256=oXLzp4K7o45IwK0XOMt4OElDyB09fKRic5WTNA82WUA,1113
219
217
  digitalhub/utils/uri_utils.py,sha256=wArWRQ3ygGUNHexGKP3YM-aBE7TyGxhPvfEc7R4T4p4,1144
@@ -226,8 +224,8 @@ test/local/CRUD/test_artifacts.py,sha256=Y3J_C7SDRSsQd2SGIZjPIOvyTL92B1sTFrUONG3
226
224
  test/local/CRUD/test_dataitems.py,sha256=LQqTzI59uwTGy4zoq8jL0yWVe2W9vXlatkgDU9aB6xg,2968
227
225
  test/local/CRUD/test_models.py,sha256=msosbZuRwIMbZtmi3ZaOva4TjQ4lrzkNu9AguIFhrSo,2929
228
226
  test/local/imports/test_imports.py,sha256=W-YugO0rpJwvtWp57MXaXfEmE-f5iWuCiLY-n0ZU4z8,1271
229
- digitalhub-0.8.0b7.dist-info/LICENSE.txt,sha256=_yVOtnbW7Ss28mp058UEEc1X4Rgj8-kQBP_kj8_Sc88,11585
230
- digitalhub-0.8.0b7.dist-info/METADATA,sha256=bfLOdtv673n9rN-LCUjKFgwKwj_ZhQdTDrL0xQMrj-s,15288
231
- digitalhub-0.8.0b7.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
232
- digitalhub-0.8.0b7.dist-info/top_level.txt,sha256=ae9pDfCF27ZoaVAxuBKONMP0lm5P-N_I-e-no1WlvD8,16
233
- digitalhub-0.8.0b7.dist-info/RECORD,,
227
+ digitalhub-0.8.0b11.dist-info/LICENSE.txt,sha256=_yVOtnbW7Ss28mp058UEEc1X4Rgj8-kQBP_kj8_Sc88,11585
228
+ digitalhub-0.8.0b11.dist-info/METADATA,sha256=WzRECOzwiBp6biINFlZtPTLzrc4Xk7v-PsD02omQsd8,15289
229
+ digitalhub-0.8.0b11.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
230
+ digitalhub-0.8.0b11.dist-info/top_level.txt,sha256=ae9pDfCF27ZoaVAxuBKONMP0lm5P-N_I-e-no1WlvD8,16
231
+ digitalhub-0.8.0b11.dist-info/RECORD,,
@@ -1,51 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import typing
4
-
5
- from digitalhub.factory.factory import factory
6
- from digitalhub.utils.exceptions import BuilderError
7
-
8
- if typing.TYPE_CHECKING:
9
- from digitalhub.entities.artifact._base.entity import Artifact
10
-
11
-
12
- def artifact_from_parameters(**kwargs) -> Artifact:
13
- """
14
- Create a new object.
15
-
16
- Parameters
17
- ----------
18
- **kwargs
19
- Keyword arguments.
20
-
21
- Returns
22
- -------
23
- Artifact
24
- Object instance.
25
- """
26
- try:
27
- kind = kwargs["kind"]
28
- except KeyError:
29
- raise BuilderError("Missing 'kind' parameter.")
30
- return factory.build_entity_from_params(kind, **kwargs)
31
-
32
-
33
- def artifact_from_dict(obj: dict) -> Artifact:
34
- """
35
- Create a new object from dictionary.
36
-
37
- Parameters
38
- ----------
39
- obj : dict
40
- Dictionary to create object from.
41
-
42
- Returns
43
- -------
44
- Artifact
45
- Object instance.
46
- """
47
- try:
48
- kind = obj["kind"]
49
- except KeyError:
50
- raise BuilderError("Missing 'kind' parameter.")
51
- return factory.build_entity_from_dict(kind, obj)