digitalhub 0.10.0b5__py3-none-any.whl → 0.10.0b6__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 (49) hide show
  1. digitalhub/client/_base/api_builder.py +1 -1
  2. digitalhub/client/_base/client.py +22 -0
  3. digitalhub/client/_base/params_builder.py +16 -0
  4. digitalhub/client/dhcore/api_builder.py +4 -3
  5. digitalhub/client/dhcore/client.py +4 -0
  6. digitalhub/client/dhcore/configurator.py +22 -0
  7. digitalhub/client/dhcore/params_builder.py +174 -0
  8. digitalhub/client/local/api_builder.py +4 -1
  9. digitalhub/client/local/client.py +6 -0
  10. digitalhub/client/local/params_builder.py +116 -0
  11. digitalhub/entities/_base/context/entity.py +4 -4
  12. digitalhub/entities/_base/executable/entity.py +2 -2
  13. digitalhub/entities/_base/material/entity.py +3 -3
  14. digitalhub/entities/_base/unversioned/entity.py +2 -2
  15. digitalhub/entities/_base/versioned/entity.py +2 -2
  16. digitalhub/entities/_commons/enums.py +1 -0
  17. digitalhub/entities/_commons/metrics.py +164 -0
  18. digitalhub/entities/_commons/utils.py +0 -26
  19. digitalhub/entities/_processors/base.py +527 -0
  20. digitalhub/entities/{_operations/processor.py → _processors/context.py} +85 -739
  21. digitalhub/entities/_processors/utils.py +158 -0
  22. digitalhub/entities/artifact/crud.py +10 -10
  23. digitalhub/entities/dataitem/crud.py +10 -10
  24. digitalhub/entities/function/crud.py +9 -9
  25. digitalhub/entities/model/_base/entity.py +26 -78
  26. digitalhub/entities/model/_base/status.py +1 -1
  27. digitalhub/entities/model/crud.py +10 -10
  28. digitalhub/entities/project/_base/entity.py +317 -9
  29. digitalhub/entities/project/crud.py +10 -9
  30. digitalhub/entities/run/_base/entity.py +32 -84
  31. digitalhub/entities/run/_base/status.py +1 -1
  32. digitalhub/entities/run/crud.py +8 -8
  33. digitalhub/entities/secret/_base/entity.py +3 -3
  34. digitalhub/entities/secret/crud.py +9 -9
  35. digitalhub/entities/task/_base/entity.py +4 -4
  36. digitalhub/entities/task/_base/models.py +10 -0
  37. digitalhub/entities/task/crud.py +8 -8
  38. digitalhub/entities/workflow/crud.py +9 -9
  39. digitalhub/stores/s3/enums.py +7 -7
  40. digitalhub/stores/sql/enums.py +6 -6
  41. digitalhub/utils/git_utils.py +16 -9
  42. {digitalhub-0.10.0b5.dist-info → digitalhub-0.10.0b6.dist-info}/METADATA +1 -4
  43. {digitalhub-0.10.0b5.dist-info → digitalhub-0.10.0b6.dist-info}/RECORD +46 -43
  44. digitalhub/entities/_base/project/entity.py +0 -341
  45. digitalhub/entities/_commons/models.py +0 -13
  46. digitalhub/entities/_operations/__init__.py +0 -0
  47. /digitalhub/entities/{_base/project → _processors}/__init__.py +0 -0
  48. {digitalhub-0.10.0b5.dist-info → digitalhub-0.10.0b6.dist-info}/WHEEL +0 -0
  49. {digitalhub-0.10.0b5.dist-info → digitalhub-0.10.0b6.dist-info}/licenses/LICENSE.txt +0 -0
@@ -3,23 +3,26 @@ digitalhub/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
3
3
  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
- digitalhub/client/_base/api_builder.py,sha256=kB0phBqaPTLayyXyA1GbHgnbo4bBkadBtimznVB3-jc,339
7
- digitalhub/client/_base/client.py,sha256=juK9kXhiUYfTtf5dO1_Ldq5Klj-GiH65SVgBo2cyBpQ,2995
6
+ digitalhub/client/_base/api_builder.py,sha256=2-3JPP9Q1xYvBbrxFYaw2cChC6zwDregpRtFwuowdF8,380
7
+ digitalhub/client/_base/client.py,sha256=kyjW3Md6d-XaZxP29sqek6o34TSqDe9PPKjtHuy1Dls,3651
8
8
  digitalhub/client/_base/key_builder.py,sha256=xl3jM7z2eLP6HfPXusmZyLqsvfKHQfxfZ3SWPS7MHuk,1155
9
+ digitalhub/client/_base/params_builder.py,sha256=lCk4WE6DqvGP7-cx0anZEC8GtwsA7win7MVqACQQF9g,427
9
10
  digitalhub/client/dhcore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- digitalhub/client/dhcore/api_builder.py,sha256=r0ic81Z1B0iG7esgU199UEQ1_Emx6zatoTe-2pUPviM,3969
11
- digitalhub/client/dhcore/client.py,sha256=XK6N2CoEoVK7AXHqJZQmWq1yzfY7K-Ld2qHrp6mwRww,9631
12
- digitalhub/client/dhcore/configurator.py,sha256=gu-3mpFdaT8sU-f6UCKngOjJOmwt0y00_6zyo0QPyVY,10519
11
+ digitalhub/client/dhcore/api_builder.py,sha256=Q4uON6BgzIpkGQ5Kik_YFXfCR_h0bvof_Z9i2-2J8w0,3968
12
+ digitalhub/client/dhcore/client.py,sha256=41tSTloG9XvCZKOi9G5zJTa6jiQYO-cgOCdO1nCQGkI,9806
13
+ digitalhub/client/dhcore/configurator.py,sha256=O7iK2ye1Jd53lZK48IaDv669FK98oVf2xePwiDcFLnE,11830
13
14
  digitalhub/client/dhcore/enums.py,sha256=kaVXZTTa2WmsFbcc1CKWNLOM0JtUtcjL-KpspnTOhEE,523
