digitalhub 0.9.0__py3-none-any.whl → 0.9.0b0__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 (34) hide show
  1. digitalhub/client/_base/client.py +20 -56
  2. digitalhub/client/dhcore/client.py +13 -16
  3. digitalhub/client/dhcore/enums.py +1 -2
  4. digitalhub/client/dhcore/utils.py +13 -13
  5. digitalhub/client/local/client.py +0 -2
  6. digitalhub/entities/_base/entity/entity.py +4 -6
  7. digitalhub/entities/_base/entity/metadata.py +1 -1
  8. digitalhub/entities/_base/material/entity.py +1 -1
  9. digitalhub/entities/_base/project/entity.py +1 -1
  10. digitalhub/entities/_base/unversioned/entity.py +1 -2
  11. digitalhub/entities/_base/versioned/entity.py +1 -2
  12. digitalhub/entities/_operations/processor.py +2 -128
  13. digitalhub/entities/function/_base/entity.py +3 -3
  14. digitalhub/entities/run/_base/spec.py +0 -4
  15. digitalhub/entities/task/_base/entity.py +9 -16
  16. digitalhub/entities/task/_base/models.py +0 -6
  17. digitalhub/entities/task/_base/spec.py +0 -6
  18. digitalhub/entities/workflow/_base/entity.py +4 -12
  19. digitalhub/stores/_base/store.py +2 -6
  20. digitalhub/stores/local/store.py +2 -6
  21. digitalhub/stores/remote/store.py +2 -6
  22. digitalhub/stores/s3/store.py +46 -100
  23. digitalhub/stores/sql/store.py +2 -10
  24. digitalhub/utils/s3_utils.py +0 -17
  25. {digitalhub-0.9.0.dist-info → digitalhub-0.9.0b0.dist-info}/LICENSE.txt +1 -1
  26. {digitalhub-0.9.0.dist-info → digitalhub-0.9.0b0.dist-info}/METADATA +2 -2
  27. {digitalhub-0.9.0.dist-info → digitalhub-0.9.0b0.dist-info}/RECORD +29 -34
  28. digitalhub/client/_base/key_builder.py +0 -52
  29. digitalhub/client/dhcore/key_builder.py +0 -58
  30. digitalhub/client/local/key_builder.py +0 -58
  31. digitalhub/runtimes/enums.py +0 -12
  32. test/local/instances/test_validate.py +0 -55
  33. {digitalhub-0.9.0.dist-info → digitalhub-0.9.0b0.dist-info}/WHEEL +0 -0
  34. {digitalhub-0.9.0.dist-info → digitalhub-0.9.0b0.dist-info}/top_level.txt +0 -0
@@ -4,20 +4,17 @@ digitalhub/client/api.py,sha256=JwYh4rFUaTeZ2MvUdhQiWEG1AZbrZjRYMhJHoDRnk30,586
4
4
  digitalhub/client/builder.py,sha256=83PoMCus4s4nbkoWmvcjW2hIpXbNx74sUW93wgQgbuo,1195
5
5
  digitalhub/client/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  digitalhub/client/_base/api_builder.py,sha256=kB0phBqaPTLayyXyA1GbHgnbo4bBkadBtimznVB3-jc,339
7
- digitalhub/client/_base/client.py,sha256=Z2iVRCyEzR1-B2uUh9uGQVuCpLFOE0UL64kEXhyf2aI,2974
8
- digitalhub/client/_base/key_builder.py,sha256=xl3jM7z2eLP6HfPXusmZyLqsvfKHQfxfZ3SWPS7MHuk,1155
7
+ digitalhub/client/_base/client.py,sha256=wXHfHQANnv_2AlW6yh7dnxI3i0bBASsP_gYSbc-YQHk,2063
9
8
  digitalhub/client/dhcore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
9
  digitalhub/client/dhcore/api_builder.py,sha256=IkRnANGG3dQmu4t1KmSnpDxGqkZDnJpBP9CcUhWZliQ,3652
