digitalhub 0.8.0b1__py3-none-any.whl → 0.8.0b3__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 (197) hide show
  1. digitalhub/__init__.py +2 -2
  2. digitalhub/client/builder.py +3 -3
  3. digitalhub/client/{objects/dhcore.py → dhcore/client.py} +3 -48
  4. digitalhub/client/dhcore/env.py +21 -0
  5. digitalhub/client/dhcore/models.py +46 -0
  6. digitalhub/{utils/env_utils.py → client/dhcore/utils.py} +1 -13
  7. digitalhub/client/{objects/local.py → local/client.py} +1 -1
  8. digitalhub/context/builder.py +1 -1
  9. digitalhub/context/context.py +1 -1
  10. digitalhub/datastores/{objects/base.py → _base/datastore.py} +1 -1
  11. digitalhub/datastores/builder.py +6 -6
  12. digitalhub/datastores/{objects/local.py → local/datastore.py} +1 -1
  13. digitalhub/datastores/{objects/remote.py → remote/datastore.py} +1 -1
  14. digitalhub/datastores/{objects/s3.py → s3/datastore.py} +1 -1
  15. digitalhub/datastores/{objects/sql.py → sql/datastore.py} +1 -1
  16. digitalhub/entities/_base/{base.py → _base/entity.py} +1 -1
  17. digitalhub/entities/_base/context/__init__.py +0 -0
  18. digitalhub/entities/_base/{entity/context.py → context/entity.py} +4 -4
  19. digitalhub/entities/_base/crud.py +3 -3
  20. digitalhub/entities/_base/entity/{base.py → entity.py} +6 -6
  21. digitalhub/entities/_base/{metadata.py → entity/metadata.py} +2 -2
  22. digitalhub/entities/_base/{spec/base.py → entity/spec.py} +11 -11
  23. digitalhub/entities/_base/{status/base.py → entity/status.py} +2 -2
  24. digitalhub/entities/_base/executable/__init__.py +0 -0
  25. digitalhub/entities/_base/{entity/executable.py → executable/entity.py} +55 -31
  26. digitalhub/entities/_base/material/__init__.py +0 -0
  27. digitalhub/entities/_base/{entity/material.py → material/entity.py} +4 -4
  28. digitalhub/entities/_base/{spec/material.py → material/spec.py} +3 -3
  29. digitalhub/entities/_base/{status/material.py → material/status.py} +1 -1
  30. digitalhub/entities/_base/unversioned/__init__.py +0 -0
  31. digitalhub/entities/_base/{entity/unversioned.py → unversioned/entity.py} +4 -4
  32. digitalhub/entities/_base/versioned/__init__.py +0 -0
  33. digitalhub/entities/_base/{entity/versioned.py → versioned/entity.py} +4 -4
  34. digitalhub/entities/_builders/entity.py +148 -0
  35. digitalhub/entities/_builders/factory.py +44 -0
  36. digitalhub/entities/_builders/metadata.py +2 -11
  37. digitalhub/entities/_builders/spec.py +1 -1
  38. digitalhub/entities/_builders/status.py +2 -2
  39. digitalhub/entities/artifact/_base/__init__.py +0 -0
  40. digitalhub/entities/artifact/{entity/_base.py → _base/entity.py} +5 -5
  41. digitalhub/entities/artifact/_base/spec.py +15 -0
  42. digitalhub/entities/artifact/_base/status.py +9 -0
  43. digitalhub/entities/artifact/artifact/__init__.py +0 -0
  44. digitalhub/entities/artifact/artifact/entity.py +32 -0
  45. digitalhub/entities/artifact/{spec.py → artifact/spec.py} +4 -16
  46. digitalhub/entities/artifact/{status.py → artifact/status.py} +1 -1
  47. digitalhub/entities/artifact/builder.py +2 -2
  48. digitalhub/entities/artifact/crud.py +3 -3
  49. digitalhub/entities/dataitem/_base/__init__.py +0 -0
  50. digitalhub/entities/dataitem/{entity/_base.py → _base/entity.py} +5 -5
  51. digitalhub/entities/dataitem/_base/spec.py +15 -0
  52. digitalhub/entities/dataitem/_base/status.py +20 -0
  53. digitalhub/entities/dataitem/builder.py +4 -4
  54. digitalhub/entities/dataitem/crud.py +7 -4
  55. digitalhub/entities/dataitem/dataitem/__init__.py +0 -0
  56. digitalhub/entities/dataitem/dataitem/entity.py +32 -0
  57. digitalhub/entities/dataitem/dataitem/spec.py +15 -0
  58. digitalhub/entities/dataitem/dataitem/status.py +9 -0
  59. digitalhub/entities/dataitem/iceberg/__init__.py +0 -0
  60. digitalhub/entities/dataitem/iceberg/entity.py +32 -0
  61. digitalhub/entities/dataitem/iceberg/spec.py +15 -0
  62. digitalhub/entities/dataitem/iceberg/status.py +9 -0
  63. digitalhub/entities/dataitem/table/__init__.py +0 -0
  64. digitalhub/entities/dataitem/{entity/table.py → table/entity.py} +24 -3
  65. digitalhub/entities/dataitem/table/spec.py +25 -0
  66. digitalhub/entities/dataitem/table/status.py +9 -0
  67. digitalhub/entities/function/_base/__init__.py +0 -0
  68. digitalhub/entities/function/{entity.py → _base/entity.py} +6 -6
  69. digitalhub/entities/function/{models.py → _base/models.py} +1 -1
  70. digitalhub/entities/function/_base/spec.py +15 -0
  71. digitalhub/entities/function/_base/status.py +9 -0
  72. digitalhub/entities/function/builder.py +1 -1
  73. digitalhub/entities/function/crud.py +2 -2
  74. digitalhub/entities/model/_base/__init__.py +0 -0
  75. digitalhub/entities/model/{entity/_base.py → _base/entity.py} +5 -5
  76. digitalhub/entities/model/_base/spec.py +49 -0
  77. digitalhub/entities/model/_base/status.py +9 -0
  78. digitalhub/entities/model/builder.py +5 -5
  79. digitalhub/entities/model/crud.py +3 -3
  80. digitalhub/entities/model/huggingface/__init__.py +0 -0
  81. digitalhub/entities/model/huggingface/entity.py +32 -0
  82. digitalhub/entities/model/huggingface/spec.py +36 -0
  83. digitalhub/entities/model/huggingface/status.py +9 -0
  84. digitalhub/entities/model/mlflow/__init__.py +0 -0
  85. digitalhub/entities/model/mlflow/entity.py +32 -0
  86. digitalhub/entities/model/mlflow/spec.py +44 -0
  87. digitalhub/entities/model/mlflow/status.py +9 -0
  88. digitalhub/entities/model/{entity/mlflow.py → mlflow/utils.py} +1 -10
  89. digitalhub/entities/model/model/__init__.py +0 -0
  90. digitalhub/entities/model/model/entity.py +32 -0
  91. digitalhub/entities/model/model/spec.py +15 -0
  92. digitalhub/entities/model/model/status.py +9 -0
  93. digitalhub/entities/model/sklearn/__init__.py +0 -0
  94. digitalhub/entities/model/sklearn/entity.py +32 -0
  95. digitalhub/entities/model/sklearn/spec.py +15 -0
  96. digitalhub/entities/model/sklearn/status.py +9 -0
  97. digitalhub/entities/project/builder.py +1 -1
  98. digitalhub/entities/project/crud.py +2 -2
  99. digitalhub/entities/project/project/__init__.py +0 -0
  100. digitalhub/entities/project/{entity.py → project/entity.py} +12 -12
  101. digitalhub/entities/project/{spec.py → project/spec.py} +4 -4
  102. digitalhub/entities/project/project/status.py +9 -0
  103. digitalhub/entities/registries.py +6 -6
  104. digitalhub/entities/run/_base/__init__.py +0 -0
  105. digitalhub/entities/run/{entity.py → _base/entity.py} +7 -7
  106. digitalhub/entities/run/{spec.py → _base/spec.py} +8 -8
  107. digitalhub/entities/run/{status.py → _base/status.py} +9 -9
  108. digitalhub/entities/run/builder.py +1 -1
  109. digitalhub/entities/run/crud.py +2 -2
  110. digitalhub/entities/secret/builder.py +1 -1
  111. digitalhub/entities/secret/crud.py +11 -3
  112. digitalhub/entities/secret/secret/__init__.py +0 -0
  113. digitalhub/entities/secret/{entity.py → secret/entity.py} +7 -6
  114. digitalhub/entities/secret/{spec.py → secret/spec.py} +4 -4
  115. digitalhub/entities/secret/secret/status.py +9 -0
  116. digitalhub/entities/task/_base/__init__.py +0 -0
  117. digitalhub/entities/task/{entity.py → _base/entity.py} +6 -6
  118. digitalhub/entities/task/{models.py → _base/models.py} +9 -0
  119. digitalhub/entities/task/{spec.py → _base/spec.py} +9 -7
  120. digitalhub/entities/task/_base/status.py +9 -0
  121. digitalhub/entities/task/builder.py +1 -1
  122. digitalhub/entities/task/crud.py +2 -2
  123. digitalhub/entities/utils/__init__.py +0 -0
  124. digitalhub/entities/{utils.py → utils/utils.py} +2 -2
  125. digitalhub/entities/workflow/_base/__init__.py +0 -0
  126. digitalhub/entities/workflow/{entity.py → _base/entity.py} +6 -6
  127. digitalhub/entities/workflow/_base/spec.py +15 -0
  128. digitalhub/entities/workflow/_base/status.py +9 -0
  129. digitalhub/entities/workflow/builder.py +1 -1
  130. digitalhub/entities/workflow/crud.py +2 -2
  131. digitalhub/readers/_base/__init__.py +0 -0
  132. digitalhub/readers/builder.py +1 -1
  133. digitalhub/readers/pandas/__init__.py +0 -0
  134. digitalhub/readers/{objects/pandas.py → pandas/readers.py} +1 -1
  135. digitalhub/readers/registry.py +1 -1
  136. digitalhub/registry/utils.py +5 -4
  137. digitalhub/stores/_base/__init__.py +0 -0
  138. digitalhub/stores/builder.py +6 -6
  139. digitalhub/stores/local/__init__.py +0 -0
  140. digitalhub/stores/{objects/local.py → local/store.py} +1 -1
  141. digitalhub/stores/remote/__init__.py +0 -0
  142. digitalhub/stores/{objects/remote.py → remote/store.py} +1 -1
  143. digitalhub/stores/s3/__init__.py +0 -0
  144. digitalhub/stores/{objects/s3.py → s3/store.py} +1 -1
  145. digitalhub/stores/sql/__init__.py +0 -0
  146. digitalhub/stores/{objects/sql.py → sql/store.py} +1 -1
  147. digitalhub/utils/generic_utils.py +18 -42
  148. digitalhub/utils/s3_utils.py +58 -0
  149. {digitalhub-0.8.0b1.dist-info → digitalhub-0.8.0b3.dist-info}/METADATA +3 -2
  150. digitalhub-0.8.0b3.dist-info/RECORD +214 -0
  151. {digitalhub-0.8.0b1.dist-info → digitalhub-0.8.0b3.dist-info}/WHEEL +1 -1
  152. test/local/CRUD/test_artifacts.py +96 -0
  153. test/local/CRUD/test_dataitems.py +96 -0
  154. test/local/CRUD/test_models.py +95 -0
  155. test/test_crud_functions.py +1 -1
  156. test/test_crud_runs.py +1 -1
  157. test/test_crud_tasks.py +1 -1
  158. digitalhub/entities/artifact/entity/artifact.py +0 -9
  159. digitalhub/entities/dataitem/entity/dataitem.py +0 -9
  160. digitalhub/entities/dataitem/entity/iceberg.py +0 -7
  161. digitalhub/entities/dataitem/spec.py +0 -61
  162. digitalhub/entities/dataitem/status.py +0 -38
  163. digitalhub/entities/function/spec.py +0 -81
  164. digitalhub/entities/function/status.py +0 -9
  165. digitalhub/entities/model/entity/huggingface.py +0 -9
  166. digitalhub/entities/model/entity/model.py +0 -9
  167. digitalhub/entities/model/entity/sklearn.py +0 -9
  168. digitalhub/entities/model/spec.py +0 -146
  169. digitalhub/entities/model/status.py +0 -33
  170. digitalhub/entities/project/status.py +0 -9
  171. digitalhub/entities/secret/status.py +0 -9
  172. digitalhub/entities/task/status.py +0 -9
  173. digitalhub/entities/workflow/spec.py +0 -15
  174. digitalhub/entities/workflow/status.py +0 -9
  175. digitalhub-0.8.0b1.dist-info/RECORD +0 -161
  176. test/test_crud_artifacts.py +0 -96
  177. test/test_crud_dataitems.py +0 -96
  178. /digitalhub/client/{objects → _base}/__init__.py +0 -0
  179. /digitalhub/client/{objects/base.py → _base/client.py} +0 -0
  180. /digitalhub/{datastores/objects → client/dhcore}/__init__.py +0 -0
  181. /digitalhub/{entities/_base/spec → client/local}/__init__.py +0 -0
  182. /digitalhub/{entities/_base/status → datastores/_base}/__init__.py +0 -0
  183. /digitalhub/{entities/artifact/entity → datastores/local}/__init__.py +0 -0
  184. /digitalhub/{entities/dataitem/entity → datastores/remote}/__init__.py +0 -0
  185. /digitalhub/{entities/model/entity → datastores/s3}/__init__.py +0 -0
  186. /digitalhub/{readers/objects → datastores/sql}/__init__.py +0 -0
  187. /digitalhub/{stores/objects → entities/_base/_base}/__init__.py +0 -0
  188. /digitalhub/entities/dataitem/{models.py → table/models.py} +0 -0
  189. /digitalhub/entities/model/{models.py → mlflow/models.py} +0 -0
  190. /digitalhub/entities/{_base → utils}/api.py +0 -0
  191. /digitalhub/entities/{entity_types.py → utils/entity_types.py} +0 -0
  192. /digitalhub/entities/{_base → utils}/state.py +0 -0
  193. /digitalhub/readers/{objects/base.py → _base/readers.py} +0 -0
  194. /digitalhub/stores/{objects/base.py → _base/store.py} +0 -0
  195. {digitalhub-0.8.0b1.dist-info → digitalhub-0.8.0b3.dist-info}/LICENSE.txt +0 -0
  196. {digitalhub-0.8.0b1.dist-info → digitalhub-0.8.0b3.dist-info}/top_level.txt +0 -0
  197. /test/{test_imports.py → local/imports/test_imports.py} +0 -0
