digitalhub 0.8.0b7__py3-none-any.whl → 0.8.0b10__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 (59) 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/utils.py +1 -1
  5. digitalhub/context/api.py +93 -0
  6. digitalhub/context/builder.py +0 -84
  7. digitalhub/datastores/_base/datastore.py +2 -2
  8. digitalhub/datastores/api.py +37 -0
  9. digitalhub/datastores/builder.py +7 -31
  10. digitalhub/datastores/local/datastore.py +9 -1
  11. digitalhub/datastores/remote/datastore.py +8 -0
  12. digitalhub/datastores/s3/datastore.py +9 -1
  13. digitalhub/datastores/sql/datastore.py +9 -1
  14. digitalhub/entities/_base/api_utils.py +620 -0
  15. digitalhub/entities/_base/context/entity.py +2 -2
  16. digitalhub/entities/_base/crud.py +204 -408
  17. digitalhub/entities/_base/entity/entity.py +1 -1
  18. digitalhub/entities/_base/executable/entity.py +7 -6
  19. digitalhub/entities/_base/material/entity.py +2 -2
  20. digitalhub/entities/artifact/crud.py +16 -42
  21. digitalhub/entities/dataitem/crud.py +19 -45
  22. digitalhub/entities/dataitem/table/entity.py +1 -1
  23. digitalhub/entities/function/crud.py +13 -39
  24. digitalhub/entities/model/crud.py +15 -42
  25. digitalhub/entities/project/_base/entity.py +65 -38
  26. digitalhub/entities/project/crud.py +8 -8
  27. digitalhub/entities/run/_base/entity.py +1 -1
  28. digitalhub/entities/run/crud.py +17 -30
  29. digitalhub/entities/secret/_base/entity.py +1 -1
  30. digitalhub/entities/secret/crud.py +15 -27
  31. digitalhub/entities/task/_base/entity.py +3 -2
  32. digitalhub/entities/task/crud.py +17 -30
  33. digitalhub/entities/workflow/crud.py +13 -39
  34. digitalhub/factory/api.py +31 -25
  35. digitalhub/factory/factory.py +7 -5
  36. digitalhub/readers/_base/builder.py +26 -0
  37. digitalhub/readers/api.py +80 -0
  38. digitalhub/readers/factory.py +133 -0
  39. digitalhub/readers/pandas/builder.py +29 -0
  40. digitalhub/readers/pandas/{readers.py → reader.py} +1 -1
  41. digitalhub/stores/api.py +54 -0
  42. digitalhub/stores/builder.py +0 -46
  43. {digitalhub-0.8.0b7.dist-info → digitalhub-0.8.0b10.dist-info}/METADATA +1 -1
  44. {digitalhub-0.8.0b7.dist-info → digitalhub-0.8.0b10.dist-info}/RECORD +48 -50
  45. digitalhub/entities/artifact/builder.py +0 -51
  46. digitalhub/entities/dataitem/builder.py +0 -51
  47. digitalhub/entities/function/builder.py +0 -51
  48. digitalhub/entities/model/builder.py +0 -51
  49. digitalhub/entities/project/builder.py +0 -51
  50. digitalhub/entities/run/builder.py +0 -51
  51. digitalhub/entities/secret/builder.py +0 -51
  52. digitalhub/entities/task/builder.py +0 -51
  53. digitalhub/entities/workflow/builder.py +0 -51
  54. digitalhub/readers/builder.py +0 -54
  55. digitalhub/readers/registry.py +0 -15
  56. /digitalhub/readers/_base/{readers.py → reader.py} +0 -0
  57. {digitalhub-0.8.0b7.dist-info → digitalhub-0.8.0b10.dist-info}/LICENSE.txt +0 -0
  58. {digitalhub-0.8.0b7.dist-info → digitalhub-0.8.0b10.dist-info}/WHEEL +0 -0
  59. {digitalhub-0.8.0b7.dist-info → digitalhub-0.8.0b10.dist-info}/top_level.txt +0 -0