11
- digitalhub/client/dhcore/client.py,sha256=rYNSv-UpxoksaZki19A4pCch0tHlGIId9eDuFCfdxDk,21297
12
- digitalhub/client/dhcore/enums.py,sha256=kaVXZTTa2WmsFbcc1CKWNLOM0JtUtcjL-KpspnTOhEE,523
10
+ digitalhub/client/dhcore/client.py,sha256=GXAL1UQGO5wU_36KnlOTyjLIsYt9YdmeCJo3hw_jOUU,21078
11
+ digitalhub/client/dhcore/enums.py,sha256=CSmLJxMNCLj7pjrG_On_cJ1f_g_yjCULpHhtJdCNI6c,472
13
12
  digitalhub/client/dhcore/env.py,sha256=zBUNbK8G8PyMGAw_65BnX2Z_WUkrmTyQmYhLE6Jqgvk,618
14
- digitalhub/client/dhcore/key_builder.py,sha256=VyyHk18rs1z8FKoRXGD2glb_WCipCWoYsS50_jYQpC4,1317
15
13
  digitalhub/client/dhcore/models.py,sha256=KiTg5xR8EzI7Xa1pmYmzixabLdnqlnn5kn-IILZDGIw,900
16
- digitalhub/client/dhcore/utils.py,sha256=I6m26WiGMCEyPa6Yv5hk3nmqWV4jDFjYyI590f86Ebs,3136
14
+ digitalhub/client/dhcore/utils.py,sha256=7nHGkDnSy4N-y3SX4UJ3KtAbOGPoDvhNql8p-u5y-Sw,3058
17
15
  digitalhub/client/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
16
  digitalhub/client/local/api_builder.py,sha256=WR24zuWguJqzUkD7xReO12LtvSkn020UG6LKFcKq77g,3592
19
- digitalhub/client/local/client.py,sha256=3DZI4UOrIJ0C03uhbvmKFpeoe2wY7IhBUHO92yzCikQ,17460
20
- digitalhub/client/local/key_builder.py,sha256=jO5RHMRe5bxygX3rbD7TOqBafvO6FJcEOymsnJbjyuY,1316
17
+ digitalhub/client/local/client.py,sha256=WLpEymgxysRLDdMGm9ds4kKOqHqEXk8MmrU01NR938o,17338
21
18
  digitalhub/context/api.py,sha256=un-_HU7JC3t-eQKleVJ9cCDS8BtQFRHSrP3VDHs3gPU,1099
22
19
  digitalhub/context/builder.py,sha256=ibsjwCbll4RbNc_NplAn-8cX0J8GIXyY41KjtcvlsI4,2037
23
20
  digitalhub/context/context.py,sha256=-xn3ZHNqoifUdRF4vwmLzOkfQrEheFPDQNk2J-q47EI,1456
@@ -30,8 +27,8 @@ digitalhub/entities/_base/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
30
27
  digitalhub/entities/_base/context/entity.py,sha256=4IWC6f0YKpEBPCXrKlkkvnOqT1urQ4mbjwre4LUWxk4,3270
31
28
  digitalhub/entities/_base/entity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
29
  digitalhub/entities/_base/entity/builder.py,sha256=vegnR3aBLhuA371vFVQvMXX4KfpVFl-Z7h1ydt6r6Hg,4518
33
- digitalhub/entities/_base/entity/entity.py,sha256=BFVKE5CToh4JOdwseAGMhdpoCiD3kaGRhNA9SuRCixE,3223
34
- digitalhub/entities/_base/entity/metadata.py,sha256=_ogwoo7NOExxVPml9h1vbbAryFiAVpuEuSBQsd_VRjU,2261
30
+ digitalhub/entities/_base/entity/entity.py,sha256=5QP7ZFZ3fjdC6dL26J4TAc_gAsz4esTYR97PIRiwk04,3162
31
+ digitalhub/entities/_base/entity/metadata.py,sha256=rQaDCJE5GfSSIJT5UgXcbUQth5b8BTbv8N_RLaEzLjI,2261
35
32
  digitalhub/entities/_base/entity/spec.py,sha256=t0sPXHCb8zyWyMW_UvTfGyUkG_CUEGz427kvGhsQ8s0,1500
