digitalhub 0.10.0b4__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 (56) 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 +26 -4
  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/configurator/configurator.py +10 -9
  12. digitalhub/entities/_base/context/entity.py +4 -4
  13. digitalhub/entities/_base/executable/entity.py +2 -2
  14. digitalhub/entities/_base/material/entity.py +3 -3
  15. digitalhub/entities/_base/unversioned/entity.py +2 -2
  16. digitalhub/entities/_base/versioned/entity.py +2 -2
  17. digitalhub/entities/_commons/enums.py +1 -0
  18. digitalhub/entities/_commons/metrics.py +164 -0
  19. digitalhub/entities/_commons/types.py +5 -0
  20. digitalhub/entities/_commons/utils.py +0 -26
  21. digitalhub/entities/_processors/base.py +527 -0
  22. digitalhub/entities/{_operations/processor.py → _processors/context.py} +94 -716
  23. digitalhub/entities/_processors/utils.py +158 -0
  24. digitalhub/entities/artifact/crud.py +10 -10
  25. digitalhub/entities/dataitem/crud.py +10 -10
  26. digitalhub/entities/dataitem/utils.py +2 -1
  27. digitalhub/entities/function/crud.py +9 -9
  28. digitalhub/entities/model/_base/entity.py +26 -78
  29. digitalhub/entities/model/_base/status.py +1 -1
  30. digitalhub/entities/model/crud.py +10 -10
  31. digitalhub/entities/project/_base/entity.py +317 -9
  32. digitalhub/entities/project/crud.py +10 -9
  33. digitalhub/entities/run/_base/entity.py +32 -84
  34. digitalhub/entities/run/_base/status.py +1 -1
  35. digitalhub/entities/run/crud.py +8 -8
  36. digitalhub/entities/secret/_base/entity.py +3 -3
  37. digitalhub/entities/secret/crud.py +9 -9
  38. digitalhub/entities/task/_base/entity.py +4 -4
  39. digitalhub/entities/task/_base/models.py +10 -0
  40. digitalhub/entities/task/crud.py +8 -8
  41. digitalhub/entities/workflow/crud.py +9 -9
  42. digitalhub/factory/utils.py +9 -9
  43. digitalhub/readers/data/pandas/reader.py +9 -9
  44. digitalhub/stores/s3/configurator.py +1 -1
  45. digitalhub/stores/sql/configurator.py +1 -1
  46. digitalhub/{readers/data/pandas → utils}/enums.py +1 -1
  47. digitalhub/utils/git_utils.py +16 -9
  48. digitalhub/utils/types.py +0 -1
  49. {digitalhub-0.10.0b4.dist-info → digitalhub-0.10.0b6.dist-info}/METADATA +1 -4
  50. {digitalhub-0.10.0b4.dist-info → digitalhub-0.10.0b6.dist-info}/RECORD +53 -49
  51. digitalhub/entities/_base/project/entity.py +0 -341
  52. digitalhub/entities/_commons/models.py +0 -13
  53. digitalhub/entities/_operations/__init__.py +0 -0
  54. /digitalhub/entities/{_base/project → _processors}/__init__.py +0 -0
  55. {digitalhub-0.10.0b4.dist-info → digitalhub-0.10.0b6.dist-info}/WHEEL +0 -0
  56. {digitalhub-0.10.0b4.dist-info → digitalhub-0.10.0b6.dist-info}/licenses/LICENSE.txt +0 -0
@@ -3,26 +3,29 @@ 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=D5FUipdAL9ou5FIC4c7NTwNdxDbsu2n0DFup4TqF0bY,10515
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
- digitalhub/configurator/configurator.py,sha256=UaHrU4FudnZvqux2kUyLywVaOb74QxhHeBLQUDJDVNU,4430
28
+ digitalhub/configurator/configurator.py,sha256=ShYktRJSRQFxLhCB_KaBXUPYamEIZ1iUseOffxPzPLM,4532
26
29
  digitalhub/configurator/credentials_store.py,sha256=kiaCm37Sl1SN9OaMbsfZA1l1a9Xg6R6a00H7Upcf8Vg,1508