14
15
  digitalhub/client/dhcore/error_parser.py,sha256=GJUUkhp12cvC_LBIrC0teh4msmyb5WFxY2g4WNOkUwM,3305
15
16
  digitalhub/client/dhcore/key_builder.py,sha256=VyyHk18rs1z8FKoRXGD2glb_WCipCWoYsS50_jYQpC4,1317
16
17
  digitalhub/client/dhcore/models.py,sha256=WX53m8B9YiUqebH9ZZuUm2fhIWGoqHkagrHn3swOQDI,642
18
+ digitalhub/client/dhcore/params_builder.py,sha256=vfBScG9SK8iQOdAhX3bCGcmovF4G0b5FTrQ6_ZbfRQE,5652
17
19
  digitalhub/client/dhcore/utils.py,sha256=w2hcjS-qPtf3faUq6_r5_Te7G22keTk3p29EQQ93mVs,1878
18
20
  digitalhub/client/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- digitalhub/client/local/api_builder.py,sha256=y5SQoDUFOx53zJStneXNTyPE5Wa9FU4uii5ZhjEN8sI,2970
20
- digitalhub/client/local/client.py,sha256=6m5wwbBNLSHEGPO0VD8lClr8Z4udSbWxMe8GPnogtL0,17802
21
+ digitalhub/client/local/api_builder.py,sha256=RSA4mRQe9UJOAZ2PG-3zBIQqFe75-mrJCkWz0RlOj-I,3029
22
+ digitalhub/client/local/client.py,sha256=Rai1THSVKHVS4AvqKXLXLsa_WEbja2juWDCFm9q8s-8,18080
21
23
  digitalhub/client/local/enums.py,sha256=FCwzQnYClB8Z7h8hrd_CXV78gHs15eawwLPGtCYzNl4,150
22
24
  digitalhub/client/local/key_builder.py,sha256=jO5RHMRe5bxygX3rbD7TOqBafvO6FJcEOymsnJbjyuY,1316
25
+ digitalhub/client/local/params_builder.py,sha256=BgDEu6feqFsaTX8rpXMibhErm1lLxtP6gIYrLoAJm5U,3474
23
26
  digitalhub/configurator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
27
  digitalhub/configurator/api.py,sha256=xg0HilqnZIe9XUz65QoTP5yQxOyeWzo_xC9YpMNUDVY,553
25
28
  digitalhub/configurator/configurator.py,sha256=ShYktRJSRQFxLhCB_KaBXUPYamEIZ1iUseOffxPzPLM,4532
@@ -34,7 +37,7 @@ digitalhub/entities/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
34
37
  digitalhub/entities/_base/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
38
  digitalhub/entities/_base/_base/entity.py,sha256=aHZiuCyHo6zPSRuwTFLu2qGkTHGd2k8EAJlnbcJq_p4,2174
36
39
  digitalhub/entities/_base/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
- digitalhub/entities/_base/context/entity.py,sha256=4IWC6f0YKpEBPCXrKlkkvnOqT1urQ4mbjwre4LUWxk4,3270
40
+ digitalhub/entities/_base/context/entity.py,sha256=er9eqY4aqpTOvBwBxVUeeqbTYnMXbc4jrF6GAipSFWc,3300
38
41
  digitalhub/entities/_base/entity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
42
  digitalhub/entities/_base/entity/builder.py,sha256=caUFJeLSvOTNKwnOZkyKW6BdyWUNYaGesk0ZwXJxX88,4556
40
43
  digitalhub/entities/_base/entity/entity.py,sha256=BFVKE5CToh4JOdwseAGMhdpoCiD3kaGRhNA9SuRCixE,3223
@@ -48,31 +51,31 @@ digitalhub/entities/_base/entity/_constructors/spec.py,sha256=zEC7MDDKTf8nIIgR5s
48
51
  digitalhub/entities/_base/entity/_constructors/status.py,sha256=wetvpnQTtkjZ-pMO2jFnGyLbM_Ve-k9lXGl0f-eI20M,1190
49
52
  digitalhub/entities/_base/entity/_constructors/uuid.py,sha256=QzG0nsVpGU2UDD5CjpkOM2RfVaCHPdLp2HoQt8TM_tk,555
50
53
  digitalhub/entities/_base/executable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- digitalhub/entities/_base/executable/entity.py,sha256=tNQmmABuY90eKWcxePPGu4iaZhDLyL9TdugKVcnnKSY,10079
54
+ digitalhub/entities/_base/executable/entity.py,sha256=TdaNCJY35Dt1ZdxfbqWFR_OjRNhVZpHLZpIJg4tNx2I,10093
52
55
  digitalhub/entities/_base/material/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- digitalhub/entities/_base/material/entity.py,sha256=YYStZp5RGhugpThKI-iK9zX8u5jGYp6pQEW-s2mgnTU,6988
56
+ digitalhub/entities/_base/material/entity.py,sha256=oINSX884fwdVl_LW7X4yO4B7XFI0WmWMVhnBK55ajzY,7010
54
57
  digitalhub/entities/_base/material/spec.py,sha256=jL1OohnYhUSrdTaFF3Rkw817jIjNY0ewm1wB3tgQ_9c,436