36
33
  digitalhub/entities/_base/entity/status.py,sha256=NHB1kLHefoMhhkt_2BFPNojbWMW_Nc8TTGFQNOiyOt0,1044
37
34
  digitalhub/entities/_base/entity/_constructors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -43,25 +40,25 @@ digitalhub/entities/_base/entity/_constructors/uuid.py,sha256=QzG0nsVpGU2UDD5Cjp
43
40
  digitalhub/entities/_base/executable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
41
  digitalhub/entities/_base/executable/entity.py,sha256=tNQmmABuY90eKWcxePPGu4iaZhDLyL9TdugKVcnnKSY,10079
45
42
  digitalhub/entities/_base/material/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- digitalhub/entities/_base/material/entity.py,sha256=Gm87nZCKUIredCEucqwZ5T_QGG6cjSuWXKzrw15w-l4,6930
43
+ digitalhub/entities/_base/material/entity.py,sha256=J262BLNeW9yYE_W_K07tnvigSI3BJzIXrPlxqow44M0,6914
47
44
  digitalhub/entities/_base/material/spec.py,sha256=jL1OohnYhUSrdTaFF3Rkw817jIjNY0ewm1wB3tgQ_9c,436
48
45
  digitalhub/entities/_base/material/status.py,sha256=I9yxNLHvsHSRDkKcKGPxlPJrJ7grsrxHxId06wtqVXk,383
49
46
  digitalhub/entities/_base/material/utils.py,sha256=EL-p6XEYlPxQ33II2ish2sVx3hIdPcrgbSh5om7Xfls,2427
50
47
  digitalhub/entities/_base/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- digitalhub/entities/_base/project/entity.py,sha256=MwK80OCNKN_vxnPajJhErdLS4VQfIWydmfQrscf5OCc,10621
48
+ digitalhub/entities/_base/project/entity.py,sha256=oASIIm1eZH9KCUrtfJDWkL_BjJf6tev0RWFu6Y63T0s,10587
52
49
  digitalhub/entities/_base/runtime_entity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
50
  digitalhub/entities/_base/runtime_entity/builder.py,sha256=vZBftdOrAUICoEJXbqOyozrbMxNRqqoVVxDVjKs2GnI,2414
54
51
  digitalhub/entities/_base/unversioned/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
52
  digitalhub/entities/_base/unversioned/builder.py,sha256=ChEhRXlu1BGNmMHOMu9i9kVMu3uFtwxmgiTO4Il_5oU,1834
56
- digitalhub/entities/_base/unversioned/entity.py,sha256=eQ9BKtqr7-UPgS4fkNdFX2Uh-YddfYrfFmk4Y-6uj7w,862
53
+ digitalhub/entities/_base/unversioned/entity.py,sha256=fNz1dprqbN5y7DJ0cWIibaIEPifCGlzccCJyYglQ-K0,778
57
54
  digitalhub/entities/_base/versioned/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
55
  digitalhub/entities/_base/versioned/builder.py,sha256=0niRbqpCnHqBK0hTQxdrtUl43BbJuGXMLVbruhpUUuU,1896
59
- digitalhub/entities/_base/versioned/entity.py,sha256=xtvVJfmJTfCAA96va1-r7B2j7wbXlkutGMil--PWP4I,885
56
+ digitalhub/entities/_base/versioned/entity.py,sha256=tGu1n2rQ0bRnc6SfUyH8aDp0IhuNwR42PuZSGRmYo2k,802
60
57
  digitalhub/entities/_commons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
58
  digitalhub/entities/_commons/enums.py,sha256=pjhbOMzAABRPbV6XNt-2Lyn2kLWIFBAwpeboCtvnz1w,1861
62
59
  digitalhub/entities/_commons/utils.py,sha256=_HL6zFSCL_2ug4LpXcxK1MJQQhWL34wj1B2q0Ie0TKU,1792
63
60
  digitalhub/entities/_operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