27
30
  digitalhub/configurator/ini_module.py,sha256=_FziztUjs0Y7MfbO1utmxWm75vx4yAm4OTyQoOgqYTQ,1828
28
31
  digitalhub/context/api.py,sha256=un-_HU7JC3t-eQKleVJ9cCDS8BtQFRHSrP3VDHs3gPU,1099
@@ -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,30 +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=1zFR0bN5a-BptPj5vsXVzPStdFk5TMKEXp7gj9OuY8Q,192
70
- digitalhub/entities/_commons/utils.py,sha256=YWjc_nlbDeBtcUa2isuThuVVBs6xFLPN-QE7s0DvedQ,2449
71
- digitalhub/entities/_operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
- digitalhub/entities/_operations/processor.py,sha256=QVgPG0UyZCDspOvZqWkE4_cSJh7eQpMOr2ZFBYAL57o,49399
69
+ digitalhub/entities/_commons/enums.py,sha256=iis8VwpDQd-CQM7QI22OMUqedzchTlFtQuu9I3I-0Bw,1929
70
+ digitalhub/entities/_commons/metrics.py,sha256=SYb980t9smzJVUWGqE4Ug0t-0wPXYJZ_nJRi_9bhcpw,3405
71
+ digitalhub/entities/_commons/types.py,sha256=bwK-2iQHL2gdtOPfRcXWBRWqqS1Tic6ywRQsJSocn9c,118
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
73
77
  digitalhub/entities/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
- digitalhub/entities/artifact/crud.py,sha256=76466GQatBBgPvPqiSGcIA_Aqf96LS2-X_DKRnt4Ry4,7905
78
+ digitalhub/entities/artifact/crud.py,sha256=smyZLWfkBEH1pxwFJXhoqfFpLrKeeWTqXmahyPj8QAY,7983
75
79
  digitalhub/entities/artifact/utils.py,sha256=Sqjqi5VxIFnX7AFjUIPAhbZOV3ieqYJN8rgVKSfmN7I,1323
76
80
  digitalhub/entities/artifact/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
81
  digitalhub/entities/artifact/_base/builder.py,sha256=Ig9rxHkzhQMNEkcfwl9m0r33KZ3pjmQzW_lAbvsK7xs,2256
@@ -84,8 +88,8 @@ digitalhub/entities/artifact/artifact/entity.py,sha256=hj6UlJMWnWimqizhKGcKpvOpc
84
88
  digitalhub/entities/artifact/artifact/spec.py,sha256=XAnk0YPlLEIglPZ9cP5-gJwJ5f143pJRHwl2tdBuVcw,632
85
89
  digitalhub/entities/artifact/artifact/status.py,sha256=x-lTgO2KkjwzlJnEhIfUtF9rzJ1DTIAd3-Hn6ZeLRqo,305
86
90
  digitalhub/entities/dataitem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
- digitalhub/entities/dataitem/crud.py,sha256=rbNv-9JmNA91BmRaMK5rw8binZTCzG_IJBi1zr6xq58,8502
88
- digitalhub/entities/dataitem/utils.py,sha256=_L0JLBm5HwXhMikLCxu4dTo8qnsTFiIwSyPQZLNeVdU,4318
91
+ digitalhub/entities/dataitem/crud.py,sha256=_lV168-zjmaPmsi6oPjZOLttqqt9SV4CZqoGBwVYokk,8580
92
+ digitalhub/entities/dataitem/utils.py,sha256=pwlk7IAT1KTa18VuOfCK2IZvRRCOU4eiWGaSwL5SYA4,4387
89
93
  digitalhub/entities/dataitem/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
94
  digitalhub/entities/dataitem/_base/builder.py,sha256=XZ5Ul-aBkx6ygpN9rhjNQOD-6jzJhulyM0WCD-f3big,2256
91
95
  digitalhub/entities/dataitem/_base/entity.py,sha256=J8G7Xm_AKETg02RtNHlUyM-bmvT__HKu1Npv4Od037A,945