55
58
  digitalhub/entities/_base/material/status.py,sha256=mp5C-5JgfLNYPWdCZXYsaI3Ptu32RW9r_BQgvUjXELA,412
56
59
  digitalhub/entities/_base/material/utils.py,sha256=TQzzwjaTdVUmeCTIiScSAEWJtrJFLv3q5C3-ID3sPjA,2446
57
- digitalhub/entities/_base/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- digitalhub/entities/_base/project/entity.py,sha256=MwK80OCNKN_vxnPajJhErdLS4VQfIWydmfQrscf5OCc,10621
59
60
  digitalhub/entities/_base/runtime_entity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
61
  digitalhub/entities/_base/runtime_entity/builder.py,sha256=vZBftdOrAUICoEJXbqOyozrbMxNRqqoVVxDVjKs2GnI,2414
61
62
  digitalhub/entities/_base/unversioned/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
63
  digitalhub/entities/_base/unversioned/builder.py,sha256=ChEhRXlu1BGNmMHOMu9i9kVMu3uFtwxmgiTO4Il_5oU,1834
63
- digitalhub/entities/_base/unversioned/entity.py,sha256=eQ9BKtqr7-UPgS4fkNdFX2Uh-YddfYrfFmk4Y-6uj7w,862
64
+ digitalhub/entities/_base/unversioned/entity.py,sha256=sQ-KXqXmksJd9enNKFdOGO73hJSCzS46OE9goBa8RYg,876
64
65
  digitalhub/entities/_base/versioned/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
66
  digitalhub/entities/_base/versioned/builder.py,sha256=0niRbqpCnHqBK0hTQxdrtUl43BbJuGXMLVbruhpUUuU,1896
66
- digitalhub/entities/_base/versioned/entity.py,sha256=xtvVJfmJTfCAA96va1-r7B2j7wbXlkutGMil--PWP4I,885
67
+ digitalhub/entities/_base/versioned/entity.py,sha256=h4YX6smpPjIVW8DOVdRYW-abOcoJ_F0OkozLhLxpjWI,899
67
68
  digitalhub/entities/_commons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- digitalhub/entities/_commons/enums.py,sha256=rifutpsNcssUN7JaSe5t0C4L2CeT89-7pD-_gbjbw58,1885
69
- digitalhub/entities/_commons/models.py,sha256=sEYm4Zs0GJAKEA8vfnndPTHJXC5Eq521bRgPieVVyTA,204
69
+ digitalhub/entities/_commons/enums.py,sha256=iis8VwpDQd-CQM7QI22OMUqedzchTlFtQuu9I3I-0Bw,1929
70
+ digitalhub/entities/_commons/metrics.py,sha256=SYb980t9smzJVUWGqE4Ug0t-0wPXYJZ_nJRi_9bhcpw,3405
70
71
  digitalhub/entities/_commons/types.py,sha256=bwK-2iQHL2gdtOPfRcXWBRWqqS1Tic6ywRQsJSocn9c,118
71
- digitalhub/entities/_commons/utils.py,sha256=WS6gfauLbMsYGS9mDG9ZvATOBURvoVJP7vmSGpDVC44,2461
72
- digitalhub/entities/_operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- digitalhub/entities/_operations/processor.py,sha256=ccZEWLLzVnxs46yUJWIKO5bH8IKOkQL0wJMaWvXU2Z4,50196
72
+ digitalhub/entities/_commons/utils.py,sha256=354ZL5wKvijJ2A25pM0xK5JMhgTyZF6urjHZNjosINI,1846
73
+ digitalhub/entities/_processors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
+ digitalhub/entities/_processors/base.py,sha256=u6CD93SsZIOXmZ04pc27-ADGLzYFDgkarElJxq2adzY,13603
75
+ digitalhub/entities/_processors/context.py,sha256=DxyetY6igBdZy-aEfIJkDHIYK1UPnIOBd5N7vodq6vU,33313
76
+ digitalhub/entities/_processors/utils.py,sha256=LMlzsWF1vs-E3J5o9RzEuwf4_zznWyErtUki6DW_usA,3780
74
77
  digitalhub/entities/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
- digitalhub/entities/artifact/crud.py,sha256=76466GQatBBgPvPqiSGcIA_Aqf96LS2-X_DKRnt4Ry4,7905
78
+ digitalhub/entities/artifact/crud.py,sha256=smyZLWfkBEH1pxwFJXhoqfFpLrKeeWTqXmahyPj8QAY,7983
76
79
  digitalhub/entities/artifact/utils.py,sha256=Sqjqi5VxIFnX7AFjUIPAhbZOV3ieqYJN8rgVKSfmN7I,1323
77
80
  digitalhub/entities/artifact/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
81
  digitalhub/entities/artifact/_base/builder.py,sha256=Ig9rxHkzhQMNEkcfwl9m0r33KZ3pjmQzW_lAbvsK7xs,2256
@@ -85,7 +88,7 @@ digitalhub/entities/artifact/artifact/entity.py,sha256=hj6UlJMWnWimqizhKGcKpvOpc
85
88
  digitalhub/entities/artifact/artifact/spec.py,sha256=XAnk0YPlLEIglPZ9cP5-gJwJ5f143pJRHwl2tdBuVcw,632
86
89
  digitalhub/entities/artifact/artifact/status.py,sha256=x-lTgO2KkjwzlJnEhIfUtF9rzJ1DTIAd3-Hn6ZeLRqo,305