- digitalhub/entities/_operations/processor.py,sha256=baQA_L-NFU5uDfP4M2d3B9VLerbmjK3pFKUkZDZI2Sg,49470
61
+ digitalhub/entities/_operations/processor.py,sha256=5RjHDkoI-IjdEL0HF9QOn_XH5mcmrWsA9OO0r5NejdE,46641
65
62
  digitalhub/entities/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
63
  digitalhub/entities/artifact/crud.py,sha256=y69PyoWAYOx-Pl_wnds3M0xSLNbADpdV_xG4zElJ0aI,7824
67
64
  digitalhub/entities/artifact/utils.py,sha256=NNzD2AcIJzmV_Jo_8k5ZcSp2arKcZ07CCIYKn2lvoKM,1320
@@ -103,7 +100,7 @@ digitalhub/entities/function/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
103
100
  digitalhub/entities/function/crud.py,sha256=1-fRWVmOXVV305p0GW0n02FEcengw7QxLxxgxsCC7eM,6592
104
101
  digitalhub/entities/function/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
102
  digitalhub/entities/function/_base/builder.py,sha256=xTVOpH3GYU-BqtzMEuI3uMtLLvF9IYfrVYMVPkkJc2g,2035
106
- digitalhub/entities/function/_base/entity.py,sha256=YYFxtLAZEhcWOzGlGjqRPXmGRb8wBK1KOXyVPo9ZGSw,3093
103
+ digitalhub/entities/function/_base/entity.py,sha256=VhUQsC5EyJQpCU6FMDRqLIrlJt18g8I6AKd1ZO7320U,3100
107
104
  digitalhub/entities/function/_base/spec.py,sha256=SjCtp3JBUTPTLMY_TE8wM1HPKVl7jH_wFEqQXBj1rfo,274
108
105
  digitalhub/entities/function/_base/status.py,sha256=N-Z1hw13qV7kWFJLQPaH3rRZ2z7AvZeuWYER95lG344,170
109
106
  digitalhub/entities/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -149,7 +146,7 @@ digitalhub/entities/run/crud.py,sha256=0_9zlW4aId4x1rGlvjOdAHkNaJwpR5vgLCuMt7rE-
149
146
  digitalhub/entities/run/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
147
  digitalhub/entities/run/_base/builder.py,sha256=e4P4gegD1DjHv_-Rhe3bIkGfRwgRbC8J6hdSSw2M8b4,2454
151
148
  digitalhub/entities/run/_base/entity.py,sha256=-bQqY1vhEsAaBYwXIzQwiFKmwA9FPH3wJ9XtennWvKo,7549
152
- digitalhub/entities/run/_base/spec.py,sha256=nAyIAcnIXgGEhyI1TvOhZfKxB2ZC25VuFhAECgG--KU,1673
149
+ digitalhub/entities/run/_base/spec.py,sha256=EDF9oVjR7pkIc2Tp-K56pge5tLYNjiXVPrpmUSgRnNA,1500
153
150
  digitalhub/entities/run/_base/status.py,sha256=_oqF8AM-N6XGi-xc-xgthdmCpsuI_rGgVaNKgQ4UDJQ,160
154
151
  digitalhub/entities/secret/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
152
  digitalhub/entities/secret/crud.py,sha256=tKXNHqpxCsBMOYtHadQz70-mcExskdQ8Lt9lezmiZzU,6816
@@ -162,16 +159,16 @@ digitalhub/entities/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
162
159
  digitalhub/entities/task/crud.py,sha256=_TOgqPvD4bOcfxMPJLCzPe4fz_87AP27RG5cC2941oY,5199
163
160
  digitalhub/entities/task/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
161
  digitalhub/entities/task/_base/builder.py,sha256=21WEbycCR8yaOPcLLcAITaoQ4ZmBNXJXB-Oy0VfSPrg,2358