@@ -109,20 +113,20 @@ digitalhub/entities/dataitem/table/spec.py,sha256=5boOI9zhIvuwIQo0th0E2941_rQEPI
109
113
  digitalhub/entities/dataitem/table/status.py,sha256=28-_LoSg84x4OwLbRungCHk-ObuobZ5vKuzk1NoBGZA,198
110
114
  digitalhub/entities/dataitem/table/utils.py,sha256=sctzcQeTPpW_YJC4rquu_J4rjv_NR6EoJTqMeAIPNvA,2447
111
115
  digitalhub/entities/function/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
- digitalhub/entities/function/crud.py,sha256=1-fRWVmOXVV305p0GW0n02FEcengw7QxLxxgxsCC7eM,6592
116
+ digitalhub/entities/function/crud.py,sha256=NZ7nbCdpMW2shGD1AWx2CKpE_eX_v7bVtDC0EZwJmJc,6662
113
117
  digitalhub/entities/function/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
118
  digitalhub/entities/function/_base/builder.py,sha256=xTVOpH3GYU-BqtzMEuI3uMtLLvF9IYfrVYMVPkkJc2g,2035
115
119
  digitalhub/entities/function/_base/entity.py,sha256=YYFxtLAZEhcWOzGlGjqRPXmGRb8wBK1KOXyVPo9ZGSw,3093
116
120
  digitalhub/entities/function/_base/spec.py,sha256=SjCtp3JBUTPTLMY_TE8wM1HPKVl7jH_wFEqQXBj1rfo,274
117
121
  digitalhub/entities/function/_base/status.py,sha256=N-Z1hw13qV7kWFJLQPaH3rRZ2z7AvZeuWYER95lG344,170
118
122
  digitalhub/entities/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
119
- digitalhub/entities/model/crud.py,sha256=rguVsQjCSNwSFOrSOdPYnhHAxHE09TqkxLZuqHBi8AE,7686
123
+ digitalhub/entities/model/crud.py,sha256=7B1kzXNNB3Ox1RLhhcVhmtiCfua6d5uCpuJY4e5o1Bc,7764
120
124
  digitalhub/entities/model/utils.py,sha256=NNzD2AcIJzmV_Jo_8k5ZcSp2arKcZ07CCIYKn2lvoKM,1320
121
125
  digitalhub/entities/model/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
126
  digitalhub/entities/model/_base/builder.py,sha256=emYkEey98ddxcj_lHWsQG0cAu2BEDastvSrHVtoa6oU,2235
123
- digitalhub/entities/model/_base/entity.py,sha256=va1Rf8vPHi2FEg1nPsmfaJBaaXG5EFABNuzLthiEFCI,5640
127
+ digitalhub/entities/model/_base/entity.py,sha256=PqH7E8IVLij86DQZFPwVW-4pOCDZtAqiNXPXmUvzW3w,4167
124
128
  digitalhub/entities/model/_base/spec.py,sha256=enybK9mfNGncuMyQLL-HYeHkoe2Karau4R1zaSsX9Hc,865
125
- digitalhub/entities/model/_base/status.py,sha256=-O-2EbjYnLpD1aV3Yg5GMMPpLZ8zk6Cv8B3UshLuMbk,435
129
+ digitalhub/entities/model/_base/status.py,sha256=iL3mp8DPjzqmm1nOcF9zYi6o_OdaVkZx1V26NOucirs,466
126
130
  digitalhub/entities/model/huggingface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
131
  digitalhub/entities/model/huggingface/builder.py,sha256=JxPosF8QOaq1qxrWCD5wqaR2dnDXWb33-gxfhPuTFZ8,749
128
132
  digitalhub/entities/model/huggingface/entity.py,sha256=BnBWrAmTA8cEM47sqpxQeCLCl4Wu7CbpFKhYvf8qLaA,873
@@ -146,38 +150,38 @@ digitalhub/entities/model/sklearn/entity.py,sha256=pPy4mOqOmbkqNkKFUnhrsIQNt2mGN
146
150
  digitalhub/entities/model/sklearn/spec.py,sha256=Md0aKlfNHZ2fhZbJgp9wZxF0Hu6XIkcniQHCgwoRdkk,301