87
90
  digitalhub/entities/dataitem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
- digitalhub/entities/dataitem/crud.py,sha256=rbNv-9JmNA91BmRaMK5rw8binZTCzG_IJBi1zr6xq58,8502
91
+ digitalhub/entities/dataitem/crud.py,sha256=_lV168-zjmaPmsi6oPjZOLttqqt9SV4CZqoGBwVYokk,8580
89
92
  digitalhub/entities/dataitem/utils.py,sha256=pwlk7IAT1KTa18VuOfCK2IZvRRCOU4eiWGaSwL5SYA4,4387
90
93
  digitalhub/entities/dataitem/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
94
  digitalhub/entities/dataitem/_base/builder.py,sha256=XZ5Ul-aBkx6ygpN9rhjNQOD-6jzJhulyM0WCD-f3big,2256
@@ -110,20 +113,20 @@ digitalhub/entities/dataitem/table/spec.py,sha256=5boOI9zhIvuwIQo0th0E2941_rQEPI
110
113
  digitalhub/entities/dataitem/table/status.py,sha256=28-_LoSg84x4OwLbRungCHk-ObuobZ5vKuzk1NoBGZA,198
111
114
  digitalhub/entities/dataitem/table/utils.py,sha256=sctzcQeTPpW_YJC4rquu_J4rjv_NR6EoJTqMeAIPNvA,2447
112
115
  digitalhub/entities/function/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
- digitalhub/entities/function/crud.py,sha256=1-fRWVmOXVV305p0GW0n02FEcengw7QxLxxgxsCC7eM,6592
116
+ digitalhub/entities/function/crud.py,sha256=NZ7nbCdpMW2shGD1AWx2CKpE_eX_v7bVtDC0EZwJmJc,6662
114
117
  digitalhub/entities/function/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
118
  digitalhub/entities/function/_base/builder.py,sha256=xTVOpH3GYU-BqtzMEuI3uMtLLvF9IYfrVYMVPkkJc2g,2035
116
119
  digitalhub/entities/function/_base/entity.py,sha256=YYFxtLAZEhcWOzGlGjqRPXmGRb8wBK1KOXyVPo9ZGSw,3093
117
120
  digitalhub/entities/function/_base/spec.py,sha256=SjCtp3JBUTPTLMY_TE8wM1HPKVl7jH_wFEqQXBj1rfo,274
118
121
  digitalhub/entities/function/_base/status.py,sha256=N-Z1hw13qV7kWFJLQPaH3rRZ2z7AvZeuWYER95lG344,170
119
122
  digitalhub/entities/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
- digitalhub/entities/model/crud.py,sha256=rguVsQjCSNwSFOrSOdPYnhHAxHE09TqkxLZuqHBi8AE,7686
123
+ digitalhub/entities/model/crud.py,sha256=7B1kzXNNB3Ox1RLhhcVhmtiCfua6d5uCpuJY4e5o1Bc,7764
121
124
  digitalhub/entities/model/utils.py,sha256=NNzD2AcIJzmV_Jo_8k5ZcSp2arKcZ07CCIYKn2lvoKM,1320
122
125
  digitalhub/entities/model/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
126
  digitalhub/entities/model/_base/builder.py,sha256=emYkEey98ddxcj_lHWsQG0cAu2BEDastvSrHVtoa6oU,2235
124
- digitalhub/entities/model/_base/entity.py,sha256=va1Rf8vPHi2FEg1nPsmfaJBaaXG5EFABNuzLthiEFCI,5640
127
+ digitalhub/entities/model/_base/entity.py,sha256=PqH7E8IVLij86DQZFPwVW-4pOCDZtAqiNXPXmUvzW3w,4167
125
128
  digitalhub/entities/model/_base/spec.py,sha256=enybK9mfNGncuMyQLL-HYeHkoe2Karau4R1zaSsX9Hc,865
126
- digitalhub/entities/model/_base/status.py,sha256=-O-2EbjYnLpD1aV3Yg5GMMPpLZ8zk6Cv8B3UshLuMbk,435
129
+ digitalhub/entities/model/_base/status.py,sha256=iL3mp8DPjzqmm1nOcF9zYi6o_OdaVkZx1V26NOucirs,466
127
130
  digitalhub/entities/model/huggingface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
131
  digitalhub/entities/model/huggingface/builder.py,sha256=JxPosF8QOaq1qxrWCD5wqaR2dnDXWb33-gxfhPuTFZ8,749
129
132
  digitalhub/entities/model/huggingface/entity.py,sha256=BnBWrAmTA8cEM47sqpxQeCLCl4Wu7CbpFKhYvf8qLaA,873
@@ -147,38 +150,38 @@ digitalhub/entities/model/sklearn/entity.py,sha256=pPy4mOqOmbkqNkKFUnhrsIQNt2mGN
147
150
  digitalhub/entities/model/sklearn/spec.py,sha256=Md0aKlfNHZ2fhZbJgp9wZxF0Hu6XIkcniQHCgwoRdkk,301
148
151
  digitalhub/entities/model/sklearn/status.py,sha256=eqkPPtERX-6_BjPb_GD8j1FIeavpl43k-dfXZGqzGI0,187
149
152
  digitalhub/entities/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
- digitalhub/entities/project/crud.py,sha256=1CL04IJBTass_6Oqund0RDdv1CQ35U3zTKViUFJYhXo,8591
153
+ digitalhub/entities/project/crud.py,sha256=Pzm3PhIVvxlO0EPog5uivcy7j8Q-Q8gIielj-H3V4o0,8704
151
154
  digitalhub/entities/project/utils.py,sha256=zwm82RaIVLJNYrg70jRnGdsP0IVWW86y3OrHmakeBjM,1011
