digitalhub 0.6.0b10__py3-none-any.whl → 0.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of digitalhub might be problematic. Click here for more details.

digitalhub/__init__.py CHANGED
@@ -35,7 +35,7 @@ from digitalhub_core import (
35
35
  new_secret,
36
36
  new_task,
37
37
  new_workflow,
38
- set_dhub_env,
38
+ set_dhcore_env,
39
39
  set_store,
40
40
  update_artifact,
41
41
  update_function,
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: digitalhub
3
- Version: 0.6.0b10
4
- Summary: Python SDK for DigitalHub
3
+ Version: 0.7.0
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
7
7
  Version 2.0, January 2004
@@ -228,14 +228,18 @@ Classifier: Programming Language :: Python :: 3.10
228
228
  Requires-Python: >=3.9
229
229
  Description-Content-Type: text/markdown
230
230
  License-File: LICENSE.txt
231
- Requires-Dist: digitalhub-core >=0.6.0b
231
+ Requires-Dist: digitalhub-core<0.8,>=0.7.0b
232
232
  Provides-Extra: all
233
- Requires-Dist: digitalhub-data >=0.6.0b ; extra == 'all'
234
- Requires-Dist: digitalhub-ml >=0.6.0b ; extra == 'all'
233
+ Requires-Dist: digitalhub-data<0.8,>=0.7.0b; extra == "all"
234
+ Requires-Dist: digitalhub-ml<0.8,>=0.7.0b; extra == "all"
235
235
  Provides-Extra: data
236
- Requires-Dist: digitalhub-data >=0.6.0b ; extra == 'data'
236
+ Requires-Dist: digitalhub-data<0.8,>=0.7.0b; extra == "data"
237
+ Provides-Extra: full
238
+ Requires-Dist: digitalhub-core[full]<0.8,>=0.7.0b; extra == "full"
239
+ Requires-Dist: digitalhub-data[pandas]<0.8,>=0.7.0b; extra == "full"
240
+ Requires-Dist: digitalhub-ml[mlflow]<0.8,>=0.7.0b; extra == "full"
237
241
  Provides-Extra: ml
238
- Requires-Dist: digitalhub-ml >=0.6.0b ; extra == 'ml'
242
+ Requires-Dist: digitalhub-ml<0.8,>=0.7.0b; extra == "ml"
239
243
 
240
244
  # Digitalhub Library
241
245
 
@@ -0,0 +1,14 @@
1
+ digitalhub/__init__.py,sha256=E26WFuMyA9djIFxYhvgtkoHcix2OmcM7XkzjxVMoEaM,2521
2
+ test/test_crud_artifacts.py,sha256=CgPUAYRWurWWH1eRwGJp_6iiulGLy4bOPccvC3XqSCc,2489
3
+ test/test_crud_dataitems.py,sha256=jj15NUUyAAfOCYZEfZOxEq9f5s2_T3dVdfJ7agL50tc,2489
4
+ test/test_crud_functions.py,sha256=zihCaqWUps-Cm14BkCr5qHoOubeZPOn7TyKi49DSkE4,2768
5
+ test/test_crud_runs.py,sha256=MIOgrgEa6gdwoS6rhdOkPderZcQrdZXMptCV0w3f6-k,2219
6
+ test/test_crud_tasks.py,sha256=LLFf6teU64YF8m-gS02tyEoi_eHZmHw6OmO4yhe3Wqo,2110
7
+ test/test_imports.py,sha256=W-YugO0rpJwvtWp57MXaXfEmE-f5iWuCiLY-n0ZU4z8,1271
8
+ test/testkfp.py,sha256=01UpLKkVbwAQu4S1BMiddnnq5x1DStMlJtCoHzi9zq8,1060
9
+ test/testkfp_pipeline.py,sha256=WceFrCp-avHI7PcwIvnv7Kgs2xK3oQqU6sjaonGamg8,622
10
+ digitalhub-0.7.0.dist-info/LICENSE.txt,sha256=_yVOtnbW7Ss28mp058UEEc1X4Rgj8-kQBP_kj8_Sc88,11585
11
+ digitalhub-0.7.0.dist-info/METADATA,sha256=wQIjmkGXe0nlBsnMMuW2jHfJFwrjqWEbDwkCks7ZDF0,14904
12
+ digitalhub-0.7.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
13
+ digitalhub-0.7.0.dist-info/top_level.txt,sha256=ae9pDfCF27ZoaVAxuBKONMP0lm5P-N_I-e-no1WlvD8,16
14
+ digitalhub-0.7.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (71.1.0)
2
+ Generator: setuptools (75.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,91 +1,96 @@
1
+ import shutil
1
2
  from copy import deepcopy
2
3
 
3
4
  import dotenv
4
- from digitalhub_core.entities.artifacts.entity import Artifact
5
+ from digitalhub_core.entities.artifact.entity._base import Artifact
5
6
 
6
- import digitalhub
7
+ import digitalhub as dh
7
8
 
8
9
  dotenv.load_dotenv()
9
10
 
10
11
 
11
- names = ["test1", "test2", "test3", "test4"]
12
- uuids = [
13
- "12a01efa-o44f-4991-b153-9a3c358b7bb0",
14
- "8e367f52-25bb-4df1-b9c9-a58045b377a0",
15
- "1678f9ab-a2e0-48ff-870a-2384o3fa1334",
16
- "adb746dd-4e81-4ff8-82de-4916624o17dc",
17
- ]
18
- paths = ["./data/test.csv", "s3://bucket/key.csv", "sql://database/schema/table", "https://url.com/file.csv"]
19
- kind = ["artifact", "artifact", "artifact", "artifact"]
20
-
21
- dicts = []
22
- for i in range(len(names)):
23
- dicts.append({"name": names[i], "uuid": uuids[i], "path": paths[i], "kind": kind[i]})
24
-
25
-
26
- digitalhub.delete_project("test")
27
-
28
- p = digitalhub.get_or_create_project("test")
29
-
30
- # Create and delete artifacts
31
- for i in dicts:
32
- d = digitalhub.new_artifact(p.name, **i)
33
- digitalhub.delete_artifact(p.name, entity_id=d.id)
34
- d = digitalhub.new_artifact(p.name, **i)
35
- digitalhub.delete_artifact(p.name, entity_name=d.name)
36
- d = p.new_artifact(**i)
37
- p.delete_artifact(entity_id=d.id)
38
-
39
- # Create multiple artifacts
40
- for i in dicts:
41
- digitalhub.new_artifact(p.name, **i)
42
-
43
- c = deepcopy(i)
44
- c.pop("uuid")
45
- digitalhub.new_artifact(p.name, **c)
46
- digitalhub.new_artifact(p.name, **c)
47
- digitalhub.new_artifact(p.name, **c)
48
- digitalhub.new_artifact(p.name, **c)
49
-
50
-
51
- # List artifacts
52
- l_obj = digitalhub.list_artifacts(p.name)
53
- assert isinstance(l_obj, list)
54
- assert len(l_obj) == 4
55
- for i in l_obj:
56
- assert isinstance(i, dict)
57
-
58
- for uuid in uuids:
59
- digitalhub.delete_artifact(p.name, entity_id=uuid)
60
-
61
- # Get artifacts test
62
- for i in dicts:
63
- o1 = digitalhub.new_artifact(p.name, **i)
64
- assert isinstance(o1, Artifact)
65
-
66
- # Get by id
67
- o2 = digitalhub.get_artifact(p.name, entity_id=o1.id)
68
- assert isinstance(o2, Artifact)
69
- assert o1.id == o2.id
70
-
71
- # Get by name
72
- o3 = digitalhub.get_artifact(p.name, entity_name=o1.name)
73
- assert isinstance(o3, Artifact)
74
- assert o1.id == o3.id
75
-
76
- # Get by name as latest
77
- c = deepcopy(i)
78
- c.pop("uuid")
79
- o4 = digitalhub.new_artifact(p.name, **c)
80
- o5 = digitalhub.get_artifact(p.name, entity_name=o1.name)
81
- assert isinstance(o5, Artifact)
82
- assert (o5.id != o1.id) and (o5.name == o1.name) and (o5.id == o4.id)
83
-
84
-
85
- # Delete artifacts, all versions
86
- for n in names:
87
- digitalhub.delete_artifact(p.name, entity_name=n, delete_all_versions=True)
88
- l_obj = digitalhub.list_artifacts(p.name)
89
- assert not l_obj
90
-
91
- digitalhub.delete_project("test")
12
+ def main():
13
+ ctx = "./test-prg"
14
+ names = ["test1", "test2", "test3", "test4"]
15
+ uuids = [
16
+ "d150bcca-bb64-451d-8455-dff862254b95",
17
+ "31acdd2d-0c41-428c-b68b-1b133da9e97b",
18
+ "b4a3dfdc-b917-44c4-9a29-613dcf734244",
19
+ "2618d9c4-cd61-440f-aebb-7e5761709f3b",
20
+ ]
21
+ paths = ["./data/test.csv", "s3://bucket/key.csv", "sql://database/schema/table", "https://url.com/file.csv"]
22
+ kind = ["artifact", "artifact", "artifact", "artifact"]
23
+
24
+ dicts = []
25
+ for i in range(len(names)):
26
+ dicts.append({"name": names[i], "uuid": uuids[i], "path": paths[i], "kind": kind[i]})
27
+
28
+ dh.delete_project("test")
29
+
30
+ p = dh.get_or_create_project("test", context=ctx)
31
+
32
+ # Create and delete artifacts
33
+ for i in dicts:
34
+ d = dh.new_artifact(p.name, **i)
35
+ dh.delete_artifact(d.key)
36
+ d = dh.new_artifact(p.name, **i)
37
+ dh.delete_artifact(d.name, project=p.name, entity_id=d.id)
38
+ d = p.new_artifact(**i)
39
+ p.delete_artifact(d.key)
40
+
41
+ print("Done 1")
42
+
43
+ # Create multiple artifacts
44
+ for i in dicts:
45
+ dh.new_artifact(p.name, **i)
46
+
47
+ c = deepcopy(i)
48
+ c.pop("uuid")
49
+ dh.new_artifact(p.name, **c)
50
+ dh.new_artifact(p.name, **c)
51
+ dh.new_artifact(p.name, **c)
52
+ dh.new_artifact(p.name, **c)
53
+
54
+ # List artifacts
55
+ l_obj = dh.list_artifacts(p.name)
56
+ assert isinstance(l_obj, list)
57
+ assert len(l_obj) == 4
58
+ for i in l_obj:
59
+ assert isinstance(i, Artifact)
60
+
61
+ for a in l_obj:
62
+ dh.delete_artifact(a.key)
63
+
64
+ print("Done 2")
65
+
66
+ # Get artifacts test
67
+ for i in dicts:
68
+ o1 = dh.new_artifact(p.name, **i)
69
+ assert isinstance(o1, Artifact)
70
+
71
+ # Get by name and id
72
+ o2 = dh.get_artifact(o1.name, project=p.name, entity_id=o1.id)
73
+ assert isinstance(o2, Artifact)
74
+ assert o1.id == o2.id
75
+
76
+ # Get by key
77
+ o3 = dh.get_artifact(o1.key)
78
+ assert isinstance(o3, Artifact)
79
+ assert o1.id == o3.id
80
+
81
+ print("Done 3")
82
+
83
+ # Delete artifacts, all versions
84
+ for n in names:
85
+ dh.delete_artifact(n, project=p.name, delete_all_versions=True)
86
+ l_obj = dh.list_artifacts(p.name)
87
+ assert not l_obj
88
+
89
+ dh.delete_project("test")
90
+ shutil.rmtree(ctx)
91
+
92
+ print("Done 4")
93
+
94
+
95
+ if __name__ == "__main__":
96
+ main()
@@ -1,90 +1,96 @@
1
+ import shutil
1
2
  from copy import deepcopy
2
3
 
3
4
  import dotenv
4
- from digitalhub_data.entities.dataitems.entity._base import Dataitem
5
+ from digitalhub_data.entities.dataitem.entity._base import Dataitem
5
6
 
6
- import digitalhub
7
+ import digitalhub as dh
7
8
 
8
9
  dotenv.load_dotenv()
9
10
 
10
- names = ["test1", "test2", "test3", "test4"]
11
- uuids = [
12
- "12a01efa-o44f-4991-b153-9a3c358b7bb0",
13
- "8e367f52-25bb-4df1-b9c9-a58045b377a0",
14
- "1678f9ab-a2e0-48ff-870a-2384o3fa1334",
15
- "adb746dd-4e81-4ff8-82de-4916624o17dc",
16
- ]
17
- paths = ["./data/test.csv", "s3://bucket/key.csv", "sql://database/schema/table", "https://url.com/file.csv"]
18
- kind = ["table", "table", "table", "table"]
19
-
20
- dicts = []
21
- for i in range(len(names)):
22
- dicts.append({"name": names[i], "uuid": uuids[i], "path": paths[i], "kind": kind[i]})
23
-
24
-
25
- digitalhub.delete_project("test")
26
-
27
- p = digitalhub.get_or_create_project("test")
28
-
29
- # Create and delete dataitems
30
- for i in dicts:
31
- d = digitalhub.new_dataitem(p.name, **i)
32
- digitalhub.delete_dataitem(p.name, entity_id=d.id)
33
- d = digitalhub.new_dataitem(p.name, **i)
34
- digitalhub.delete_dataitem(p.name, entity_name=d.name)
35
- d = p.new_dataitem(**i)
36
- p.delete_dataitem(entity_id=d.id)
37
-
38
- # Create multiple dataitems
39
- for i in dicts:
40
- digitalhub.new_dataitem(p.name, **i)
41
-
42
- c = deepcopy(i)
43
- c.pop("uuid")
44
- digitalhub.new_dataitem(p.name, **c)
45
- digitalhub.new_dataitem(p.name, **c)
46
- digitalhub.new_dataitem(p.name, **c)
47
- digitalhub.new_dataitem(p.name, **c)
48
-
49
-
50
- # List dataitems
51
- l_obj = digitalhub.list_dataitems(p.name)
52
- assert isinstance(l_obj, list)
53
- assert len(l_obj) == 4
54
- for i in l_obj:
55
- assert isinstance(i, dict)
56
-
57
- for uuid in uuids:
58
- digitalhub.delete_dataitem(p.name, entity_id=uuid)
59
-
60
- # Get dataitems test
61
- for i in dicts:
62
- o1 = digitalhub.new_dataitem(p.name, **i)
63
- assert isinstance(o1, Dataitem)
64
-
65
- # Get by id
66
- o2 = digitalhub.get_dataitem(p.name, entity_id=o1.id)
67
- assert isinstance(o2, Dataitem)
68
- assert o1.id == o2.id
69
-
70
- # Get by name
71
- o3 = digitalhub.get_dataitem(p.name, entity_name=o1.name)
72
- assert isinstance(o3, Dataitem)
73
- assert o1.id == o3.id
74
-
75
- # Get by name as latest
76
- c = deepcopy(i)
77
- c.pop("uuid")
78
- o4 = digitalhub.new_dataitem(p.name, **c)
79
- o5 = digitalhub.get_dataitem(p.name, entity_name=o1.name)
80
- assert isinstance(o5, Dataitem)
81
- assert (o5.id != o1.id) and (o5.name == o1.name) and (o5.id == o4.id)
82
-
83
-
84
- # Delete dataitems, all versions
85
- for n in names:
86
- digitalhub.delete_dataitem(p.name, entity_name=n, delete_all_versions=True)
87
- l_obj = digitalhub.list_dataitems(p.name)
88
- assert not l_obj
89
-
90
- digitalhub.delete_project("test")
11
+
12
+ def main():
13
+ ctx = "./test-prg"
14
+ names = ["test1", "test2", "test3", "test4"]
15
+ uuids = [
16
+ "d150bcca-bb64-451d-8455-dff862254b95",
17
+ "31acdd2d-0c41-428c-b68b-1b133da9e97b",
18
+ "b4a3dfdc-b917-44c4-9a29-613dcf734244",
19
+ "2618d9c4-cd61-440f-aebb-7e5761709f3b",
20
+ ]
21
+ paths = ["./data/test.csv", "s3://bucket/key.csv", "sql://database/schema/table", "https://url.com/file.csv"]
22
+ kind = ["dataitem", "dataitem", "dataitem", "dataitem"]
23
+
24
+ dicts = []
25
+ for i in range(len(names)):
26
+ dicts.append({"name": names[i], "uuid": uuids[i], "path": paths[i], "kind": kind[i]})
27
+
28
+ dh.delete_project("test")
29
+
30
+ p = dh.get_or_create_project("test", context=ctx)
31
+
32
+ # Create and delete dataitems
33
+ for i in dicts:
34
+ d = dh.new_dataitem(p.name, **i)
35
+ dh.delete_dataitem(d.key)
36
+ d = dh.new_dataitem(p.name, **i)
37
+ dh.delete_dataitem(d.name, project=p.name, entity_id=d.id)
38
+ d = p.new_dataitem(**i)
39
+ p.delete_dataitem(d.key)
40
+
41
+ print("Done 1")
42
+
43
+ # Create multiple dataitems
44
+ for i in dicts:
45
+ dh.new_dataitem(p.name, **i)
46
+
47
+ c = deepcopy(i)
48
+ c.pop("uuid")
49
+ dh.new_dataitem(p.name, **c)
50
+ dh.new_dataitem(p.name, **c)
51
+ dh.new_dataitem(p.name, **c)
52
+ dh.new_dataitem(p.name, **c)
53
+
54
+ # List dataitems
55
+ l_obj = dh.list_dataitems(p.name)
56
+ assert isinstance(l_obj, list)
57
+ assert len(l_obj) == 4
58
+ for i in l_obj:
59
+ assert isinstance(i, Dataitem)
60
+
61
+ for a in l_obj:
62
+ dh.delete_dataitem(a.key)
63
+
64
+ print("Done 2")
65
+
66
+ # Get dataitems test
67
+ for i in dicts:
68
+ o1 = dh.new_dataitem(p.name, **i)
69
+ assert isinstance(o1, Dataitem)
70
+
71
+ # Get by name and id
72
+ o2 = dh.get_dataitem(o1.name, project=p.name, entity_id=o1.id)
73
+ assert isinstance(o2, Dataitem)
74
+ assert o1.id == o2.id
75
+
76
+ # Get by key
77
+ o3 = dh.get_dataitem(o1.key)
78
+ assert isinstance(o3, Dataitem)
79
+ assert o1.id == o3.id
80
+
81
+ print("Done 3")
82
+
83
+ # Delete dataitems, all versions
84
+ for n in names:
85
+ dh.delete_dataitem(n, project=p.name, delete_all_versions=True)
86
+ l_obj = dh.list_dataitems(p.name)
87
+ assert not l_obj
88
+
89
+ dh.delete_project("test")
90
+ shutil.rmtree(ctx)
91
+
92
+ print("Done 4")
93
+
94
+
95
+ if __name__ == "__main__":
96
+ main()
@@ -1,7 +1,7 @@
1
1
  from copy import deepcopy
2
2
 
3
3
  import dotenv
4
- from digitalhub_core.entities.functions.entity import Function
4
+ from digitalhub_core.entities.function.entity import Function
5
5
 
6
6
  import digitalhub
7
7
 
test/test_crud_runs.py CHANGED
@@ -1,5 +1,5 @@
1
1
  import dotenv
2
- from digitalhub_core.entities.runs.entity import Run
2
+ from digitalhub_core.entities.run.entity import Run
3
3
 
4
4
  import digitalhub
5
5
 
test/test_crud_tasks.py CHANGED
@@ -1,5 +1,5 @@
1
1
  import dotenv
2
- from digitalhub_core.entities.tasks.entity import Task
2
+ from digitalhub_core.entities.task.entity import Task
3
3
 
4
4
  import digitalhub
5
5
 
test/test_imports.py CHANGED
@@ -54,7 +54,7 @@ METHODS = [
54
54
  "delete_workflow",
55
55
  "delete_dataitem",
56
56
  "delete_model",
57
- "set_dhub_env",
57
+ "set_dhcore_env",
58
58
  "set_store",
59
59
  "load_project",
60
60
  "get_or_create_project",
test/testkfp.py CHANGED
@@ -8,8 +8,8 @@ def _is_finished(state: str):
8
8
  return state == "COMPLETED" or state == "ERROR" or state == "STOPPED"
9
9
 
10
10
 
11
- os.environ["DIGITALHUB_CORE_ENDPOINT"] = "http://localhost:8080/"
12
- os.environ["DIGITALHUB_CORE_WORKFLOW_IMAGE"] = "localhost:5000/dhcoreworkflow9:latest"
11
+ os.environ["DHCORE_ENDPOINT"] = "http://localhost:8080/"
12
+ os.environ["DHCORE_WORKFLOW_IMAGE"] = "localhost:5000/dhcoreworkflow9:latest"
13
13
  os.environ["KFP_ENDPOINT"] = "http://localhost:8888/"
14
14
 
15
15
  # Get or create project
@@ -1,14 +0,0 @@
1
- digitalhub/__init__.py,sha256=-cfIAC3MzPffMfYGAe-hwsAmGNLacyzCbTg9-xNSDQI,2519
2
- test/test_crud_artifacts.py,sha256=yjlY_Bx99LPtMh15ufqFVU3KdogkmMjbbIGFkyVg25I,2511
3
- test/test_crud_dataitems.py,sha256=-xAQ4UxSBqWPwsSLDSqy0EXp8uElymh-MAak3NqnOcs,2504
4
- test/test_crud_functions.py,sha256=gYIBpPTE0spTVoM8li2N64nCa4zSTgh2CRu0FReWsEg,2769
5
- test/test_crud_runs.py,sha256=s8LG1SpsQe4pisFGmq-hlHiJr3RQcXsfjggRKtLGCCA,2220
6
- test/test_crud_tasks.py,sha256=XhSTj0hQNwJ61MbdSczYKMXYUIf_e6alwls9TnIpEiY,2111
7
- test/test_imports.py,sha256=2Uuo-pa0HgA-qASl1ZpUj6tVze8_2PlmBapuyvDgLDQ,1269
8
- test/testkfp.py,sha256=JnJkFGRhFAP7DdBVGQEduisNGyR1Eek8SgbK_4wYdF4,1078
9
- test/testkfp_pipeline.py,sha256=WceFrCp-avHI7PcwIvnv7Kgs2xK3oQqU6sjaonGamg8,622
10
- digitalhub-0.6.0b10.dist-info/LICENSE.txt,sha256=_yVOtnbW7Ss28mp058UEEc1X4Rgj8-kQBP_kj8_Sc88,11585
11
- digitalhub-0.6.0b10.dist-info/METADATA,sha256=pDkQNj5iSlVzuPTtVoxdLgUPTAFHXzmFpBbnglOi8nk,14667
12
- digitalhub-0.6.0b10.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
13
- digitalhub-0.6.0b10.dist-info/top_level.txt,sha256=ae9pDfCF27ZoaVAxuBKONMP0lm5P-N_I-e-no1WlvD8,16
14
- digitalhub-0.6.0b10.dist-info/RECORD,,