165
- digitalhub/entities/task/_base/entity.py,sha256=hOTFxWgSrEs2UPrd9pDZAbdWnL_OrkHr6PwxnAkYG2A,3531
166
- digitalhub/entities/task/_base/models.py,sha256=lrkQfKEqqMboiDgtqVdTdlFx4FCH_ksJ2Jku1nK6ARw,4741
167
- digitalhub/entities/task/_base/spec.py,sha256=2p_QmhXdTXFrkwNyXtEgzUmc4YyedjS-zsnWsvxJDjw,2412
162
+ digitalhub/entities/task/_base/entity.py,sha256=KGueJ64puhS7DAzG0_-XZSlUmVIOPOFJbtj1S8iWrpg,3179
163
+ digitalhub/entities/task/_base/models.py,sha256=kfOclRdqrE_FJuYpp9VRcFXZIFOOhFoTHGX9fF8jewQ,4622
164
+ digitalhub/entities/task/_base/spec.py,sha256=kocTiJHyl2z4te9t8ZDSU7bhQOjUXgvAnytMV8ZNZUA,2154
168
165
  digitalhub/entities/task/_base/status.py,sha256=FCSSQscQ0dHEpXdc5vSrIkTXon9FNNOr0M1KVh2ZVAA,162
169
166
  digitalhub/entities/task/_base/utils.py,sha256=P0ajA8SQcDaEC9BBIIc_M8UL1_qBcZE8loUTkP7xVYY,436
170
167
  digitalhub/entities/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
168
  digitalhub/entities/workflow/crud.py,sha256=O_Zq30NG-cy7RU1GG88XNi8ids7vrRJAR95PTMYncGM,6517
172
169
  digitalhub/entities/workflow/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
170
  digitalhub/entities/workflow/_base/builder.py,sha256=wRgot2pbXjc-Cw549uDo1zFOGKdE7wVqxCboeNoXe-Q,2035
174
- digitalhub/entities/workflow/_base/entity.py,sha256=yQKsoJqWRRgYVQJ0wWvu4krx1DpRM9JL4Irb_874Kqs,2516
171
+ digitalhub/entities/workflow/_base/entity.py,sha256=TFteC2Bpg71qrQ0ni9qnowZUYT3WQ_toEmt2BJIdUeM,2228
175
172
  digitalhub/entities/workflow/_base/spec.py,sha256=UoKOUEqKDFACQwctDWfwhro77m3kvjhLDGOhhfRvEzQ,274
176
173
  digitalhub/entities/workflow/_base/status.py,sha256=W0j0CNdu9o2vbk0awpnDrpgwf_fZpgdtct4s0BxRdyk,170
177
174
  digitalhub/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -192,20 +189,19 @@ digitalhub/readers/pandas/reader.py,sha256=pdBKUWiKettQmh6N48LYOfnwqrOWoo-GpHdSB
192
189
  digitalhub/runtimes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
190
  digitalhub/runtimes/_base.py,sha256=uDvSXAEytZr-BFpj1BA59vdERBk79j5pTDiG0__tazA,2510
194
191
  digitalhub/runtimes/builder.py,sha256=CtwutbxRdLo6Qj5PfvmYnCusRG89yS1jI4Qu-Ha3XGY,705
195
- digitalhub/runtimes/enums.py,sha256=hhGNyuBcchqCcDKdR_foOyeNJn41nHCNEyRmoxE5dNA,182
196
192
  digitalhub/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
193
  digitalhub/stores/api.py,sha256=TwD8WXVuEPwtrmcyhP9SC0i7xkVHov5fpu94nHhZRHg,994
198
194
  digitalhub/stores/builder.py,sha256=kraGDfgV5cZ2QivXTWwbyz1FgAehgjlL9dmI6dxEc0U,5927
199
195
  digitalhub/stores/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
200
- digitalhub/stores/_base/store.py,sha256=QscqsAAgvYX9bAsoADKs0SkLahmMvvEHZ_NsBj2ri6k,5295
196
+ digitalhub/stores/_base/store.py,sha256=Wc3bHLELO3WW7aQ5Dy9tqHh2nOx7L80cZ1tDwwpb1sQ,5255
201
197
  digitalhub/stores/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