152
155
  digitalhub/entities/project/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
153
156
  digitalhub/entities/project/_base/builder.py,sha256=N1YPFZra7KMhmBynbeBWtvn3TwiBaBmSE5FfDPyUUG8,3645
154
- digitalhub/entities/project/_base/entity.py,sha256=zoNo8vrMP1WuYbz7pHLFRfMGLaStKPUmQppllPqvPnU,47389
157
+ digitalhub/entities/project/_base/entity.py,sha256=5zI4W2v1AnPVCocLK2Z7cNu5bJkq-kGm9wEanCDeYGE,57139
155
158
  digitalhub/entities/project/_base/spec.py,sha256=t92M9KzEH986oybui7ZW924VhmqTcpVbvreyfpylwSs,1435
156
159
  digitalhub/entities/project/_base/status.py,sha256=w1Hj_yFwr_5X7ZH7SmtZRto4qUdCWb010viFfvbqX48,168
157
160
  digitalhub/entities/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
- digitalhub/entities/run/crud.py,sha256=0_9zlW4aId4x1rGlvjOdAHkNaJwpR5vgLCuMt7rE-xE,4875
161
+ digitalhub/entities/run/crud.py,sha256=M5BYlDgPA7Sl-t3N5MzkbJOPyIa_ilwnUM4uOe72qfg,4937
159
162
  digitalhub/entities/run/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
163
  digitalhub/entities/run/_base/builder.py,sha256=e4P4gegD1DjHv_-Rhe3bIkGfRwgRbC8J6hdSSw2M8b4,2454
161
- digitalhub/entities/run/_base/entity.py,sha256=7T0VzeuX43wsOUvexb6eOPHdXqtFYsriXKc99FC_GHY,11750
164
+ digitalhub/entities/run/_base/entity.py,sha256=2izcK3xruFP24RCsxxTJR8uUnSa2eKnkzZy6yGhNr9U,10319
162
165
  digitalhub/entities/run/_base/spec.py,sha256=xUjFRxGopUMwOPY8L-8kdFtOFypGGY4wrbLPrt6ycGI,1722
163
- digitalhub/entities/run/_base/status.py,sha256=956Mm7fl0Q5htRqgD7LiBLLLt7J9KVNWnGxnIS89vJM,499
166
+ digitalhub/entities/run/_base/status.py,sha256=vQWgDRTtUFJThdpv8lh4cHreg3uZeusP0RJTWe9PV5k,530
164
167
  digitalhub/entities/secret/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
- digitalhub/entities/secret/crud.py,sha256=HNm8_UJYMAU5JIPWWyb4x9cFlHdGAhJRWroZalha5Ak,6902
168
+ digitalhub/entities/secret/crud.py,sha256=dSkSnQdfnfxtPMLRYtHGIJ9k8_9kzFJ0BYTDWqGjKWo,6972
166
169
  digitalhub/entities/secret/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
170
  digitalhub/entities/secret/_base/builder.py,sha256=XkSjyofbD_5fPLF05qSMRaD3xor7EzklS2Wu1qRxiYE,2195
168
- digitalhub/entities/secret/_base/entity.py,sha256=Vi4jAhLUlDGBxfAQmmZvuv9Ou2-UdJL-IqJc90yIMCk,1798
171
+ digitalhub/entities/secret/_base/entity.py,sha256=1J5S3AmiGYjOSHGXzU48h3-khrJHVD54k8UHHwpeeWM,1820
169
172
  digitalhub/entities/secret/_base/spec.py,sha256=8xbvaLOlu79-SlrQW0MCfYIfxR7mkac2l1S-sbxbiY8,776
170
173
  digitalhub/entities/secret/_base/status.py,sha256=TK9CUKA6eg9qegqgR9t-u1g-vEeFGB6v5dN9YJNukw8,166
171
174
  digitalhub/entities/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
- digitalhub/entities/task/crud.py,sha256=cLMklzom3ILxncu-Tz9HTO1JX6JeAZRHXuOaWbR9JAg,5333
175
+ digitalhub/entities/task/crud.py,sha256=-tQNtWU7r3nfoVn3WmmrHBvSyHpGqQIa1_3Ges4kh5A,5395
173
176
  digitalhub/entities/task/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
177
  digitalhub/entities/task/_base/builder.py,sha256=21WEbycCR8yaOPcLLcAITaoQ4ZmBNXJXB-Oy0VfSPrg,2358
175
- digitalhub/entities/task/_base/entity.py,sha256=hOTFxWgSrEs2UPrd9pDZAbdWnL_OrkHr6PwxnAkYG2A,3531
176
- digitalhub/entities/task/_base/models.py,sha256=v78h4VUvdrIm3jnM0WU-FUuglQbHKboxI9uzccRmqGs,5176
178
+ digitalhub/entities/task/_base/entity.py,sha256=RSwgndyxeveYru6AsC4TGwbGt4JN2LAQ0RRTTtdNNq8,3561
179
+ digitalhub/entities/task/_base/models.py,sha256=Pjx6R8o5Q_zEqk47vT-kzK6YZoWPGtrBBWJgomRmwDU,5326
177
180
  digitalhub/entities/task/_base/spec.py,sha256=4JsbQxx05UYjAerSNBCrLSjwMLYeMSqgPIYdkJhH7ik,2500