147
151
  digitalhub/entities/model/sklearn/status.py,sha256=eqkPPtERX-6_BjPb_GD8j1FIeavpl43k-dfXZGqzGI0,187
148
152
  digitalhub/entities/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
- digitalhub/entities/project/crud.py,sha256=1CL04IJBTass_6Oqund0RDdv1CQ35U3zTKViUFJYhXo,8591
153
+ digitalhub/entities/project/crud.py,sha256=Pzm3PhIVvxlO0EPog5uivcy7j8Q-Q8gIielj-H3V4o0,8704
150
154
  digitalhub/entities/project/utils.py,sha256=zwm82RaIVLJNYrg70jRnGdsP0IVWW86y3OrHmakeBjM,1011
151
155
  digitalhub/entities/project/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
152
156
  digitalhub/entities/project/_base/builder.py,sha256=N1YPFZra7KMhmBynbeBWtvn3TwiBaBmSE5FfDPyUUG8,3645
153
- digitalhub/entities/project/_base/entity.py,sha256=zoNo8vrMP1WuYbz7pHLFRfMGLaStKPUmQppllPqvPnU,47389
157
+ digitalhub/entities/project/_base/entity.py,sha256=5zI4W2v1AnPVCocLK2Z7cNu5bJkq-kGm9wEanCDeYGE,57139
154
158
  digitalhub/entities/project/_base/spec.py,sha256=t92M9KzEH986oybui7ZW924VhmqTcpVbvreyfpylwSs,1435
155
159
  digitalhub/entities/project/_base/status.py,sha256=w1Hj_yFwr_5X7ZH7SmtZRto4qUdCWb010viFfvbqX48,168
156
160
  digitalhub/entities/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
- digitalhub/entities/run/crud.py,sha256=0_9zlW4aId4x1rGlvjOdAHkNaJwpR5vgLCuMt7rE-xE,4875
161
+ digitalhub/entities/run/crud.py,sha256=M5BYlDgPA7Sl-t3N5MzkbJOPyIa_ilwnUM4uOe72qfg,4937
158
162
  digitalhub/entities/run/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
163
  digitalhub/entities/run/_base/builder.py,sha256=e4P4gegD1DjHv_-Rhe3bIkGfRwgRbC8J6hdSSw2M8b4,2454
160
- digitalhub/entities/run/_base/entity.py,sha256=7T0VzeuX43wsOUvexb6eOPHdXqtFYsriXKc99FC_GHY,11750
164
+ digitalhub/entities/run/_base/entity.py,sha256=2izcK3xruFP24RCsxxTJR8uUnSa2eKnkzZy6yGhNr9U,10319
161
165
  digitalhub/entities/run/_base/spec.py,sha256=xUjFRxGopUMwOPY8L-8kdFtOFypGGY4wrbLPrt6ycGI,1722
162
- digitalhub/entities/run/_base/status.py,sha256=956Mm7fl0Q5htRqgD7LiBLLLt7J9KVNWnGxnIS89vJM,499
166
+ digitalhub/entities/run/_base/status.py,sha256=vQWgDRTtUFJThdpv8lh4cHreg3uZeusP0RJTWe9PV5k,530
163
167
  digitalhub/entities/secret/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
- digitalhub/entities/secret/crud.py,sha256=HNm8_UJYMAU5JIPWWyb4x9cFlHdGAhJRWroZalha5Ak,6902
168
+ digitalhub/entities/secret/crud.py,sha256=dSkSnQdfnfxtPMLRYtHGIJ9k8_9kzFJ0BYTDWqGjKWo,6972
165
169
  digitalhub/entities/secret/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
166
170
  digitalhub/entities/secret/_base/builder.py,sha256=XkSjyofbD_5fPLF05qSMRaD3xor7EzklS2Wu1qRxiYE,2195