@@ -0,0 +1,96 @@
1
+ """
2
+ Unit tests for the entity Artifact
3
+ """
4
+
5
+ import digitalhub as dh
6
+ from digitalhub.entities.artifact._base.entity import Artifact
7
+
8
+
9
+ class TestArtifactCRUD:
10
+ def create_test_dicts(self):
11
+ names = ["test1", "test2", "test3", "test4"]
12
+ uuids = [
13
+ "d150bcca-bb64-451d-8455-dff862254b95",
14
+ "31acdd2d-0c41-428c-b68b-1b133da9e97b",
15
+ "b4a3dfdc-b917-44c4-9a29-613dcf734244",
16
+ "2618d9c4-cd61-440f-aebb-7e5761709f3b",
17
+ ]
18
+ paths = [
19
+ "./data/test.csv",
20
+ "s3://bucket/key.csv",
21
+ "sql://database/schema/table",
22
+ "https://url.com/file.csv",
23
+ ]
24
+ kind = ["artifact", "artifact", "artifact", "artifact"]
25
+
26
+ dicts = []
27
+ for i in range(len(names)):
28
+ dicts.append({"name": names[i], "uuid": uuids[i], "path": paths[i], "kind": kind[i]})
29
+
30
+ return dicts
31
+
32
+ def test_create_delete(self):
33
+ dicts = self.create_test_dicts()
34
+ p = dh.get_or_create_project("test", local=True)
35
+ # Create and delete artifacts
36
+ for i in dicts:
37
+ d = dh.new_artifact(p.name, **i)
38
+ dh.delete_artifact(d.key)
39
+ d = dh.new_artifact(p.name, **i)
40
+ dh.delete_artifact(d.name, project=p.name, entity_id=d.id)
41
+ d = p.new_artifact(**i)
42
+ p.delete_artifact(d.key)
43
+
44
+ assert dh.list_artifacts(p.name) == []
45
+ dh.delete_project("test", local=True, clean_context=True)
46
+
47
+ def test_list(self):
48
+ dicts = self.create_test_dicts()
49
+ p = dh.get_or_create_project("test", local=True)
50
+
51
+ assert dh.list_artifacts(p.name) == []
52
+
53
+ for i in dicts:
54
+ dh.new_artifact(p.name, **i)
55
+
56
+ # List artifacts
57
+ l_obj = dh.list_artifacts(p.name)
58
+ assert isinstance(l_obj, list)
59
+ assert len(l_obj) == 4
60
+ for i in l_obj:
61
+ assert isinstance(i, Artifact)
62
+
63
+ # delete listed objects
64
+ for obj in l_obj:
65
+ dh.delete_artifact(obj.key)
66
+
67
+ assert len(dh.list_artifacts(p.name)) == 0
68
+
69
+ dh.delete_project("test", clean_context=True, local=True)
70
+
71
+ def test_get(self):
72
+ dicts = self.create_test_dicts()
73
+ p = dh.get_or_create_project("test", local=True)
74
+
75
+ for i in dicts:
76
+ o1 = dh.new_artifact(p.name, **i)
77
+ assert isinstance(o1, Artifact)
78
+
79
+ # Get by name and id
80
+ o2 = dh.get_artifact(o1.name, project=p.name, entity_id=o1.id)
81
+ assert isinstance(o2, Artifact)
82
+ assert o1.id == o2.id
83
+
84
+ # Get by key
85
+ o3 = dh.get_artifact(o1.key)
86
+ assert isinstance(o3, Artifact)
87
+ assert o1.id == o3.id
88
+
89
+ # delete listed objects
90
+ l_obj = dh.list_artifacts(p.name)
91
+ for obj in l_obj:
92
+ dh.delete_artifact(obj.key)
93
+
94
+ assert len(dh.list_artifacts(p.name)) == 0
95
+
96
+ dh.delete_project("test", clean_context=True, local=True)
@@ -0,0 +1,96 @@
1
+ """
2
+ Unit tests for the entity Dataitem
3
+ """
4
+
5
+ import digitalhub as dh
6
+ from digitalhub.entities.dataitem._base.entity import Dataitem
7
+
8
+
9
+ class TestDataitemCRUD:
10
+ def create_test_dicts(self):
11
+ names = ["test1", "test2", "test3", "test4"]
12
+ uuids = [
13
+ "d150bcca-bb64-451d-8455-dff862254b95",
14
+ "31acdd2d-0c41-428c-b68b-1b133da9e97b",
15
+ "b4a3dfdc-b917-44c4-9a29-613dcf734244",
16
+ "2618d9c4-cd61-440f-aebb-7e5761709f3b",
17
+ ]
18
+ paths = [
19
+ "./data/test.csv",
20
+ "s3://bucket/key.csv",
21
+ "sql://database/schema/table",
22
+ "https://url.com/file.csv",
23
+ ]
24
+ kind = ["dataitem", "dataitem", "dataitem", "dataitem"]
25
+
26
+ dicts = []
27
+ for i in range(len(names)):
28
+ dicts.append({"name": names[i], "uuid": uuids[i], "path": paths[i], "kind": kind[i]})
29
+
30
+ return dicts
31
+
32
+ def test_create_delete(self):
33
+ dicts = self.create_test_dicts()
34
+ p = dh.get_or_create_project("test", local=True)
35
+ # Create and delete dataitems
36
+ for i in dicts:
37
+ d = dh.new_dataitem(p.name, **i)
38
+ dh.delete_dataitem(d.key)
39
+ d = dh.new_dataitem(p.name, **i)
40
+ dh.delete_dataitem(d.name, project=p.name, entity_id=d.id)
41
+ d = p.new_dataitem(**i)
42
+ p.delete_dataitem(d.key)
43
+
44
+ assert dh.list_dataitems(p.name) == []
45
+ dh.delete_project("test", local=True, clean_context=True)
46
+
47
+ def test_list(self):
48
+ dicts = self.create_test_dicts()
49
+ p = dh.get_or_create_project("test", local=True)
50
+
51
+ assert dh.list_dataitems(p.name) == []
52
+
53
+ for i in dicts:
54
+ dh.new_dataitem(p.name, **i)
55
+
56
+ # List dataitems
57
+ l_obj = dh.list_dataitems(p.name)
58
+ assert isinstance(l_obj, list)
59
+ assert len(l_obj) == 4
60
+ for i in l_obj:
61
+ assert isinstance(i, Dataitem)
62
+
63
+ # delete listed objects
64
+ for obj in l_obj:
65
+ dh.delete_dataitem(obj.key)
66
+
67
+ assert len(dh.list_dataitems(p.name)) == 0
68
+
69
+ dh.delete_project("test", clean_context=True, local=True)
70
+
71
+ def test_get(self):
72
+ dicts = self.create_test_dicts()
73
+ p = dh.get_or_create_project("test", local=True)
74
+
75
+ for i in dicts:
76
+ o1 = dh.new_dataitem(p.name, **i)
77
+ assert isinstance(o1, Dataitem)
78
+
79
+ # Get by name and id
80
+ o2 = dh.get_dataitem(o1.name, project=p.name, entity_id=o1.id)
81
+ assert isinstance(o2, Dataitem)
82
+ assert o1.id == o2.id
83
+
84
+ # Get by key
85
+ o3 = dh.get_dataitem(o1.key)
86
+ assert isinstance(o3, Dataitem)
87
+ assert o1.id == o3.id
88
+
89
+ # delete listed objects
90
+ l_obj = dh.list_dataitems(p.name)
91
+ for obj in l_obj:
92
+ dh.delete_dataitem(obj.key)
93
+
94
+ assert len(dh.list_dataitems(p.name)) == 0
95
+
96
+ dh.delete_project("test", clean_context=True, local=True)
@@ -0,0 +1,95 @@
1
+ """
2
+ Unit tests for the entity Models
3
+ """
4
+
5
+ import digitalhub as dh
6
+ from digitalhub.entities.model._base.entity import Model
7
+
8
+
9
+ class TestModelCRUD:
10
+ def create_test_dicts(self):
11
+ names = ["test1", "test2", "test3", "test4"]
12
+ uuids = [
13
+ "d150bcca-bb64-451d-8455-dff862254b95",
14
+ "31acdd2d-0c41-428c-b68b-1b133da9e97b",
15
+ "b4a3dfdc-b917-44c4-9a29-613dcf734244",
16
+ "2618d9c4-cd61-440f-aebb-7e5761709f3b",
17
+ ]
18
+ paths = [
19
+ "./data/my_random_forest_model.pkl",
20
+ "s3://bucket/model.pkl",
21
+ "sql://database/schema/linear_regression_model.joblib",
22
+ "https://url.com/bert_base_uncased.pt",
23
+ ]
24
+ kind = ["model", "model", "model", "model"]
25
+
26
+ dicts = []
27
+ for i in range(len(names)):
28
+ dicts.append({"name": names[i], "uuid": uuids[i], "path": paths[i], "kind": kind[i]})
29
+
30
+ return dicts
31
+
32
+ def test_create_delete(self):
33
+ dicts = self.create_test_dicts()
34
+ p = dh.get_or_create_project("test", local=True)
35
+ # Create and delete models
36
+ for i in dicts:
37
+ d = dh.new_model(p.name, **i)
38
+ dh.delete_model(d.key)
39
+ d = dh.new_model(p.name, **i)
40
+ dh.delete_model(d.name, project=p.name, entity_id=d.id)
41
+ d = p.new_model(**i)
42
+ p.delete_model(d.key)
43
+ assert dh.list_models(p.name) == []
44
+ dh.delete_project("test", local=True, clean_context=True)
45
+
46
+ def test_list(self):
47
+ dicts = self.create_test_dicts()
48
+ p = dh.get_or_create_project("test", local=True)
49
+
50
+ assert dh.list_models(p.name) == []
51
+
52
+ for i in dicts:
53
+ dh.new_model(p.name, **i)
54
+
55
+ # List models
56
+ l_obj = dh.list_models(p.name)
57
+ assert isinstance(l_obj, list)
58
+ assert len(l_obj) == 4
59
+ for i in l_obj:
60
+ assert isinstance(i, Model)
61
+
62
+ # delete listed objects
63
+ for obj in l_obj:
64
+ dh.delete_model(obj.key)
65
+
66
+ assert len(dh.list_models(p.name)) == 0
67
+
68
+ dh.delete_project("test", clean_context=True, local=True)
69
+
70
+ def test_get(self):
71
+ dicts = self.create_test_dicts()
72
+ p = dh.get_or_create_project("test", local=True)
73
+
74
+ for i in dicts:
75
+ o1 = dh.new_model(p.name, **i)
76
+ assert isinstance(o1, Model)
77
+
78
+ # Get by name and id
79
+ o2 = dh.get_model(o1.name, project=p.name, entity_id=o1.id)
80
+ assert isinstance(o2, Model)
81
+ assert o1.id == o2.id
82
+
83
+ # Get by key
84
+ o3 = dh.get_model(o1.key)
85
+ assert isinstance(o3, Model)
86
+ assert o1.id == o3.id
87
+
88
+ # delete listed objects
89
+ l_obj = dh.list_models(p.name)
90
+ for obj in l_obj:
91
+ dh.delete_model(obj.key)
92
+
93
+ assert len(dh.list_models(p.name)) == 0
94
+
95
+ dh.delete_project("test", clean_context=True, local=True)
@@ -3,7 +3,7 @@ from copy import deepcopy
3
3
  import dotenv