178
181
  digitalhub/entities/task/_base/status.py,sha256=FCSSQscQ0dHEpXdc5vSrIkTXon9FNNOr0M1KVh2ZVAA,162
179
182
  digitalhub/entities/task/_base/utils.py,sha256=faeAN7r_5q0KWDj1vrbVvFMcCpeMw7fK7vGScSpFZCI,448
180
183
  digitalhub/entities/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
- digitalhub/entities/workflow/crud.py,sha256=O_Zq30NG-cy7RU1GG88XNi8ids7vrRJAR95PTMYncGM,6517
184
+ digitalhub/entities/workflow/crud.py,sha256=pOl2JjKTqTl6-iermH53nO6hUElSCsLYmx3TYLenhmI,6587
182
185
  digitalhub/entities/workflow/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
186
  digitalhub/entities/workflow/_base/builder.py,sha256=wRgot2pbXjc-Cw549uDo1zFOGKdE7wVqxCboeNoXe-Q,2035
184
187
  digitalhub/entities/workflow/_base/entity.py,sha256=yQKsoJqWRRgYVQJ0wWvu4krx1DpRM9JL4Irb_874Kqs,2516
@@ -214,13 +217,13 @@ digitalhub/stores/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
214
217
  digitalhub/stores/remote/store.py,sha256=wxB0t3zjKDSFgtKbT1-yPLT_Qm07UkpBCpZfHbD7BzM,6181
215
218
  digitalhub/stores/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
219
  digitalhub/stores/s3/configurator.py,sha256=qoj3sZCTwojUw5b-8xYyDTC9eRwgjqIHnVbSxWj3hFY,3734
217
- digitalhub/stores/s3/enums.py,sha256=1_OUTNDqw73ail4ovT-u4nSEBpGxnHPPMug4jyUlxFM,441
220
+ digitalhub/stores/s3/enums.py,sha256=tmSavz83jr6SBW-Gqn4D21TJpFytxvbtbW63htmZG2A,392
218
221
  digitalhub/stores/s3/models.py,sha256=qeXeL7iP76EBO35wzP6bYeMj-sBOY634Tjwx8h3Di2g,371
219
222
  digitalhub/stores/s3/store.py,sha256=ggmtwsAYhhBJUgbIh22vXJUSJTHloCszyEQqF64g1sk,19237
220
223
  digitalhub/stores/s3/utils.py,sha256=5ATkIRThtssu52dPrkWnK-nhD5pc6rlrHLNofjiQzt4,1500
221
224
  digitalhub/stores/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
225
  digitalhub/stores/sql/configurator.py,sha256=7TLU9mdLzMUsJI39pe-xWqsnzdiAmDmSXBeJG6MEBY8,3182
223
- digitalhub/stores/sql/enums.py,sha256=dEwUEHFM-MToT0IuIYSqKgpy8mk8MXwZs1HuFI05K9I,326
226
+ digitalhub/stores/sql/enums.py,sha256=FCpmIXxef6SQIX_564a1hYvaSVrpvld8gi7YAv25H-o,284
224
227
  digitalhub/stores/sql/models.py,sha256=_itIXoCfRLzUpG0OaM44qbv2u87Lyl5e0tmAXNTvfjQ,349
225
228
  digitalhub/stores/sql/store.py,sha256=4i2j8h71E-lrGYI9kUzwLpZfonYjIY1osuTvy0s8CcA,11327
226
229
  digitalhub/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -228,12 +231,12 @@ digitalhub/utils/enums.py,sha256=BjsLkUQ15W3KYTRYd0kuut77jTNMDBtTfJbixMReEew,269
228
231
  digitalhub/utils/exceptions.py,sha256=CGiRXx6OvYpjg6d9yEn2OvyfF0FA5n1l8uH6loCDoAY,1233
229
232
  digitalhub/utils/file_utils.py,sha256=qRb0ETNaQKwBlF5iwflDFlkrku5TvJXHHhxgHtAeS9w,5117
230
233
  digitalhub/utils/generic_utils.py,sha256=8JKmfe1UMYqzrqfptMJZ7x-EvD1-zVNLfBcGoVl8Wcg,4870
231
- digitalhub/utils/git_utils.py,sha256=air8jn73FxzSWRxpvObcdOJBWcFOqb5A7D4ISwPEs7A,3244
234
+ digitalhub/utils/git_utils.py,sha256=6vnZoJnL6uMZj0ZtHj3Tf-NYJsw3V9yitTJooSaFYEg,3407
232
235
  digitalhub/utils/io_utils.py,sha256=8jD4Rp_b7LZEpY5JSMxVUowZsnifKnbGpHT5Hijx9-g,3299
233
236
  digitalhub/utils/logger.py,sha256=ml3ne6D8wuRdNZ4F6ywmvWotSxjmZWnmKgNiuHb4R5M,437
234
237
  digitalhub/utils/types.py,sha256=x8zXsbivD8vdaNeNRZLKOPvGbz6d-59nncuvO0FsueY,109
235
238
  digitalhub/utils/uri_utils.py,sha256=6W3ITWcOwlpmA42rmgld7f2t1RpNF2pYXadWpmEQeBM,3832