@@ -69,7 +69,7 @@ class Entity(Base, metaclass=ABCMeta):
69
69
  -------
70
70
  None
71
71
  """
72
- new_obj = build_entity_from_dict(self.kind, obj)
72
+ new_obj = build_entity_from_dict(obj)
73
73
  self.metadata = new_obj.metadata
74
74
  self.spec = new_obj.spec
75
75
  self.status = new_obj.status
@@ -2,11 +2,12 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.entities._base.crud import list_entity_api_ctx
5
+ from digitalhub.entities._base.api_utils import list_entity_api_ctx
6
6
  from digitalhub.entities._base.versioned.entity import VersionedEntity
7
7
  from digitalhub.entities.run.crud import delete_run, get_run, list_runs
8
- from digitalhub.entities.task.crud import delete_task, task_from_dict, task_from_parameters
8
+ from digitalhub.entities.task.crud import delete_task
9
9
  from digitalhub.entities.utils.entity_types import EntityTypes
10
+ from digitalhub.factory.api import build_entity_from_dict, build_entity_from_params
10
11
  from digitalhub.utils.exceptions import EntityAlreadyExistsError, EntityError
11
12
 
12
13
  if typing.TYPE_CHECKING:
@@ -101,7 +102,7 @@ class ExecutableEntity(VersionedEntity):
101
102
  # Create a new object from dictionary.
102
103
  # the form in which tasks are stored in function
103
104
  # status
104
- task_obj = task_from_dict(task)
105
+ task_obj = build_entity_from_dict(task)
105
106
 
106
107
  # Try to save it in backend to been able to use
107
108
  # it for launching runs. In fact, tasks must be
@@ -144,7 +145,7 @@ class ExecutableEntity(VersionedEntity):
144
145
  kwargs["kind"] = task_kind
145
146
 
146
147
  # Create object instance
147
- task = task_from_parameters(**kwargs)
148
+ task = build_entity_from_params(**kwargs)
148
149
  task.save()
149
150
 
150
151
  self._tasks[task_kind] = task
@@ -175,7 +176,7 @@ class ExecutableEntity(VersionedEntity):
175
176
  resp = self._get_task_from_backend(kind)
176
177
  if not resp:
177
178
  raise EntityError(f"Task {kind} is not created")
178
- self._tasks[kind] = task_from_dict(resp[0])
179
+ self._tasks[kind] = build_entity_from_dict(resp[0])
179
180
  return self._tasks[kind]
180
181
 
181
182
  def update_task(self, kind: str, **kwargs) -> Task:
@@ -206,7 +207,7 @@ class ExecutableEntity(VersionedEntity):
206
207
  kwargs["uuid"] = self._tasks[kind].id
207
208
 
208
209
  # Update task
209
- task = task_from_parameters(**kwargs)
210
+ task = build_entity_from_params(**kwargs)
210
211
  task.save(update=True)
211
212
  self._tasks[kind] = task
212
213
  return task
@@ -3,9 +3,9 @@ from __future__ import annotations
3
3
  import typing
4
4
  from pathlib import Path
5
5
 
6
- from digitalhub.entities._base.crud import files_info_get_api, files_info_put_api
6
+ from digitalhub.entities._base.api_utils import files_info_get_api, files_info_put_api
7
7
  from digitalhub.entities._base.versioned.entity import VersionedEntity
8
- from digitalhub.stores.builder import get_store
8
+ from digitalhub.stores.api import get_store
9
9
 
10
10
  if typing.TYPE_CHECKING:
11
11
  from digitalhub.entities._base.entity.metadata import Metadata
@@ -2,19 +2,18 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.context.builder import check_context
6
5
  from digitalhub.entities._base.crud import (
7
- delete_entity_api_ctx,
8
- list_entity_api_ctx,
9
- read_entity_api_ctx,
10
- read_entity_api_ctx_versions,
6
+ delete_entity,
7
+ get_material_entity,
8
+ get_material_entity_versions,
9
+ import_context_entity,
10
+ list_material_entities,
11
+ new_context_entity,
11
12
  )
12
13
  from digitalhub.entities._base.entity._constructors.uuid import build_uuid
13
- from digitalhub.entities.artifact.builder import artifact_from_dict, artifact_from_parameters
14
+ from digitalhub.entities.artifact._base.entity import Artifact
14
15
  from digitalhub.entities.utils.entity_types import EntityTypes
15
16
  from digitalhub.entities.utils.utils import build_log_path_from_source, eval_local_source
16
- from digitalhub.utils.exceptions import EntityAlreadyExistsError
17
- from digitalhub.utils.io_utils import read_yaml
18
17
 
19
18
  if typing.TYPE_CHECKING:
20
19
  from digitalhub.entities.artifact._base.entity import Artifact
@@ -70,8 +69,7 @@ def new_artifact(
70
69
  >>> kind="artifact",
71
70
  >>> path="s3://my-bucket/my-key")
72
71
  """