4
4
 
5
5
  import digitalhub
6
- from digitalhub.entities.function.entity import Function
6
+ from digitalhub.entities.function._base.entity import Function
7
7
 
8
8
  dotenv.load_dotenv()
9
9
 
test/test_crud_runs.py CHANGED
@@ -1,7 +1,7 @@
1
1
  import dotenv
2
2
 
3
3
  import digitalhub
4
- from digitalhub.entities.run.entity import Run
4
+ from digitalhub.entities.run._base.entity import Run
5
5
 
6
6
  dotenv.load_dotenv()
7
7
 
test/test_crud_tasks.py CHANGED
@@ -1,7 +1,7 @@
1
1
  import dotenv
2
2
 
3
3
  import digitalhub
4
- from digitalhub.entities.task.entity import Task
4
+ from digitalhub.entities.task._base.entity import Task
5
5
 
6
6
  dotenv.load_dotenv()
7
7
 
@@ -1,9 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.entities.artifact.entity._base import Artifact
4
-
5
-
6
- class ArtifactArtifact(Artifact):
7
- """
8
- Artifact class.
9
- """
@@ -1,9 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.entities.dataitem.entity._base import Dataitem
4
-
5
-
6
- class DataitemDataitem(Dataitem):
7
- """
8
- Dataitem dataitem.
9
- """
@@ -1,7 +0,0 @@
1
- from digitalhub.entities.dataitem.entity._base import Dataitem
2
-
3
-
4
- class DataitemIceberg(Dataitem):
5
- """
6
- Iceberg dataitem.
7
- """
@@ -1,61 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from pydantic import Field
4
-
5
- from digitalhub.entities._base.spec.material import MaterialParams, MaterialSpec
6
- from digitalhub.entities.dataitem.models import TableSchema
7
-
8
-
9
- class DataitemSpec(MaterialSpec):
10
- """
11
- Dataitem specifications.
12
- """
13
-
14
-
15
- class DataitemParams(MaterialParams):
16
- """
17
- Dataitem parameters.
18
- """
19
-
20
-
21
- class DataitemSpecDataitem(DataitemSpec):
22
- """
23
- Dataitem dataitem specifications.
24
- """
25
-
26
-
27
- class DataitemParamsDataitem(DataitemParams):
28
- """
29
- Dataitem dataitem parameters.
30
- """
31
-
32
-
33
- class DataitemSpecTable(DataitemSpec):
34
- """
35
- Dataitem table specifications.
36
- """
37
-
38
- def __init__(self, path: str, schema: dict | None = None) -> None:
39
- super().__init__(path)
40
- self.schema = schema
41
-
42
-
43
- class DataitemParamsTable(DataitemParams):
44
- """
45
- Dataitem table parameters.
46
- """
47
-
48
- schema_: TableSchema = Field(default=None, alias="schema")
49
- """The schema of the dataitem in table schema format."""
50
-
51
-
52
- class DataitemSpecIceberg(DataitemSpec):
53
- """
54
- Dataitem iceberg specifications.
55
- """
56
-
57
-
58
- class DataitemParamsIceberg(DataitemParams):
59
- """
60
- Dataitem iceberg parameters.
61
- """
@@ -1,38 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.entities._base.status.material import MaterialStatus
4
-
5
-
6
- class DataitemStatus(MaterialStatus):
7
- """
8
- Status class for dataitem entities.
9
- """
10
-
11
- def __init__(
12
- self,
13
- state: str,
14
- message: str | None = None,
15
- files: list[dict] | None = None,
16
- preview: dict | None = None,
17
- **kwargs,
18
- ) -> None:
19
- super().__init__(state, message, files)
20
- self.preview = preview
21
-
22
-
23
- class DataitemStatusDataitem(DataitemStatus):
24
- """
25
- Status class for dataitem dataitem entities.
26
- """
27
-
28
-
29
- class DataitemStatusTable(DataitemStatus):
30
- """
31
- Status class for dataitem table entities.
32
- """
33
-
34
-
35
- class DataitemStatusIceberg(DataitemStatus):
36
- """
37
- Status class for dataitem iceberg entities.
38
- """
@@ -1,81 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.entities._base.spec.base import Spec, SpecParams
4
-
5
-
6
- class FunctionSpec(Spec):
7
- """
8
- Specification for a Function.
9
- """
10
-
11
-
12
- class FunctionParams(SpecParams):
13
- """
14
- Function parameters model.
15
- """
16
-
17
-
18
- class SourceCodeStruct:
19
- """
20
- Source code struct.
21
- """
22
-
23
- def __init__(
24
- self,
25
- source: str | None = None,
26
- handler: str | None = None,
27
- code: str | None = None,
28
- base64: str | None = None,
29
- init_function: str | None = None,
30
- lang: str | None = None,
31
- ) -> None:
32
- """
33
- Constructor.
34
-
35
- Parameters
36
- ----------
37
- source : str
38
- Source reference.
39
- handler : str
40
- Function entrypoint.
41
- code : str
42
- Source code (plain).
43
- base64 : str
44
- Source code (base64 encoded).
45
- init_function : str
46
- Init function for remote execution.
47
- lang : str
48
- Source code language (hint).
49
- """
50
- self.source = source
51
- self.handler = handler
52
- self.code = code
53
- self.base64 = base64
54
- self.init_function = init_function
55
- self.lang = lang
56
-
57
- def to_dict(self) -> dict:
58
- """
59
- Convert to dictionary.
60
-
61
- Returns
62
- -------
63
- dict
64
- Dictionary representation of the object.
65
- """
66
- dict_ = {}
67
- if self.source is not None:
68
- dict_["source"] = self.source
69
- if self.handler is not None:
70
- dict_["handler"] = self.handler
71
- if self.base64 is not None:
72
- dict_["base64"] = self.base64
73
- if self.init_function is not None:
74
- dict_["init_function"] = self.init_function
75
- if self.lang is not None:
76
- dict_["lang"] = self.lang
77
-
78
- return dict_
79
-
80
- def __repr__(self) -> str:
81
- return str(self.to_dict())
@@ -1,9 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.entities._base.status.base import Status
4
-
5
-
6
- class FunctionStatus(Status):
7
- """
8
- Status class for function entities.
9
- """
@@ -1,9 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.entities.model.entity._base import Model
4
-
5
-
6
- class ModelHuggingface(Model):
7
- """
8
- Huggingface model.
9
- """
@@ -1,9 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.entities.model.entity._base import Model
4
-
5
-
6
- class ModelModel(Model):
7
- """
8
- Model model.
9
- """
@@ -1,9 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.entities.model.entity._base import Model
4
-
5
-
6
- class ModelSklearn(Model):
7
- """
8
- SKLearn model.
9
- """