- digitalhub/stores/local/store.py,sha256=_-0JEnGCEcKUrLeB2xf_CDGuSeAEXcNyX6JCvSWkU3M,6766
198
+ digitalhub/stores/local/store.py,sha256=nwOvLvM-DLSqsjlYZLLSoy2pr4pMnaunrwUSi2yNJco,6726
203
199
  digitalhub/stores/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
- digitalhub/stores/remote/store.py,sha256=g9u87NBfFBasHWSTn82ZRZ0QttpYpX_Y0g16xO1r-AQ,4234
200
+ digitalhub/stores/remote/store.py,sha256=NdA63gyWVKXHlxjoOqi8Vx1jttXDU4GcU0zohV9utjk,4194
205
201
  digitalhub/stores/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
206
- digitalhub/stores/s3/store.py,sha256=CzjdMyatPps8uW4HFKz-OZcOUlVlGebUX4jxrzp48Eg,16912
202
+ digitalhub/stores/s3/store.py,sha256=sM2hvSGxf5S6l80GpDzxyr3_v-wAYoMfV-oOiF6TOpc,16263
207
203
  digitalhub/stores/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
- digitalhub/stores/sql/store.py,sha256=jhulvAIacR0HAomv25PCxG3mr6BKhF-9c9k0D5ruCQ8,10482
204
+ digitalhub/stores/sql/store.py,sha256=epL1TGvWPFjpKBGxqkrfMOEA9-fjakNVbQwSo-YhfNw,10411
209
205
  digitalhub/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
206
  digitalhub/utils/data_utils.py,sha256=2eETyxml610Ij7uyDnNc3YiELl2WFLIkj3FL4y6EPk8,2733
211
207
  digitalhub/utils/exceptions.py,sha256=pL2C3vTCscHsjpqDqGN3OXu0bBn7NL9ENOoM2S37CyE,1139
@@ -214,7 +210,7 @@ digitalhub/utils/generic_utils.py,sha256=5flGSQ50UyzUtlnLPyIhZ6blijPGFxPITukfH-y
214
210
  digitalhub/utils/git_utils.py,sha256=aFYL1cpfY-2VnlW7eHmjjjlTLECc5UUUfjb_IQPOY5k,3244
215
211
  digitalhub/utils/io_utils.py,sha256=8jD4Rp_b7LZEpY5JSMxVUowZsnifKnbGpHT5Hijx9-g,3299
216
212
  digitalhub/utils/logger.py,sha256=ml3ne6D8wuRdNZ4F6ywmvWotSxjmZWnmKgNiuHb4R5M,437
217
- digitalhub/utils/s3_utils.py,sha256=kbET2FL7UXfqBMgSpky-E3wO5SMjpaLbIAFtnGe2pXU,1383
213
+ digitalhub/utils/s3_utils.py,sha256=oXLzp4K7o45IwK0XOMt4OElDyB09fKRic5WTNA82WUA,1113
218
214
  digitalhub/utils/uri_utils.py,sha256=IUbR9PjxHr2VghxRG3iyCGpMPSLvL17JLKLZp8kXsgg,3272
219
215
  test/test_crud_functions.py,sha256=tQs_QBaPCuYVSBpbl-he5_6jr_tteCXVmohj1ZluNsA,2769
220
216
  test/test_crud_runs.py,sha256=lkssy15UPJKymgazmi5gG6RLxyTsG-tM_CpNCowD2gQ,2220
@@ -225,9 +221,8 @@ test/local/CRUD/test_artifacts.py,sha256=Y3J_C7SDRSsQd2SGIZjPIOvyTL92B1sTFrUONG3
225
221
  test/local/CRUD/test_dataitems.py,sha256=LQqTzI59uwTGy4zoq8jL0yWVe2W9vXlatkgDU9aB6xg,2968
226
222
  test/local/CRUD/test_models.py,sha256=msosbZuRwIMbZtmi3ZaOva4TjQ4lrzkNu9AguIFhrSo,2929
227
223
  test/local/imports/test_imports.py,sha256=W-YugO0rpJwvtWp57MXaXfEmE-f5iWuCiLY-n0ZU4z8,1271