73
- check_context(project)
74
- obj = artifact_from_parameters(
72
+ return new_context_entity(
75
73
  project=project,
76
74
  name=name,
77
75
  kind=kind,
@@ -82,8 +80,6 @@ def new_artifact(
82
80
  path=path,
83
81
  **kwargs,
84
82
  )
85
- obj.save()
86
- return obj
87
83
 
88
84
 
89
85
  def log_artifact(
@@ -171,16 +167,13 @@ def get_artifact(
171
167
  >>> project="my-project",
172
168
  >>> entity_id="my-artifact-id")
173
169
  """
174
- obj = read_entity_api_ctx(
175
- identifier,
176
- ENTITY_TYPE,
170
+ return get_material_entity(
171
+ identifier=identifier,
172
+ entity_type=ENTITY_TYPE,
177
173
  project=project,
178
174
  entity_id=entity_id,
179
175
  **kwargs,
180
176
  )
181
- entity = artifact_from_dict(obj)
182
- entity._get_files_info()
183
- return entity
184
177
 
185
178
 
186
179
  def get_artifact_versions(
@@ -214,18 +207,12 @@ def get_artifact_versions(
214
207
  >>> obj = get_artifact_versions("my-artifact-name"
215
208
  >>> project="my-project")
216
209
  """
217
- objs = read_entity_api_ctx_versions(
218
- identifier,
210
+ return get_material_entity_versions(
211
+ identifier=identifier,
219
212
  entity_type=ENTITY_TYPE,
220
213
  project=project,
221
214
  **kwargs,
222
215
  )
223
- objects = []
224
- for o in objs:
225
- entity = artifact_from_dict(o)
226
- entity._get_files_info()
227
- objects.append(entity)
228
- return objects
229
216
 
230
217
 
231
218
  def list_artifacts(project: str, **kwargs) -> list[Artifact]:
@@ -248,17 +235,11 @@ def list_artifacts(project: str, **kwargs) -> list[Artifact]:
248
235
  --------
249
236
  >>> objs = list_artifacts(project="my-project")
250
237
  """
251
- objs = list_entity_api_ctx(
238
+ return list_material_entities(
252
239
  project=project,
253
240
  entity_type=ENTITY_TYPE,
254
241
  **kwargs,
255
242
  )
256
- objects = []
257
- for o in objs:
258
- entity = artifact_from_dict(o)
259
- entity._get_files_info()
260
- objects.append(entity)
261
- return objects
262
243
 
263
244
 
264
245
  def import_artifact(file: str) -> Artifact:
@@ -279,14 +260,7 @@ def import_artifact(file: str) -> Artifact:
279
260
  --------
280
261
  >>> obj = import_artifact("my-artifact.yaml")
281
262
  """
282
- dict_obj: dict = read_yaml(file)
283
- obj = artifact_from_dict(dict_obj)
284
- try:
285
- obj.save()
286
- except EntityAlreadyExistsError:
287
- pass
288
- finally:
289
- return obj
263
+ return import_context_entity(file)
290
264
 
291
265
 
292
266
  def update_artifact(entity: Artifact) -> Artifact:
@@ -348,7 +322,7 @@ def delete_artifact(
348
322
  >>> project="my-project",
349
323
  >>> delete_all_versions=True)
350
324
  """
351
- return delete_entity_api_ctx(
325
+ return delete_entity(
352
326
  identifier=identifier,
353
327
  entity_type=ENTITY_TYPE,
354
328
  project=project,
@@ -5,22 +5,21 @@ from pathlib import Path
5
5
  from typing import Any
6
6
  from urllib.parse import urlparse
7
7
 
8
- from digitalhub.context.builder import check_context
9
8
  from digitalhub.entities._base.crud import (
10
- delete_entity_api_ctx,
11
- list_entity_api_ctx,
12
- read_entity_api_ctx,
13
- read_entity_api_ctx_versions,
9
+ delete_entity,
10
+ get_material_entity,
11
+ get_material_entity_versions,
12
+ import_context_entity,
13
+ list_material_entities,
14
+ new_context_entity,
14
15
  )
15
16
  from digitalhub.entities._base.entity._constructors.uuid import build_uuid
16
- from digitalhub.entities.dataitem.builder import dataitem_from_dict, dataitem_from_parameters
17
17
  from digitalhub.entities.utils.entity_types import EntityTypes
18
18
  from digitalhub.entities.utils.utils import build_log_path_from_filename, build_log_path_from_source, eval_local_source
19
- from digitalhub.readers.builder import get_reader_by_object
20
- from digitalhub.stores.builder import get_store
21
- from digitalhub.utils.exceptions import EntityAlreadyExistsError
19
+ from digitalhub.factory.api import build_entity_from_params
20
+ from digitalhub.readers.api import get_reader_by_object
21
+ from digitalhub.stores.api import get_store
22
22
  from digitalhub.utils.generic_utils import slugify_string
23
- from digitalhub.utils.io_utils import read_yaml
24
23
 
25
24
  if typing.TYPE_CHECKING:
26
25
  from digitalhub.entities.dataitem._base.entity import Dataitem
@@ -76,8 +75,7 @@ def new_dataitem(
76
75
  >>> kind="dataitem",
77
76
  >>> path="s3://my-bucket/my-key")
78
77
  """
79
- check_context(project)
80
- obj = dataitem_from_parameters(
78
+ return new_context_entity(
81
79
  project=project,
82
80
  name=name,
83
81
  kind=kind,
@@ -88,8 +86,6 @@ def new_dataitem(
88
86
  path=path,
89
87
  **kwargs,
90
88
  )
91
- obj.save()
92
- return obj
93
89
 
94
90
 
95
91
  def log_dataitem(
@@ -160,7 +156,7 @@ def log_dataitem(
160
156
  slug = slugify_string(name) + f".{extension}"
161
157
  path = build_log_path_from_filename(project, ENTITY_TYPE, name, uuid, slug)
162
158
 
163
- obj = dataitem_from_parameters(project=project, name=name, kind=kind, path=path, **kwargs)
159
+ obj = build_entity_from_params(project=project, name=name, kind=kind, path=path, **kwargs)
164
160
  if kind == "table":
165
161
  dst = obj.write_df(df=data, extension=extension)
166
162
  reader = get_reader_by_object(data)
@@ -211,16 +207,13 @@ def get_dataitem(
211
207
  >>> project="my-project",
212
208
  >>> entity_id="my-dataitem-id")
213
209
  """
214
- obj = read_entity_api_ctx(
215
- identifier,
216
- ENTITY_TYPE,
210
+ return get_material_entity(
211
+ identifier=identifier,
212
+ entity_type=ENTITY_TYPE,
217
213
  project=project,
218
214
  entity_id=entity_id,
219
215
  **kwargs,
220
216
  )
221
- entity = dataitem_from_dict(obj)
222
- entity._get_files_info()
223
- return entity
224
217
 
225
218
 
226
219
  def get_dataitem_versions(
@@ -254,18 +247,12 @@ def get_dataitem_versions(
254
247
  >>> objs = get_dataitem_versions("my-dataitem-name",
255
248
  >>> project="my-project")
256
249
  """
257
- objs = read_entity_api_ctx_versions(
258
- identifier,
250
+ return get_material_entity_versions(
251
+ identifier=identifier,
259
252
  entity_type=ENTITY_TYPE,
260
253
  project=project,
261
254
  **kwargs,
262
255
  )
263
- objects = []
264
- for o in objs:
265
- entity = dataitem_from_dict(o)
266
- entity._get_files_info()
267
- objects.append(entity)
268
- return objects
269
256
 
270
257
 
271
258
  def list_dataitems(project: str, **kwargs) -> list[Dataitem]:
@@ -288,17 +275,11 @@ def list_dataitems(project: str, **kwargs) -> list[Dataitem]:
288
275
  --------
289
276
  >>> objs = list_dataitems(project="my-project")
290
277
  """
291
- objs = list_entity_api_ctx(
278
+ return list_material_entities(
292
279
  project=project,
293
280
  entity_type=ENTITY_TYPE,
294
281
  **kwargs,
295
282
  )
296
- objects = []
297
- for o in objs:
298
- entity = dataitem_from_dict(o)
299
- entity._get_files_info()
300
- objects.append(entity)
301
- return objects
302
283
 
303
284
 
304
285
  def import_dataitem(file: str) -> Dataitem:
@@ -319,14 +300,7 @@ def import_dataitem(file: str) -> Dataitem:
319
300
  --------
320
301
  >>> obj = import_dataitem("my-dataitem.yaml")
321
302
  """
322
- dict_obj: dict = read_yaml(file)
323
- obj = dataitem_from_dict(dict_obj)
324
- try:
325
- obj.save()
326
- except EntityAlreadyExistsError:
327
- pass
328
- finally:
329
- return obj
303
+ return import_context_entity(file)
330
304
 
331
305
 
332
306
  def update_dataitem(entity: Dataitem) -> Dataitem:
@@ -388,7 +362,7 @@ def delete_dataitem(
388
362
  >>> project="my-project",
389
363
  >>> delete_all_versions=True)
390
364
  """
391
- return delete_entity_api_ctx(
365
+ return delete_entity(
392
366
  identifier=identifier,
393
367
  entity_type=ENTITY_TYPE,
394
368
  project=project,
@@ -5,7 +5,7 @@ import typing
5
5
  from pathlib import Path
6
6
  from typing import Any
7
7
 
8
- from digitalhub.datastores.builder import get_datastore
8
+ from digitalhub.datastores.api import get_datastore
9
9
  from digitalhub.entities.dataitem._base.entity import Dataitem
10
10
  from digitalhub.utils.uri_utils import check_local_path
11
11
 
@@ -2,17 +2,15 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.context.builder import check_context
6
5
  from digitalhub.entities._base.crud import (
7
- delete_entity_api_ctx,
8
- list_entity_api_ctx,
9
- read_entity_api_ctx,
10
- read_entity_api_ctx_versions,
6
+ delete_entity,
7
+ get_context_entity_versions,
8
+ get_versioned_entity,
9
+ import_executable_entity,
10
+ list_context_entities,
11
+ new_context_entity,
11
12
  )
12
- from digitalhub.entities.function.builder import function_from_dict, function_from_parameters
13
13
  from digitalhub.entities.utils.entity_types import EntityTypes
14
- from digitalhub.utils.exceptions import EntityAlreadyExistsError
15
- from digitalhub.utils.io_utils import read_yaml
16
14
 
17
15
  if typing.TYPE_CHECKING:
18
16
  from digitalhub.entities.function._base.entity import Function
@@ -65,8 +63,7 @@ def new_function(
65
63
  >>> code_src="function.py",
66
64
  >>> handler="function-handler")
67
65
  """
68
- check_context(project)
69
- obj = function_from_parameters(
66
+ return new_context_entity(
70
67
  project=project,
71
68
  name=name,
72
69
  kind=kind,
@@ -76,8 +73,6 @@ def new_function(
76
73
  embedded=embedded,
77
74
  **kwargs,
78
75
  )
79
- obj.save()
80
- return obj
81
76
 
82
77
 
83
78
  def get_function(
@@ -115,14 +110,13 @@ def get_function(
115
110
  >>> project="my-project",
116
111
  >>> entity_id="my-function-id")
117
112
  """
118
- obj = read_entity_api_ctx(
113
+ return get_versioned_entity(
119
114
  identifier,
120
- ENTITY_TYPE,
115
+ entity_type=ENTITY_TYPE,
121
116
  project=project,
122
117
  entity_id=entity_id,
123
118
  **kwargs,
124
119
  )
125
- return function_from_dict(obj)
126
120
 
127
121
 
128
122
  def get_function_versions(
@@ -156,13 +150,12 @@ def get_function_versions(
156
150
  >>> obj = get_function_versions("my-function-name"
157
151
  >>> project="my-project")
158
152
  """
159
- obj = read_entity_api_ctx_versions(
153
+ return get_context_entity_versions(
160
154
  identifier,
161
155
  entity_type=ENTITY_TYPE,
162
156
  project=project,
163
157
  **kwargs,
164
158
  )
165
- return [function_from_dict(o) for o in obj]
166
159
 
167
160
 
168
161
  def list_functions(project: str, **kwargs) -> list[Function]:
@@ -185,12 +178,11 @@ def list_functions(project: str, **kwargs) -> list[Function]:
185
178
  --------
186
179
  >>> objs = list_functions(project="my-project")
187
180
  """
188
- objs = list_entity_api_ctx(
181
+ return list_context_entities(
189
182
  project=project,
190
183
  entity_type=ENTITY_TYPE,
191
184
  **kwargs,
192
185
  )
193
- return [function_from_dict(obj) for obj in objs]
194
186
 
195
187
 
196
188
  def import_function(file: str) -> Function:
@@ -211,25 +203,7 @@ def import_function(file: str) -> Function:
211
203
  --------
212
204
  >>> obj = import_function("my-function.yaml")
213
205
  """
214
- dict_obj: dict | list[dict] = read_yaml(file)
215
- if isinstance(dict_obj, list):
216
- fnc_dict = dict_obj[0]
217
- tsk_dicts = dict_obj[1:]
218
- else:
219
- fnc_dict = dict_obj
220
- tsk_dicts = []
221
-
222
- check_context(fnc_dict.get("project"))
223
- obj = function_from_dict(fnc_dict)
224
-
225
- obj.import_tasks(tsk_dicts)
226
-
227
- try:
228
- obj.save()
229
- except EntityAlreadyExistsError:
230
- pass
231
- finally:
232
- return obj
206
+ return import_executable_entity(file)
233
207
 
234
208
 
235
209
  def update_function(entity: Function) -> Function:
@@ -294,7 +268,7 @@ def delete_function(
294
268
  >>> project="my-project",
295
269
  >>> delete_all_versions=True)
296
270
  """
297
- return delete_entity_api_ctx(
271
+ return delete_entity(
298
272
  identifier=identifier,
299
273
  entity_type=ENTITY_TYPE,
300
274
  project=project,
@@ -2,19 +2,17 @@ from __future__ import annotations
2
2
 
3
3
  import typing
4
4
 
5
- from digitalhub.context.builder import check_context
6
5
  from digitalhub.entities._base.crud import (
7
- delete_entity_api_ctx,
8
- list_entity_api_ctx,
9
- read_entity_api_ctx,
10
- read_entity_api_ctx_versions,
6
+ delete_entity,
7
+ get_material_entity,
8
+ get_material_entity_versions,
9
+ import_context_entity,
10
+ list_material_entities,
11
+ new_context_entity,
11
12
  )
12
13
  from digitalhub.entities._base.entity._constructors.uuid import build_uuid
13
- from digitalhub.entities.model.builder import model_from_dict, model_from_parameters
14
14
  from digitalhub.entities.utils.entity_types import EntityTypes
15
15
  from digitalhub.entities.utils.utils import build_log_path_from_source, eval_local_source
16
- from digitalhub.utils.exceptions import EntityAlreadyExistsError
17
- from digitalhub.utils.io_utils import read_yaml
18
16
 
19
17
  if typing.TYPE_CHECKING:
20
18
  from digitalhub.entities.model._base.entity import Model
@@ -70,8 +68,7 @@ def new_model(
70
68
  >>> kind="model",
71
69
  >>> path="s3://my-bucket/my-key")
72
70
  """
73
- check_context(project)
74
- obj = model_from_parameters(
71
+ return new_context_entity(
75
72
  project=project,
76
73
  name=name,
77
74
  kind=kind,
@@ -82,8 +79,6 @@ def new_model(
82
79
  path=path,
83
80
  **kwargs,
84
81
  )
85
- obj.save()
86
- return obj
87
82
 
88
83
 
89
84
  def log_model(
@@ -171,16 +166,13 @@ def get_model(
171
166
  >>> project="my-project",
172
167
  >>> entity_id="my-model-id")
173
168
  """
174
- obj = read_entity_api_ctx(
175
- identifier,
176
- ENTITY_TYPE,
169
+ return get_material_entity(
170
+ identifier=identifier,
171
+ entity_type=ENTITY_TYPE,
177
172
  project=project,
178
173
  entity_id=entity_id,
179
174
  **kwargs,
180
175
  )
181
- entity = model_from_dict(obj)
182
- entity._get_files_info()
183
- return entity
184
176
 
185
177
 
186
178
  def get_model_versions(
@@ -214,18 +206,12 @@ def get_model_versions(
214
206
  >>> objs = get_model_versions("my-model-name",
215
207
  >>> project="my-project")
216
208
  """
217
- objs = read_entity_api_ctx_versions(
218
- identifier,
209
+ return get_material_entity_versions(
210
+ identifier=identifier,
219
211
  entity_type=ENTITY_TYPE,
220
212
  project=project,
221
213
  **kwargs,
222
214
  )
223
- objects = []
224
- for o in objs:
225
- entity = model_from_dict(o)
226
- entity._get_files_info()
227
- objects.append(entity)
228
- return objects
229
215
 
230
216
 
231
217
  def list_models(project: str, **kwargs) -> list[Model]:
@@ -248,17 +234,11 @@ def list_models(project: str, **kwargs) -> list[Model]:
248
234
  --------
249
235
  >>> objs = list_models(project="my-project")
250
236
  """
251
- objs = list_entity_api_ctx(
237
+ return list_material_entities(
252
238
  project=project,
253
239
  entity_type=ENTITY_TYPE,
254
240
  **kwargs,
255
241
  )
256
- objects = []
257
- for o in objs:
258
- entity = model_from_dict(o)
259
- entity._get_files_info()
260
- objects.append(entity)
261
- return objects
262
242
 
263
243
 
264
244
  def import_model(file: str) -> Model:
@@ -279,14 +259,7 @@ def import_model(file: str) -> Model:
279
259
  --------
280
260
  >>> obj = import_model("my-model.yaml")
281
261
  """
282
- dict_obj: dict = read_yaml(file)
283
- obj = model_from_dict(dict_obj)
284
- try:
285
- obj.save()
286
- except EntityAlreadyExistsError:
287
- pass
288
- finally:
289
- return obj
262
+ return import_context_entity(file)
290
263
 
291
264
 
292
265
  def update_model(entity: Model) -> Model:
@@ -348,7 +321,7 @@ def delete_model(
348
321
  >>> project="my-project",
349
322
  >>> delete_all_versions=True)
350
323
  """
351
- return delete_entity_api_ctx(
324
+ return delete_entity(
352
325
  identifier=identifier,
353
326
  entity_type=ENTITY_TYPE,
354
327
  project=project,