digitalhub 0.10.0b2__py3-none-any.whl → 0.10.0b4__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/entities/_base/entity/builder.py +5 -5
- digitalhub/entities/_base/material/entity.py +4 -17
- digitalhub/entities/_base/material/status.py +1 -1
- digitalhub/entities/_commons/models.py +7 -3
- digitalhub/entities/_commons/utils.py +5 -4
- digitalhub/entities/_operations/processor.py +5 -4
- digitalhub/entities/artifact/artifact/spec.py +3 -1
- digitalhub/entities/artifact/crud.py +3 -2
- digitalhub/entities/builders.py +6 -18
- digitalhub/entities/dataitem/crud.py +17 -5
- digitalhub/entities/dataitem/table/models.py +4 -3
- digitalhub/entities/dataitem/table/utils.py +7 -7
- digitalhub/entities/dataitem/utils.py +50 -6
- digitalhub/entities/model/_base/spec.py +6 -7
- digitalhub/entities/model/crud.py +3 -2
- digitalhub/entities/model/huggingface/spec.py +4 -2
- digitalhub/entities/model/mlflow/spec.py +6 -4
- digitalhub/entities/project/_base/spec.py +8 -6
- digitalhub/entities/project/crud.py +2 -2
- digitalhub/entities/run/_base/spec.py +4 -2
- digitalhub/entities/secret/_base/spec.py +4 -2
- digitalhub/entities/secret/crud.py +2 -0
- digitalhub/entities/task/_base/models.py +41 -40
- digitalhub/entities/task/_base/utils.py +2 -2
- digitalhub/stores/_base/store.py +5 -4
- digitalhub/stores/local/store.py +4 -3
- digitalhub/stores/remote/store.py +4 -3
- digitalhub/stores/s3/store.py +5 -4
- digitalhub/stores/sql/configurator.py +4 -4
- digitalhub/stores/sql/enums.py +1 -1
- digitalhub/stores/sql/store.py +7 -3
- digitalhub/utils/file_utils.py +8 -7
- digitalhub/utils/generic_utils.py +20 -8
- digitalhub/utils/types.py +6 -0
- digitalhub/utils/uri_utils.py +1 -1
- {digitalhub-0.10.0b2.dist-info → digitalhub-0.10.0b4.dist-info}/METADATA +27 -33
- {digitalhub-0.10.0b2.dist-info → digitalhub-0.10.0b4.dist-info}/RECORD +39 -49
- {digitalhub-0.10.0b2.dist-info → digitalhub-0.10.0b4.dist-info}/WHEEL +1 -2
- digitalhub-0.10.0b2.dist-info/top_level.txt +0 -2
- test/local/CRUD/test_artifacts.py +0 -96
- test/local/CRUD/test_dataitems.py +0 -96
- test/local/CRUD/test_models.py +0 -95
- test/local/imports/test_imports.py +0 -65
- test/local/instances/test_validate.py +0 -55
- test/test_crud_functions.py +0 -109
- test/test_crud_runs.py +0 -86
- test/test_crud_tasks.py +0 -81
- test/testkfp.py +0 -37
- test/testkfp_pipeline.py +0 -22
- {digitalhub-0.10.0b2.dist-info → digitalhub-0.10.0b4.dist-info/licenses}/LICENSE.txt +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: digitalhub
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.0b4
|
|
4
4
|
Summary: Python SDK for Digitalhub
|
|
5
|
+
Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk
|
|
5
6
|
Author-email: Fondazione Bruno Kessler <dslab@fbk.eu>, Matteo Martini <mmartini@fbk.eu>
|
|
6
7
|
License: Apache License
|
|
7
8
|
Version 2.0, January 2004
|
|
@@ -219,48 +220,41 @@ License: Apache License
|
|
|
219
220
|
|
|
220
221
|
(SIL OPEN FONT LICENSE Version 1.1) The Inter font family (https://github.com/rsms/inter)
|
|
221
222
|
(SIL OPEN FONT LICENSE Version 1.1) The Fira Code font family (https://github.com/tonsky/FiraCode)
|
|
222
|
-
|
|
223
|
-
Project-URL: Homepage, https://github.com/scc-digitalhub/digitalhub-sdk
|
|
223
|
+
License-File: LICENSE.txt
|
|
224
224
|
Keywords: data,dataops,kubernetes
|
|
225
225
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
226
226
|
Classifier: Programming Language :: Python :: 3.9
|
|
227
227
|
Classifier: Programming Language :: Python :: 3.10
|
|
228
228
|
Classifier: Programming Language :: Python :: 3.11
|
|
229
|
-
Requires-Python:
|
|
230
|
-
Description-Content-Type: text/markdown
|
|
231
|
-
License-File: LICENSE.txt
|
|
229
|
+
Requires-Python: <3.13,>=3.9
|
|
232
230
|
Requires-Dist: boto3
|
|
233
|
-
Requires-Dist:
|
|
234
|
-
Requires-Dist: sqlalchemy
|
|
235
|
-
Requires-Dist: pyarrow
|
|
231
|
+
Requires-Dist: gitpython>=3
|
|
236
232
|
Requires-Dist: numpy<2
|
|
237
|
-
Requires-Dist: requests
|
|
238
|
-
Requires-Dist: PyYAML
|
|
239
|
-
Requires-Dist: python-dotenv
|
|
240
|
-
Requires-Dist: GitPython>=3
|
|
241
233
|
Requires-Dist: psycopg2-binary
|
|
234
|
+
Requires-Dist: pyarrow
|
|
235
|
+
Requires-Dist: pydantic
|
|
236
|
+
Requires-Dist: python-dotenv
|
|
242
237
|
Requires-Dist: python-slugify
|
|
238
|
+
Requires-Dist: pyyaml
|
|
239
|
+
Requires-Dist: requests
|
|
240
|
+
Requires-Dist: sqlalchemy
|
|
241
|
+
Provides-Extra: dev
|
|
242
|
+
Requires-Dist: bumpver; extra == 'dev'
|
|
243
|
+
Requires-Dist: jsonschema; extra == 'dev'
|
|
244
|
+
Requires-Dist: pytest; extra == 'dev'
|
|
245
|
+
Requires-Dist: pytest-cov; extra == 'dev'
|
|
243
246
|
Provides-Extra: full
|
|
244
|
-
Requires-Dist:
|
|
245
|
-
Requires-Dist: mlflow; extra ==
|
|
246
|
-
Requires-Dist:
|
|
247
|
-
Requires-Dist: s3fs; extra ==
|
|
248
|
-
Provides-Extra: pandas
|
|
249
|
-
Requires-Dist: pandas; extra == "pandas"
|
|
250
|
-
Requires-Dist: fsspec; extra == "pandas"
|
|
251
|
-
Requires-Dist: s3fs; extra == "pandas"
|
|
247
|
+
Requires-Dist: fsspec; extra == 'full'
|
|
248
|
+
Requires-Dist: mlflow; extra == 'full'
|
|
249
|
+
Requires-Dist: pandas; extra == 'full'
|
|
250
|
+
Requires-Dist: s3fs; extra == 'full'
|
|
252
251
|
Provides-Extra: mlflow
|
|
253
|
-
Requires-Dist: mlflow; extra ==
|
|
254
|
-
Provides-Extra:
|
|
255
|
-
Requires-Dist:
|
|
256
|
-
Requires-Dist:
|
|
257
|
-
Requires-Dist:
|
|
258
|
-
|
|
259
|
-
Requires-Dist: moto; extra == "dev"
|
|
260
|
-
Provides-Extra: docs
|
|
261
|
-
Requires-Dist: Sphinx>=7; extra == "docs"
|
|
262
|
-
Requires-Dist: pydata-sphinx-theme>=0.15; extra == "docs"
|
|
263
|
-
Requires-Dist: numpydoc>=1.6; extra == "docs"
|
|
252
|
+
Requires-Dist: mlflow; extra == 'mlflow'
|
|
253
|
+
Provides-Extra: pandas
|
|
254
|
+
Requires-Dist: fsspec; extra == 'pandas'
|
|
255
|
+
Requires-Dist: pandas; extra == 'pandas'
|
|
256
|
+
Requires-Dist: s3fs; extra == 'pandas'
|
|
257
|
+
Description-Content-Type: text/markdown
|
|
264
258
|
|
|
265
259
|
# Digitalhub Library
|
|
266
260
|
|
|
@@ -29,14 +29,14 @@ digitalhub/context/api.py,sha256=un-_HU7JC3t-eQKleVJ9cCDS8BtQFRHSrP3VDHs3gPU,109
|
|
|
29
29
|
digitalhub/context/builder.py,sha256=ibsjwCbll4RbNc_NplAn-8cX0J8GIXyY41KjtcvlsI4,2037
|
|
30
30
|
digitalhub/context/context.py,sha256=-xn3ZHNqoifUdRF4vwmLzOkfQrEheFPDQNk2J-q47EI,1456
|
|
31
31
|
digitalhub/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
-
digitalhub/entities/builders.py,sha256=
|
|
32
|
+
digitalhub/entities/builders.py,sha256=HRzXOoUFu8GhNIL6a9cWjJDMNCbVFmuxTG3e1tt81iA,1796
|
|
33
33
|
digitalhub/entities/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
34
|
digitalhub/entities/_base/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
35
|
digitalhub/entities/_base/_base/entity.py,sha256=aHZiuCyHo6zPSRuwTFLu2qGkTHGd2k8EAJlnbcJq_p4,2174
|
|
36
36
|
digitalhub/entities/_base/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
37
|
digitalhub/entities/_base/context/entity.py,sha256=4IWC6f0YKpEBPCXrKlkkvnOqT1urQ4mbjwre4LUWxk4,3270
|
|
38
38
|
digitalhub/entities/_base/entity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
-
digitalhub/entities/_base/entity/builder.py,sha256=
|
|
39
|
+
digitalhub/entities/_base/entity/builder.py,sha256=caUFJeLSvOTNKwnOZkyKW6BdyWUNYaGesk0ZwXJxX88,4556
|
|
40
40
|
digitalhub/entities/_base/entity/entity.py,sha256=BFVKE5CToh4JOdwseAGMhdpoCiD3kaGRhNA9SuRCixE,3223
|
|
41
41
|
digitalhub/entities/_base/entity/metadata.py,sha256=_ogwoo7NOExxVPml9h1vbbAryFiAVpuEuSBQsd_VRjU,2261
|
|
42
42
|
digitalhub/entities/_base/entity/spec.py,sha256=t0sPXHCb8zyWyMW_UvTfGyUkG_CUEGz427kvGhsQ8s0,1500
|
|
@@ -50,9 +50,9 @@ digitalhub/entities/_base/entity/_constructors/uuid.py,sha256=QzG0nsVpGU2UDD5Cjp
|
|
|
50
50
|
digitalhub/entities/_base/executable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
51
|
digitalhub/entities/_base/executable/entity.py,sha256=tNQmmABuY90eKWcxePPGu4iaZhDLyL9TdugKVcnnKSY,10079
|
|
52
52
|
digitalhub/entities/_base/material/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
-
digitalhub/entities/_base/material/entity.py,sha256=
|
|
53
|
+
digitalhub/entities/_base/material/entity.py,sha256=YYStZp5RGhugpThKI-iK9zX8u5jGYp6pQEW-s2mgnTU,6988
|
|
54
54
|
digitalhub/entities/_base/material/spec.py,sha256=jL1OohnYhUSrdTaFF3Rkw817jIjNY0ewm1wB3tgQ_9c,436
|
|
55
|
-
digitalhub/entities/_base/material/status.py,sha256=
|
|
55
|
+
digitalhub/entities/_base/material/status.py,sha256=mp5C-5JgfLNYPWdCZXYsaI3Ptu32RW9r_BQgvUjXELA,412
|
|
56
56
|
digitalhub/entities/_base/material/utils.py,sha256=TQzzwjaTdVUmeCTIiScSAEWJtrJFLv3q5C3-ID3sPjA,2446
|
|
57
57
|
digitalhub/entities/_base/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
58
|
digitalhub/entities/_base/project/entity.py,sha256=MwK80OCNKN_vxnPajJhErdLS4VQfIWydmfQrscf5OCc,10621
|
|
@@ -66,12 +66,12 @@ digitalhub/entities/_base/versioned/builder.py,sha256=0niRbqpCnHqBK0hTQxdrtUl43B
|
|
|
66
66
|
digitalhub/entities/_base/versioned/entity.py,sha256=xtvVJfmJTfCAA96va1-r7B2j7wbXlkutGMil--PWP4I,885
|
|
67
67
|
digitalhub/entities/_commons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
68
|
digitalhub/entities/_commons/enums.py,sha256=rifutpsNcssUN7JaSe5t0C4L2CeT89-7pD-_gbjbw58,1885
|
|
69
|
-
digitalhub/entities/_commons/models.py,sha256=
|
|
70
|
-
digitalhub/entities/_commons/utils.py,sha256=
|
|
69
|
+
digitalhub/entities/_commons/models.py,sha256=1zFR0bN5a-BptPj5vsXVzPStdFk5TMKEXp7gj9OuY8Q,192
|
|
70
|
+
digitalhub/entities/_commons/utils.py,sha256=YWjc_nlbDeBtcUa2isuThuVVBs6xFLPN-QE7s0DvedQ,2449
|
|
71
71
|
digitalhub/entities/_operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
72
|
-
digitalhub/entities/_operations/processor.py,sha256=
|
|
72
|
+
digitalhub/entities/_operations/processor.py,sha256=QVgPG0UyZCDspOvZqWkE4_cSJh7eQpMOr2ZFBYAL57o,49399
|
|
73
73
|
digitalhub/entities/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
74
|
-
digitalhub/entities/artifact/crud.py,sha256=
|
|
74
|
+
digitalhub/entities/artifact/crud.py,sha256=76466GQatBBgPvPqiSGcIA_Aqf96LS2-X_DKRnt4Ry4,7905
|
|
75
75
|
digitalhub/entities/artifact/utils.py,sha256=Sqjqi5VxIFnX7AFjUIPAhbZOV3ieqYJN8rgVKSfmN7I,1323
|
|
76
76
|
digitalhub/entities/artifact/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
77
77
|
digitalhub/entities/artifact/_base/builder.py,sha256=Ig9rxHkzhQMNEkcfwl9m0r33KZ3pjmQzW_lAbvsK7xs,2256
|
|
@@ -81,11 +81,11 @@ digitalhub/entities/artifact/_base/status.py,sha256=qG5KUOlEHWYZWYqLDvvuZxD5EjsV
|
|
|
81
81
|
digitalhub/entities/artifact/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
82
|
digitalhub/entities/artifact/artifact/builder.py,sha256=bmqnjMKgtHTp8khcRiCKx4zlmDkNE3yZ0xX--7rjYt4,758
|
|
83
83
|
digitalhub/entities/artifact/artifact/entity.py,sha256=hj6UlJMWnWimqizhKGcKpvOpcYHxTFTk6--nQazlnIM,882
|
|
84
|
-
digitalhub/entities/artifact/artifact/spec.py,sha256=
|
|
84
|
+
digitalhub/entities/artifact/artifact/spec.py,sha256=XAnk0YPlLEIglPZ9cP5-gJwJ5f143pJRHwl2tdBuVcw,632
|
|
85
85
|
digitalhub/entities/artifact/artifact/status.py,sha256=x-lTgO2KkjwzlJnEhIfUtF9rzJ1DTIAd3-Hn6ZeLRqo,305
|
|
86
86
|
digitalhub/entities/dataitem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
|
-
digitalhub/entities/dataitem/crud.py,sha256
|
|
88
|
-
digitalhub/entities/dataitem/utils.py,sha256=
|
|
87
|
+
digitalhub/entities/dataitem/crud.py,sha256=rbNv-9JmNA91BmRaMK5rw8binZTCzG_IJBi1zr6xq58,8502
|
|
88
|
+
digitalhub/entities/dataitem/utils.py,sha256=_L0JLBm5HwXhMikLCxu4dTo8qnsTFiIwSyPQZLNeVdU,4318
|
|
89
89
|
digitalhub/entities/dataitem/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
90
90
|
digitalhub/entities/dataitem/_base/builder.py,sha256=XZ5Ul-aBkx6ygpN9rhjNQOD-6jzJhulyM0WCD-f3big,2256
|
|
91
91
|
digitalhub/entities/dataitem/_base/entity.py,sha256=J8G7Xm_AKETg02RtNHlUyM-bmvT__HKu1Npv4Od037A,945
|
|
@@ -104,10 +104,10 @@ digitalhub/entities/dataitem/iceberg/status.py,sha256=XRj9i8a-dzjqB-Ci3cfPnXTikc
|
|
|
104
104
|
digitalhub/entities/dataitem/table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
105
|
digitalhub/entities/dataitem/table/builder.py,sha256=Ad5hgGQ8k0vWM2nCZG0crXKmlU6fMYFm8ybWB7FP3cQ,716
|
|
106
106
|
digitalhub/entities/dataitem/table/entity.py,sha256=yI3-GaWCifw0l0XGh2ol6U-nhyjVcXYok-al26jpEfM,4143
|
|
107
|
-
digitalhub/entities/dataitem/table/models.py,sha256=
|
|
107
|
+
digitalhub/entities/dataitem/table/models.py,sha256=NnCsxnW-fQ80Ufv8jMOtJEukbJzx0e4BWTAdXaZ0JKI,1161
|
|
108
108
|
digitalhub/entities/dataitem/table/spec.py,sha256=5boOI9zhIvuwIQo0th0E2941_rQEPIRIIYLhySbwbFY,671
|
|
109
109
|
digitalhub/entities/dataitem/table/status.py,sha256=28-_LoSg84x4OwLbRungCHk-ObuobZ5vKuzk1NoBGZA,198
|
|
110
|
-
digitalhub/entities/dataitem/table/utils.py,sha256=
|
|
110
|
+
digitalhub/entities/dataitem/table/utils.py,sha256=sctzcQeTPpW_YJC4rquu_J4rjv_NR6EoJTqMeAIPNvA,2447
|
|
111
111
|
digitalhub/entities/function/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
112
112
|
digitalhub/entities/function/crud.py,sha256=1-fRWVmOXVV305p0GW0n02FEcengw7QxLxxgxsCC7eM,6592
|
|
113
113
|
digitalhub/entities/function/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -116,23 +116,23 @@ digitalhub/entities/function/_base/entity.py,sha256=YYFxtLAZEhcWOzGlGjqRPXmGRb8w
|
|
|
116
116
|
digitalhub/entities/function/_base/spec.py,sha256=SjCtp3JBUTPTLMY_TE8wM1HPKVl7jH_wFEqQXBj1rfo,274
|
|
117
117
|
digitalhub/entities/function/_base/status.py,sha256=N-Z1hw13qV7kWFJLQPaH3rRZ2z7AvZeuWYER95lG344,170
|
|
118
118
|
digitalhub/entities/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
119
|
-
digitalhub/entities/model/crud.py,sha256=
|
|
119
|
+
digitalhub/entities/model/crud.py,sha256=rguVsQjCSNwSFOrSOdPYnhHAxHE09TqkxLZuqHBi8AE,7686
|
|
120
120
|
digitalhub/entities/model/utils.py,sha256=NNzD2AcIJzmV_Jo_8k5ZcSp2arKcZ07CCIYKn2lvoKM,1320
|
|
121
121
|
digitalhub/entities/model/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
122
122
|
digitalhub/entities/model/_base/builder.py,sha256=emYkEey98ddxcj_lHWsQG0cAu2BEDastvSrHVtoa6oU,2235
|
|
123
123
|
digitalhub/entities/model/_base/entity.py,sha256=va1Rf8vPHi2FEg1nPsmfaJBaaXG5EFABNuzLthiEFCI,5640
|
|
124
|
-
digitalhub/entities/model/_base/spec.py,sha256=
|
|
124
|
+
digitalhub/entities/model/_base/spec.py,sha256=enybK9mfNGncuMyQLL-HYeHkoe2Karau4R1zaSsX9Hc,865
|
|
125
125
|
digitalhub/entities/model/_base/status.py,sha256=-O-2EbjYnLpD1aV3Yg5GMMPpLZ8zk6Cv8B3UshLuMbk,435
|
|
126
126
|
digitalhub/entities/model/huggingface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
127
127
|
digitalhub/entities/model/huggingface/builder.py,sha256=JxPosF8QOaq1qxrWCD5wqaR2dnDXWb33-gxfhPuTFZ8,749
|
|
128
128
|
digitalhub/entities/model/huggingface/entity.py,sha256=BnBWrAmTA8cEM47sqpxQeCLCl4Wu7CbpFKhYvf8qLaA,873
|
|
129
|
-
digitalhub/entities/model/huggingface/spec.py,sha256=
|
|
129
|
+
digitalhub/entities/model/huggingface/spec.py,sha256=QLpHh4010Z3iuuN6Gk7Xka5_Xh1QM0exiyzQ1h9VJ4U,1199
|
|
130
130
|
digitalhub/entities/model/huggingface/status.py,sha256=ZFekC9oPuOpUmDcXMn-cpyXp2Jiiux46Vs4oPiiakIA,195
|
|
131
131
|
digitalhub/entities/model/mlflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
132
132
|
digitalhub/entities/model/mlflow/builder.py,sha256=NOc0hBEBOssQOHLnc-QIdUe_4B8wGTyu0AAGFtCT8_4,678
|
|
133
133
|
digitalhub/entities/model/mlflow/entity.py,sha256=RRRnRWlJZS4s9_Aj8PZfCmfw6tNJGUZpygQygAbxm8I,823
|
|
134
134
|
digitalhub/entities/model/mlflow/models.py,sha256=_ZjLk9-OZmQ1swpCtW3m7DDoMQlY7gfjPIog5ViJ6h4,666
|
|
135
|
-
digitalhub/entities/model/mlflow/spec.py,sha256=
|
|
135
|
+
digitalhub/entities/model/mlflow/spec.py,sha256=a3xg0q3B_eC_5ahP_-NOtymfzivKLI8Fj_XlcQ754kE,1327
|
|
136
136
|
digitalhub/entities/model/mlflow/status.py,sha256=bGTTWHAQt3cKFnGCdMinoWNIWzyVEkHi8ybqVT8xA5k,185
|
|
137
137
|
digitalhub/entities/model/mlflow/utils.py,sha256=44OrIIG04UpVIUfXJz9NLeFptVdKHIU6HycQF5IMXb8,2873
|
|
138
138
|
digitalhub/entities/model/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -146,36 +146,36 @@ digitalhub/entities/model/sklearn/entity.py,sha256=pPy4mOqOmbkqNkKFUnhrsIQNt2mGN
|
|
|
146
146
|
digitalhub/entities/model/sklearn/spec.py,sha256=Md0aKlfNHZ2fhZbJgp9wZxF0Hu6XIkcniQHCgwoRdkk,301
|
|
147
147
|
digitalhub/entities/model/sklearn/status.py,sha256=eqkPPtERX-6_BjPb_GD8j1FIeavpl43k-dfXZGqzGI0,187
|
|
148
148
|
digitalhub/entities/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
149
|
-
digitalhub/entities/project/crud.py,sha256=
|
|
149
|
+
digitalhub/entities/project/crud.py,sha256=1CL04IJBTass_6Oqund0RDdv1CQ35U3zTKViUFJYhXo,8591
|
|
150
150
|
digitalhub/entities/project/utils.py,sha256=zwm82RaIVLJNYrg70jRnGdsP0IVWW86y3OrHmakeBjM,1011
|
|
151
151
|
digitalhub/entities/project/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
152
|
digitalhub/entities/project/_base/builder.py,sha256=N1YPFZra7KMhmBynbeBWtvn3TwiBaBmSE5FfDPyUUG8,3645
|
|
153
153
|
digitalhub/entities/project/_base/entity.py,sha256=zoNo8vrMP1WuYbz7pHLFRfMGLaStKPUmQppllPqvPnU,47389
|
|
154
|
-
digitalhub/entities/project/_base/spec.py,sha256=
|
|
154
|
+
digitalhub/entities/project/_base/spec.py,sha256=t92M9KzEH986oybui7ZW924VhmqTcpVbvreyfpylwSs,1435
|
|
155
155
|
digitalhub/entities/project/_base/status.py,sha256=w1Hj_yFwr_5X7ZH7SmtZRto4qUdCWb010viFfvbqX48,168
|
|
156
156
|
digitalhub/entities/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
157
157
|
digitalhub/entities/run/crud.py,sha256=0_9zlW4aId4x1rGlvjOdAHkNaJwpR5vgLCuMt7rE-xE,4875
|
|
158
158
|
digitalhub/entities/run/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
159
159
|
digitalhub/entities/run/_base/builder.py,sha256=e4P4gegD1DjHv_-Rhe3bIkGfRwgRbC8J6hdSSw2M8b4,2454
|
|
160
160
|
digitalhub/entities/run/_base/entity.py,sha256=7T0VzeuX43wsOUvexb6eOPHdXqtFYsriXKc99FC_GHY,11750
|
|
161
|
-
digitalhub/entities/run/_base/spec.py,sha256=
|
|
161
|
+
digitalhub/entities/run/_base/spec.py,sha256=xUjFRxGopUMwOPY8L-8kdFtOFypGGY4wrbLPrt6ycGI,1722
|
|
162
162
|
digitalhub/entities/run/_base/status.py,sha256=956Mm7fl0Q5htRqgD7LiBLLLt7J9KVNWnGxnIS89vJM,499
|
|
163
163
|
digitalhub/entities/secret/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
164
|
-
digitalhub/entities/secret/crud.py,sha256=
|
|
164
|
+
digitalhub/entities/secret/crud.py,sha256=HNm8_UJYMAU5JIPWWyb4x9cFlHdGAhJRWroZalha5Ak,6902
|
|
165
165
|
digitalhub/entities/secret/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
166
166
|
digitalhub/entities/secret/_base/builder.py,sha256=XkSjyofbD_5fPLF05qSMRaD3xor7EzklS2Wu1qRxiYE,2195
|
|
167
167
|
digitalhub/entities/secret/_base/entity.py,sha256=Vi4jAhLUlDGBxfAQmmZvuv9Ou2-UdJL-IqJc90yIMCk,1798
|
|
168
|
-
digitalhub/entities/secret/_base/spec.py,sha256=
|
|
168
|
+
digitalhub/entities/secret/_base/spec.py,sha256=8xbvaLOlu79-SlrQW0MCfYIfxR7mkac2l1S-sbxbiY8,776
|
|
169
169
|
digitalhub/entities/secret/_base/status.py,sha256=TK9CUKA6eg9qegqgR9t-u1g-vEeFGB6v5dN9YJNukw8,166
|
|
170
170
|
digitalhub/entities/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
171
171
|
digitalhub/entities/task/crud.py,sha256=cLMklzom3ILxncu-Tz9HTO1JX6JeAZRHXuOaWbR9JAg,5333
|
|
172
172
|
digitalhub/entities/task/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
173
173
|
digitalhub/entities/task/_base/builder.py,sha256=21WEbycCR8yaOPcLLcAITaoQ4ZmBNXJXB-Oy0VfSPrg,2358
|
|
174
174
|
digitalhub/entities/task/_base/entity.py,sha256=hOTFxWgSrEs2UPrd9pDZAbdWnL_OrkHr6PwxnAkYG2A,3531
|
|
175
|
-
digitalhub/entities/task/_base/models.py,sha256=
|
|
175
|
+
digitalhub/entities/task/_base/models.py,sha256=v78h4VUvdrIm3jnM0WU-FUuglQbHKboxI9uzccRmqGs,5176
|
|
176
176
|
digitalhub/entities/task/_base/spec.py,sha256=4JsbQxx05UYjAerSNBCrLSjwMLYeMSqgPIYdkJhH7ik,2500
|
|
177
177
|
digitalhub/entities/task/_base/status.py,sha256=FCSSQscQ0dHEpXdc5vSrIkTXon9FNNOr0M1KVh2ZVAA,162
|
|
178
|
-
digitalhub/entities/task/_base/utils.py,sha256=
|
|
178
|
+
digitalhub/entities/task/_base/utils.py,sha256=faeAN7r_5q0KWDj1vrbVvFMcCpeMw7fK7vGScSpFZCI,448
|
|
179
179
|
digitalhub/entities/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
180
180
|
digitalhub/entities/workflow/crud.py,sha256=O_Zq30NG-cy7RU1GG88XNi8ids7vrRJAR95PTMYncGM,6517
|
|
181
181
|
digitalhub/entities/workflow/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -207,42 +207,32 @@ digitalhub/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
|
207
207
|
digitalhub/stores/api.py,sha256=7bspqJaexE8PKnVDotpAX3mgLsgcCNhrImD1kNI4heQ,560
|
|
208
208
|
digitalhub/stores/builder.py,sha256=6_19vEYnh3WYkgOY0h5xAjpFujMYR0oHF5PBDupsgnc,2314
|
|
209
209
|
digitalhub/stores/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
210
|
-
digitalhub/stores/_base/store.py,sha256=
|
|
210
|
+
digitalhub/stores/_base/store.py,sha256=0iyLfiJLPJu6XbUAtMDmKim6Th_YRzk8JnFQcuETwik,5227
|
|
211
211
|
digitalhub/stores/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
212
|
-
digitalhub/stores/local/store.py,sha256=
|
|
212
|
+
digitalhub/stores/local/store.py,sha256=aljhQYaILZlj_qltCcsLVn1pTZYPmgs0Jqc26VRHMpE,7412
|
|
213
213
|
digitalhub/stores/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
214
|
-
digitalhub/stores/remote/store.py,sha256=
|
|
214
|
+
digitalhub/stores/remote/store.py,sha256=wxB0t3zjKDSFgtKbT1-yPLT_Qm07UkpBCpZfHbD7BzM,6181
|
|
215
215
|
digitalhub/stores/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
216
216
|
digitalhub/stores/s3/configurator.py,sha256=t0Ct98_4WgvDm6MExaFzekUhJu5AtLd3XEAw9ALJkj8,3727
|
|
217
217
|
digitalhub/stores/s3/enums.py,sha256=tmSavz83jr6SBW-Gqn4D21TJpFytxvbtbW63htmZG2A,392
|
|
218
218
|
digitalhub/stores/s3/models.py,sha256=qeXeL7iP76EBO35wzP6bYeMj-sBOY634Tjwx8h3Di2g,371
|
|
219
|
-
digitalhub/stores/s3/store.py,sha256=
|
|
219
|
+
digitalhub/stores/s3/store.py,sha256=ggmtwsAYhhBJUgbIh22vXJUSJTHloCszyEQqF64g1sk,19237
|
|
220
220
|
digitalhub/stores/s3/utils.py,sha256=5ATkIRThtssu52dPrkWnK-nhD5pc6rlrHLNofjiQzt4,1500
|
|
221
221
|
digitalhub/stores/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
222
|
-
digitalhub/stores/sql/configurator.py,sha256=
|
|
223
|
-
digitalhub/stores/sql/enums.py,sha256=
|
|
222
|
+
digitalhub/stores/sql/configurator.py,sha256=Pg-89YZCNA6q6G46cI-PSVg80wIjFChjC74wxBSjhcc,3175
|
|
223
|
+
digitalhub/stores/sql/enums.py,sha256=FCpmIXxef6SQIX_564a1hYvaSVrpvld8gi7YAv25H-o,284
|
|
224
224
|
digitalhub/stores/sql/models.py,sha256=_itIXoCfRLzUpG0OaM44qbv2u87Lyl5e0tmAXNTvfjQ,349
|
|
225
|
-
digitalhub/stores/sql/store.py,sha256=
|
|
225
|
+
digitalhub/stores/sql/store.py,sha256=4i2j8h71E-lrGYI9kUzwLpZfonYjIY1osuTvy0s8CcA,11327
|
|
226
226
|
digitalhub/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
227
227
|
digitalhub/utils/exceptions.py,sha256=CGiRXx6OvYpjg6d9yEn2OvyfF0FA5n1l8uH6loCDoAY,1233
|
|
228
|
-
digitalhub/utils/file_utils.py,sha256=
|
|
229
|
-
digitalhub/utils/generic_utils.py,sha256=
|
|
228
|
+
digitalhub/utils/file_utils.py,sha256=qRb0ETNaQKwBlF5iwflDFlkrku5TvJXHHhxgHtAeS9w,5117
|
|
229
|
+
digitalhub/utils/generic_utils.py,sha256=8JKmfe1UMYqzrqfptMJZ7x-EvD1-zVNLfBcGoVl8Wcg,4870
|
|
230
230
|
digitalhub/utils/git_utils.py,sha256=air8jn73FxzSWRxpvObcdOJBWcFOqb5A7D4ISwPEs7A,3244
|
|
231
231
|
digitalhub/utils/io_utils.py,sha256=8jD4Rp_b7LZEpY5JSMxVUowZsnifKnbGpHT5Hijx9-g,3299
|
|
232
232
|
digitalhub/utils/logger.py,sha256=ml3ne6D8wuRdNZ4F6ywmvWotSxjmZWnmKgNiuHb4R5M,437
|
|
233
|
-
digitalhub/utils/
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
test/local/CRUD/test_artifacts.py,sha256=Y3J_C7SDRSsQd2SGIZjPIOvyTL92B1sTFrUONG3YG0Y,2968
|
|
240
|
-
test/local/CRUD/test_dataitems.py,sha256=LQqTzI59uwTGy4zoq8jL0yWVe2W9vXlatkgDU9aB6xg,2968
|
|
241
|
-
test/local/CRUD/test_models.py,sha256=msosbZuRwIMbZtmi3ZaOva4TjQ4lrzkNu9AguIFhrSo,2929
|
|
242
|
-
test/local/imports/test_imports.py,sha256=Z_RomI5EN_5KJUU1p7S1lLl7krTuEwB0L1cBtbXXoOA,1254
|
|
243
|
-
test/local/instances/test_validate.py,sha256=bGPKRFR_Tb5nlzzmI_ty_6UVUvYGseE2-pkNVoGWeO0,1842
|
|
244
|
-
digitalhub-0.10.0b2.dist-info/LICENSE.txt,sha256=qmrTTXPlgU0kSRlRVbjhlyGs1IXs2QPxo_Y-Mn06J0k,11589
|
|
245
|
-
digitalhub-0.10.0b2.dist-info/METADATA,sha256=t4q9tWFbz_YUduJulntoZJoaXVpFjj4SoH0cSnDRgJk,15368
|
|
246
|
-
digitalhub-0.10.0b2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
247
|
-
digitalhub-0.10.0b2.dist-info/top_level.txt,sha256=ae9pDfCF27ZoaVAxuBKONMP0lm5P-N_I-e-no1WlvD8,16
|
|
248
|
-
digitalhub-0.10.0b2.dist-info/RECORD,,
|
|
233
|
+
digitalhub/utils/types.py,sha256=pq5OVNLJx6ayTVa1SHgq1MzE-XUW4qipBFLzN1x0ovc,165
|
|
234
|
+
digitalhub/utils/uri_utils.py,sha256=6W3ITWcOwlpmA42rmgld7f2t1RpNF2pYXadWpmEQeBM,3832
|
|
235
|
+
digitalhub-0.10.0b4.dist-info/METADATA,sha256=GGLEMolKJZZ6CKcO3oqBtHBxcBQEnFKSXqg-1GkI4p4,15173
|
|
236
|
+
digitalhub-0.10.0b4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
237
|
+
digitalhub-0.10.0b4.dist-info/licenses/LICENSE.txt,sha256=qmrTTXPlgU0kSRlRVbjhlyGs1IXs2QPxo_Y-Mn06J0k,11589
|
|
238
|
+
digitalhub-0.10.0b4.dist-info/RECORD,,
|
|
@@ -1,96 +0,0 @@
|
|
|
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)
|
|
@@ -1,96 +0,0 @@
|
|
|
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)
|
test/local/CRUD/test_models.py
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
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)
|