167
- digitalhub/entities/secret/_base/entity.py,sha256=Vi4jAhLUlDGBxfAQmmZvuv9Ou2-UdJL-IqJc90yIMCk,1798
171
+ digitalhub/entities/secret/_base/entity.py,sha256=1J5S3AmiGYjOSHGXzU48h3-khrJHVD54k8UHHwpeeWM,1820
168
172
  digitalhub/entities/secret/_base/spec.py,sha256=8xbvaLOlu79-SlrQW0MCfYIfxR7mkac2l1S-sbxbiY8,776
169
173
  digitalhub/entities/secret/_base/status.py,sha256=TK9CUKA6eg9qegqgR9t-u1g-vEeFGB6v5dN9YJNukw8,166
170
174
  digitalhub/entities/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
- digitalhub/entities/task/crud.py,sha256=cLMklzom3ILxncu-Tz9HTO1JX6JeAZRHXuOaWbR9JAg,5333
175
+ digitalhub/entities/task/crud.py,sha256=-tQNtWU7r3nfoVn3WmmrHBvSyHpGqQIa1_3Ges4kh5A,5395
172
176
  digitalhub/entities/task/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
177
  digitalhub/entities/task/_base/builder.py,sha256=21WEbycCR8yaOPcLLcAITaoQ4ZmBNXJXB-Oy0VfSPrg,2358
174
- digitalhub/entities/task/_base/entity.py,sha256=hOTFxWgSrEs2UPrd9pDZAbdWnL_OrkHr6PwxnAkYG2A,3531
175
- 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
176
180
  digitalhub/entities/task/_base/spec.py,sha256=4JsbQxx05UYjAerSNBCrLSjwMLYeMSqgPIYdkJhH7ik,2500
177
181
  digitalhub/entities/task/_base/status.py,sha256=FCSSQscQ0dHEpXdc5vSrIkTXon9FNNOr0M1KVh2ZVAA,162
178
182
  digitalhub/entities/task/_base/utils.py,sha256=faeAN7r_5q0KWDj1vrbVvFMcCpeMw7fK7vGScSpFZCI,448
179
183
  digitalhub/entities/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
- digitalhub/entities/workflow/crud.py,sha256=O_Zq30NG-cy7RU1GG88XNi8ids7vrRJAR95PTMYncGM,6517
184
+ digitalhub/entities/workflow/crud.py,sha256=pOl2JjKTqTl6-iermH53nO6hUElSCsLYmx3TYLenhmI,6587
181
185
  digitalhub/entities/workflow/_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
182
186
  digitalhub/entities/workflow/_base/builder.py,sha256=wRgot2pbXjc-Cw549uDo1zFOGKdE7wVqxCboeNoXe-Q,2035
183
187
  digitalhub/entities/workflow/_base/entity.py,sha256=yQKsoJqWRRgYVQJ0wWvu4krx1DpRM9JL4Irb_874Kqs,2516
@@ -186,7 +190,7 @@ digitalhub/entities/workflow/_base/status.py,sha256=W0j0CNdu9o2vbk0awpnDrpgwf_fZ
186
190
  digitalhub/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
191
  digitalhub/factory/api.py,sha256=tTlALvPLPE-vjdPByAXXXjIEGpm4-_zB08A_F3be4f8,5479
188
192
  digitalhub/factory/factory.py,sha256=4SYBK3q1EmVjxgiZnnGNqDJtQSs4RPatftx6duD9rEU,6482
189
- digitalhub/factory/utils.py,sha256=3yVn0CUerb2TQh67rLWvgEt-JWv-S3oxpjZCty9JfuU,2234
193
+ digitalhub/factory/utils.py,sha256=PqdqIG7lfH7k4Qw53d120OiBKPXInwnHhCn-Dt9BrDU,2397
190
194
  digitalhub/readers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
195
  digitalhub/readers/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
196
  digitalhub/readers/data/api.py,sha256=XjHNdiXclhxBat2DtWfWWIK-0z-cUZ9RvbQar6Q3pKY,1844
@@ -196,8 +200,7 @@ digitalhub/readers/data/_base/builder.py,sha256=Fv8n5kcXpAb4gSuUAWWS394bx_tvZW_9
196
200
  digitalhub/readers/data/_base/reader.py,sha256=D8Vfcys4uIlXnVbyKh6KI58b_tXSmiN94YzX-WDthrY,1754