228
- test/local/instances/test_validate.py,sha256=bGPKRFR_Tb5nlzzmI_ty_6UVUvYGseE2-pkNVoGWeO0,1842
229
- digitalhub-0.9.0.dist-info/LICENSE.txt,sha256=qmrTTXPlgU0kSRlRVbjhlyGs1IXs2QPxo_Y-Mn06J0k,11589
230
- digitalhub-0.9.0.dist-info/METADATA,sha256=ZqP2_g1Syi4Gjh7THCipyW_ytmZ1PKjFcRRP7ra1134,15318
231
- digitalhub-0.9.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
232
- digitalhub-0.9.0.dist-info/top_level.txt,sha256=ae9pDfCF27ZoaVAxuBKONMP0lm5P-N_I-e-no1WlvD8,16
233
- digitalhub-0.9.0.dist-info/RECORD,,
224
+ digitalhub-0.9.0b0.dist-info/LICENSE.txt,sha256=_yVOtnbW7Ss28mp058UEEc1X4Rgj8-kQBP_kj8_Sc88,11585
225
+ digitalhub-0.9.0b0.dist-info/METADATA,sha256=moaWh_7G0-OFP0ZOg2bjOlIUM_8XsasvBKFNxti4stw,15316
226
+ digitalhub-0.9.0b0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
227
+ digitalhub-0.9.0b0.dist-info/top_level.txt,sha256=ae9pDfCF27ZoaVAxuBKONMP0lm5P-N_I-e-no1WlvD8,16
228
+ digitalhub-0.9.0b0.dist-info/RECORD,,
@@ -1,52 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from abc import abstractmethod
4
-
5
- from digitalhub.entities._commons.enums import ApiCategories
6
-
7
-
8
- class ClientKeyBuilder:
9
- """
10
- Class that build the key of entities.
11
- """
12
-
13
- def build_key(self, category: str, *args, **kwargs) -> str:
14
- """
15
- Build key.
16
-
17
- Parameters
18
- ----------
19
- category : str
20
- Key category.
21
- *args : tuple
22
- Positional arguments.
23
- **kwargs : dict
24
- Keyword arguments.
25
-
26
- Returns
27
- -------
28
- str
29
- Key.
30
- """
31
- if category == ApiCategories.BASE.value:
32
- return self.base_entity_key(*args, **kwargs)
33
- return self.context_entity_key(*args, **kwargs)
34
-
35
- @abstractmethod
36
- def base_entity_key(self, entity_id: str) -> str:
37
- """
38
- Build for base entity key.
39
- """
40
-
41
- @abstractmethod
42
- def context_entity_key(
43
- self,
44
- project: str,
45
- entity_type: str,
46
- entity_kind: str,
47
- entity_name: str,
48
- entity_id: str | None = None,
49
- ) -> str:
50
- """
51
- Build for context entity key.
52
- """
@@ -1,58 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.client._base.key_builder import ClientKeyBuilder
4
-
5
-
6
- class ClientDHCoreKeyBuilder(ClientKeyBuilder):
7
- """
8
- Class that build the key of entities.
9
- """
10
-
11
- def base_entity_key(self, entity_id: str) -> str:
12
- """
13
- Build for base entity key.
14
-
15
- Parameters
16
- ----------
17
- entity_id : str
18
- Entity id.
19
-
20
- Returns
21
- -------
22
- str
23
- Key.
24
- """
25
- return f"store://{entity_id}"
26
-
27
- def context_entity_key(
28
- self,
29
- project: str,
30
- entity_type: str,
31
- entity_kind: str,
32
- entity_name: str,
33
- entity_id: str | None = None,
34
- ) -> str:
35
- """
36
- Build for context entity key.
37
-
38
- Parameters
39
- ----------
40
- project : str
41
- Project name.
42
- entity_type : str
43
- Entity type.
44
- entity_kind : str
45
- Entity kind.
46
- entity_name : str
47
- Entity name.
48
- entity_id : str
49
- Entity ID.
50
-
51
- Returns
52
- -------
53
- str
54
- Key.
55
- """
56
- if entity_id is None:
57
- return f"store://{project}/{entity_type}/{entity_kind}/{entity_name}"
58
- return f"store://{project}/{entity_type}/{entity_kind}/{entity_name}:{entity_id}"
@@ -1,58 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from digitalhub.client._base.key_builder import ClientKeyBuilder
4
-
5
-
6
- class ClientLocalKeyBuilder(ClientKeyBuilder):
7
- """
8
- Class that build the key of entities.
9
- """
10
-
11
- def base_entity_key(self, entity_id: str) -> str:
12
- """
13
- Build for base entity key.
14
-
15
- Parameters
16
- ----------
17
- entity_id : str
18
- Entity id.
19
-
20
- Returns
21
- -------
22
- str
23
- Key.
24
- """
25
- return f"store://{entity_id}"
26
-
27
- def context_entity_key(
28
- self,
29
- project: str,
30
- entity_type: str,
31
- entity_kind: str,
32
- entity_name: str,
33
- entity_id: str | None = None,
34
- ) -> str:
35
- """
36
- Build for context entity key.
37
-
38
- Parameters
39
- ----------
40
- project : str
41
- Project name.
42
- entity_type : str
43
- Entity type.
44
- entity_kind : str
45
- Entity kind.
46
- entity_name : str
47
- Entity name.
48
- entity_id : str
49
- Entity ID.
50
-
51
- Returns
52
- -------
53
- str
54
- Key.
55
- """
56
- if entity_id is None:
57
- return f"store://{project}/{entity_type}/{entity_kind}/{entity_name}"
58
- return f"store://{project}/{entity_type}/{entity_kind}/{entity_name}:{entity_id}"
@@ -1,12 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from enum import Enum
4
-
5
-
6
- class RuntimeEnvVar(Enum):
7
- """
8
- Environment variables.
9
- """
10
-
11
- PROJECT = "PROJECT_NAME"
12
- RUN_ID = "RUN_ID"
@@ -1,55 +0,0 @@
1
- import os
2
- import pytest
3
- from glob import glob
4
- from pathlib import Path
5
- import json
6
- from jsonschema import validate
7
- from digitalhub.factory.factory import factory
8
-
9
- entities_path = "test/local/instances/entities"
10
- schemas_path = "test/local/instances/schemas"
11
-
12
- # Build dict: kind -> path to schema file
13
- schemas = {}
14
- for path_to_schema in glob(f"{schemas_path}/**/*.json", recursive=True):
15
- kind = Path(path_to_schema).stem
16
- schemas[kind] = path_to_schema
17
-
18
- # Build dict: name of file to validate -> full path to file
19
- entity_paths = {}
20
- for path_to_file in glob(f"{entities_path}/**/*.json", recursive=True):
21
- file_name = os.path.basename(path_to_file)
22
-
23
- # If a file in a nested directory causes a name collision, use its full path as name
24
- if file_name in entity_paths:
25
- file_name = path_to_file
26
-
27
- entity_paths[file_name] = path_to_file
28
-
29
- # Build object from JSON file using factory
30
- def build_obj(entity_file_path):
31
- with open(entity_file_path) as f:
32
- entity = json.load(f)
33
-
34
- kind = entity["kind"]
35
- spec = entity["spec"]
36
-
37
- built = factory.build_spec(kind, **spec)
38
- return built.to_dict(), kind
39
-
40
- # Validate built object against its kind's schema
41
- def is_valid(built, kind):
42
- with open(schemas[kind]) as schema_file:
43
- schema = json.load(schema_file)
44
-
45
- validate(instance=built, schema=schema)
46
- return True
47
-
48
- # Tests that each JSON file contained in the specified path can successfully be
49
- # used to generate an object through the factory, and that each generated object,
50
- # when exported to dict, validates (through jsonschema) against its kind's schema.
51
- class TestValidate:
52
- @pytest.mark.parametrize('file_name', list(entity_paths.keys()))
53
- def test_validate(self, file_name):
54
- built, kind = build_obj(f"{entity_paths[file_name]}")
55
- assert is_valid(built, kind)