236
- digitalhub-0.10.0b5.dist-info/METADATA,sha256=P3Q6yTbrThHtwypwMBtWjytNOiGXc89mUI9sTDZrRx0,15173
237
- digitalhub-0.10.0b5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
238
- digitalhub-0.10.0b5.dist-info/licenses/LICENSE.txt,sha256=qmrTTXPlgU0kSRlRVbjhlyGs1IXs2QPxo_Y-Mn06J0k,11589
239
- digitalhub-0.10.0b5.dist-info/RECORD,,
239
+ digitalhub-0.10.0b6.dist-info/METADATA,sha256=5A8KN3Gn-s2WxyHJI6KkvKRNS_mkLn-UpAr8ORFrwFA,15058
240
+ digitalhub-0.10.0b6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
241
+ digitalhub-0.10.0b6.dist-info/licenses/LICENSE.txt,sha256=qmrTTXPlgU0kSRlRVbjhlyGs1IXs2QPxo_Y-Mn06J0k,11589
242
+ digitalhub-0.10.0b6.dist-info/RECORD,,
@@ -1,341 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import typing
4
- from pathlib import Path
5
-
6
- from digitalhub.client.api import get_client
7
- from digitalhub.context.api import build_context
8
- from digitalhub.entities._base.entity.entity import Entity
9
- from digitalhub.entities._commons.enums import EntityTypes
10
- from digitalhub.entities._operations.processor import processor
11
- from digitalhub.factory.api import build_entity_from_dict
12
- from digitalhub.utils.exceptions import BackendError, EntityAlreadyExistsError, EntityError
13
- from digitalhub.utils.generic_utils import get_timestamp
14
- from digitalhub.utils.io_utils import write_yaml
15
- from digitalhub.utils.uri_utils import has_local_scheme
16
-
17
- if typing.TYPE_CHECKING:
18
- from digitalhub.entities._base.context.entity import ContextEntity
19
- from digitalhub.entities._base.entity.metadata import Metadata
20
- from digitalhub.entities._base.entity.spec import Spec
21
- from digitalhub.entities._base.entity.status import Status
22
-
23
-
24
- class ProjectEntity(Entity):
25
- """
26
- Base entity for Project entity.
27
- Used to abstract a bit by handling I/O CRUD.
28
- """
29
-
30
- def __init__(
31
- self,
32
- name: str,
33
- kind: str,
34
- metadata: Metadata,
35
- spec: Spec,
36
- status: Status,
37
- user: str | None = None,
38
- local: bool = False,
39
- ) -> None:
40
- super().__init__(kind, metadata, spec, status, user)
41
- self.id = name
42
- self.name = name
43
- self.key = processor.build_project_key(self.name, local=local)
44
-
45
- self._obj_attr.extend(["id", "name"])
46
-
47
- # Set client
48
- self._client = get_client(local)
49
-
50
- # Set context
51
- build_context(self)
52
-
53
- ##############################
54
- # Save / Refresh / Export
55
- ##############################
56
-
57
- def save(self, update: bool = False) -> ProjectEntity:
58
- """
59
- Save entity into backend.
60
-
61
- Parameters
62
- ----------
63
- update : bool
64
- If True, the object will be updated.
65
-
66
- Returns
67
- -------
68
- Project
69
- Entity saved.
70
- """
71
- if update:
72
- if self._client.is_local():
73
- self.metadata.updated = get_timestamp()
74
- new_obj = processor.update_project_entity(
75
- entity_type=self.ENTITY_TYPE,
76
- entity_name=self.name,
77
- entity_dict=self.to_dict(),
78
- local=self._client.is_local(),
79
- )
80
- else:
81
- new_obj = processor.create_project_entity(_entity=self)
82
- self._update_attributes(new_obj)
83
- return self
84
-
85
- def refresh(self) -> ProjectEntity:
86
- """
87
- Refresh object from backend.
88
-
89
- Returns
90
- -------
91
- Project
92
- Project object.
93
- """
94
- new_obj = processor.read_project_entity(
95
- entity_type=self.ENTITY_TYPE,
96
- entity_name=self.name,
97
- local=self._client.is_local(),
98
- )
99
- self._update_attributes(new_obj)
100
- return self
101
-
102
- def search_entity(
103
- self,
104
- query: str | None = None,
105
- entity_types: list[str] | None = None,
106
- name: str | None = None,
107
- kind: str | None = None,
108
- created: str | None = None,
109
- updated: str | None = None,
110
- description: str | None = None,
111
- labels: list[str] | None = None,
112
- **kwargs,
113
- ) -> list[ContextEntity]:
114
- """
115
- Search objects from backend.
116
-
117
- Parameters
118
- ----------
119
- query : str
120
- Search query.
121
- entity_types : list[str]
122
- Entity types.
123
- name : str
124
- Entity name.
125
- kind : str
126
- Entity kind.
127
- created : str
128
- Entity creation date.
129
- updated : str
130
- Entity update date.
131
- description : str
132
- Entity description.
133
- labels : list[str]
134
- Entity labels.
135
- **kwargs : dict
136
- Parameters to pass to the API call.
137
-
138
- Returns
139
- -------
140
- list[ContextEntity]
141
- List of object instances.
142
- """
143
- objs = processor.search_entity(
144
- self.name,
145
- query=query,
146
- entity_types=entity_types,
147
- name=name,
148
- kind=kind,
149
- created=created,
150
- updated=updated,
151
- description=description,
152
- labels=labels,
153
- **kwargs,
154
- )
155
- self.refresh()
156
- return objs
157
-
158
- def export(self) -> str:
159
- """
160
- Export object as a YAML file in the context folder.
161
- If the objects are not embedded, the objects are exported as a YAML file.
162
-
163
- Returns
164
- -------
165
- str
166
- Exported filepath.
167
- """
168
- obj = self._refresh_to_dict()
169
- pth = Path(self.spec.context) / f"{self.ENTITY_TYPE}s-{self.name}.yaml"
170
- obj = self._export_not_embedded(obj)
171
- write_yaml(pth, obj)
172
- return str(pth)
173
-
174
- def _refresh_to_dict(self) -> dict:
175
- """
176
- Try to refresh object to collect entities related to project.
177
-
178
- Returns
179
- -------
180
- dict
181
- Entity object in dictionary format.
182
- """
183
- try:
184
- return self.refresh().to_dict()
185
- except BackendError:
186
- return self.to_dict()
187
-
188
- def _export_not_embedded(self, obj: dict) -> dict:
189
- """
190
- Export project objects if not embedded.
191
-
192
- Parameters
193
- ----------
194
- obj : dict
195
- Project object in dictionary format.
196
-
197
- Returns
198
- -------
199
- dict
200
- Updatated project object in dictionary format with referenced entities.
201
- """
202
- # Cycle over entity types
203
- for entity_type in self._get_entity_types():
204
- # Entity types are stored as a list of entities
205
- for idx, entity in enumerate(obj.get("spec", {}).get(entity_type, [])):
206
- # Export entity if not embedded is in metadata, else do nothing
207
- if not self._is_embedded(entity):
208
- # Get entity object from backend
209
- ent = processor.read_context_entity(entity["key"])
210
-
211
- # Export and store ref in object metadata inside project
212
- pth = ent.export()
213
- obj["spec"][entity_type][idx]["metadata"]["ref"] = pth
214
-
215
- # Return updated object
216
- return obj
217
-
218
- def _import_entities(self, obj: dict) -> None:
219
- """
220
- Import project entities.
221
-
222
- Parameters
223
- ----------
224
- obj : dict
225
- Project object in dictionary format.
226
-
227
- Returns
228
- -------
229
- None
230
- """
231
- entity_types = self._get_entity_types()
232
-
233
- # Cycle over entity types
234
- for entity_type in entity_types:
235
- # Entity types are stored as a list of entities
236
- for entity in obj.get("spec", {}).get(entity_type, []):
237
- embedded = self._is_embedded(entity)
238
- ref = entity["metadata"].get("ref")
239
-
240
- # Import entity if not embedded and there is a ref
241
- if not embedded and ref is not None:
242
- # Import entity from local ref
243
- if has_local_scheme(ref):
244
- try:
245
- # Artifacts, Dataitems and Models
246
- if entity_type in entity_types[:3]:
247
- processor.import_context_entity(ref)
248
-
249
- # Functions and Workflows
250
- elif entity_type in entity_types[3:]:
251
- processor.import_executable_entity(ref)
252
-
253
- except FileNotFoundError:
254
- msg = f"File not found: {ref}."
255
- raise EntityError(msg)
256
-
257
- # If entity is embedded, create it and try to save
258
- elif embedded:
259
- # It's possible that embedded field in metadata is not shown
260
- if entity["metadata"].get("embedded") is None:
261
- entity["metadata"]["embedded"] = True
262
-
263
- try:
264
- build_entity_from_dict(entity).save()
265
- except EntityAlreadyExistsError:
266
- pass
267
-
268
- def _load_entities(self, obj: dict) -> None:
269
- """
270
- Load project entities.
271
-
272
- Parameters
273
- ----------
274
- obj : dict
275
- Project object in dictionary format.
276
-
277
- Returns
278
- -------
279
- None
280
- """
281
- entity_types = self._get_entity_types()
282
-
283
- # Cycle over entity types
284
- for entity_type in entity_types:
285
- # Entity types are stored as a list of entities
286
- for entity in obj.get("spec", {}).get(entity_type, []):
287
- embedded = self._is_embedded(entity)
288
- ref = entity["metadata"].get("ref")
289
-
290
- # Load entity if not embedded and there is a ref
291
- if not embedded and ref is not None:
292
- # Load entity from local ref
293
- if has_local_scheme(ref):
294
- try:
295
- # Artifacts, Dataitems and Models
296
- if entity_type in entity_types[:3]:
297
- processor.load_context_entity(ref)
298
-
299
- # Functions and Workflows
300
- elif entity_type in entity_types[3:]:
301
- processor.load_executable_entity(ref)
302
-
303
- except FileNotFoundError:
304
- msg = f"File not found: {ref}."
305
- raise EntityError(msg)
306
-
307
- def _is_embedded(self, entity: dict) -> bool:
308
- """
309
- Check if entity is embedded.
310
-
311
- Parameters
312
- ----------
313
- entity : dict
314
- Entity in dictionary format.
315
-
316
- Returns
317
- -------
318
- bool
319
- True if entity is embedded.
320
- """
321
- metadata_embedded = entity["metadata"].get("embedded", False)
322
- no_status = entity.get("status", None) is None
323
- no_spec = entity.get("spec", None) is None
324
- return metadata_embedded or not (no_status and no_spec)
325
-
326
- def _get_entity_types(self) -> list[str]:
327
- """
328
- Get entity types.
329
-
330
- Returns
331
- -------
332
- list
333
- Entity types.
334
- """
335
- return [
336
- f"{EntityTypes.ARTIFACT.value}s",
337
- f"{EntityTypes.DATAITEM.value}s",
338
- f"{EntityTypes.MODEL.value}s",
339
- f"{EntityTypes.FUNCTION.value}s",
340
- f"{EntityTypes.WORKFLOW.value}s",
341
- ]
@@ -1,13 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from pydantic import BaseModel
4
-
5
- from digitalhub.entities._commons.types import MetricType
6
-
7
-
8
- class Metric(BaseModel):
9
- """
10
- Metric.
11
- """
12
-
13
- value: MetricType
File without changes