197
201
  digitalhub/readers/data/pandas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
198
202
  digitalhub/readers/data/pandas/builder.py,sha256=GskCPKJ33-YXiGEqmlasIyFMiy2F_ged22NxxncivCg,682
199
- digitalhub/readers/data/pandas/enums.py,sha256=9GTiGrvRoaQTGbAZphXCrJnC13Cx0dg4KTNmE4AasdA,265
200
- digitalhub/readers/data/pandas/reader.py,sha256=KtU178Yt4XoEdpbrqnzGlUOlaBkK9N74uqHj5wMr3vA,7944
203
+ digitalhub/readers/data/pandas/reader.py,sha256=7Ba1A5vUxo0Wx-zkaCLj6ZFyknP40vnf9VZV1CTYmc4,7974
201
204
  digitalhub/readers/query/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
205
  digitalhub/runtimes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
203
206
  digitalhub/runtimes/_base.py,sha256=uDvSXAEytZr-BFpj1BA59vdERBk79j5pTDiG0__tazA,2510
@@ -213,26 +216,27 @@ digitalhub/stores/local/store.py,sha256=aljhQYaILZlj_qltCcsLVn1pTZYPmgs0Jqc26VRH
213
216
  digitalhub/stores/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
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
- digitalhub/stores/s3/configurator.py,sha256=t0Ct98_4WgvDm6MExaFzekUhJu5AtLd3XEAw9ALJkj8,3727
219
+ digitalhub/stores/s3/configurator.py,sha256=qoj3sZCTwojUw5b-8xYyDTC9eRwgjqIHnVbSxWj3hFY,3734
217
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
- digitalhub/stores/sql/configurator.py,sha256=Pg-89YZCNA6q6G46cI-PSVg80wIjFChjC74wxBSjhcc,3175
225
+ digitalhub/stores/sql/configurator.py,sha256=7TLU9mdLzMUsJI39pe-xWqsnzdiAmDmSXBeJG6MEBY8,3182
223
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
230
+ digitalhub/utils/enums.py,sha256=BjsLkUQ15W3KYTRYd0kuut77jTNMDBtTfJbixMReEew,269
227
231
  digitalhub/utils/exceptions.py,sha256=CGiRXx6OvYpjg6d9yEn2OvyfF0FA5n1l8uH6loCDoAY,1233
228
232
  digitalhub/utils/file_utils.py,sha256=qRb0ETNaQKwBlF5iwflDFlkrku5TvJXHHhxgHtAeS9w,5117
229
233
  digitalhub/utils/generic_utils.py,sha256=8JKmfe1UMYqzrqfptMJZ7x-EvD1-zVNLfBcGoVl8Wcg,4870
230
- digitalhub/utils/git_utils.py,sha256=air8jn73FxzSWRxpvObcdOJBWcFOqb5A7D4ISwPEs7A,3244
234
+ digitalhub/utils/git_utils.py,sha256=6vnZoJnL6uMZj0ZtHj3Tf-NYJsw3V9yitTJooSaFYEg,3407
231
235
  digitalhub/utils/io_utils.py,sha256=8jD4Rp_b7LZEpY5JSMxVUowZsnifKnbGpHT5Hijx9-g,3299
232
236
  digitalhub/utils/logger.py,sha256=ml3ne6D8wuRdNZ4F6ywmvWotSxjmZWnmKgNiuHb4R5M,437
233
- digitalhub/utils/types.py,sha256=pq5OVNLJx6ayTVa1SHgq1MzE-XUW4qipBFLzN1x0ovc,165
237
+ digitalhub/utils/types.py,sha256=x8zXsbivD8vdaNeNRZLKOPvGbz6d-59nncuvO0FsueY,109
234
238
  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,,
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.utils.types import MetricType
6
-
7
-
8
- class Metric(BaseModel):
9
- """
10
- Metric.
11
- """
12
-
13
- value: MetricType
File without changes