shepherd-core 2023.8.6__py3-none-any.whl → 2023.8.8__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.
Files changed (49) hide show
  1. shepherd_core/__init__.py +1 -1
  2. shepherd_core/data_models/__init__.py +3 -1
  3. shepherd_core/data_models/base/cal_measurement.py +17 -14
  4. shepherd_core/data_models/base/calibration.py +41 -8
  5. shepherd_core/data_models/base/content.py +17 -13
  6. shepherd_core/data_models/base/shepherd.py +29 -22
  7. shepherd_core/data_models/base/wrapper.py +5 -4
  8. shepherd_core/data_models/content/energy_environment.py +3 -2
  9. shepherd_core/data_models/content/firmware.py +10 -6
  10. shepherd_core/data_models/content/virtual_harvester.py +42 -39
  11. shepherd_core/data_models/content/virtual_source.py +83 -72
  12. shepherd_core/data_models/doc_virtual_source.py +7 -14
  13. shepherd_core/data_models/experiment/experiment.py +20 -15
  14. shepherd_core/data_models/experiment/observer_features.py +33 -31
  15. shepherd_core/data_models/experiment/target_config.py +24 -18
  16. shepherd_core/data_models/task/__init__.py +13 -5
  17. shepherd_core/data_models/task/emulation.py +35 -23
  18. shepherd_core/data_models/task/firmware_mod.py +14 -13
  19. shepherd_core/data_models/task/harvest.py +28 -13
  20. shepherd_core/data_models/task/observer_tasks.py +17 -7
  21. shepherd_core/data_models/task/programming.py +13 -13
  22. shepherd_core/data_models/task/testbed_tasks.py +16 -6
  23. shepherd_core/data_models/testbed/cape.py +3 -2
  24. shepherd_core/data_models/testbed/gpio.py +18 -15
  25. shepherd_core/data_models/testbed/mcu.py +7 -6
  26. shepherd_core/data_models/testbed/observer.py +23 -19
  27. shepherd_core/data_models/testbed/target.py +15 -14
  28. shepherd_core/data_models/testbed/testbed.py +14 -11
  29. shepherd_core/fw_tools/converter.py +7 -7
  30. shepherd_core/fw_tools/converter_elf.py +2 -2
  31. shepherd_core/fw_tools/patcher.py +7 -6
  32. shepherd_core/fw_tools/validation.py +3 -3
  33. shepherd_core/inventory/__init__.py +16 -8
  34. shepherd_core/inventory/python.py +4 -3
  35. shepherd_core/inventory/system.py +5 -5
  36. shepherd_core/inventory/target.py +4 -4
  37. shepherd_core/reader.py +3 -3
  38. shepherd_core/testbed_client/client.py +6 -4
  39. shepherd_core/testbed_client/user_model.py +14 -10
  40. shepherd_core/writer.py +2 -2
  41. {shepherd_core-2023.8.6.dist-info → shepherd_core-2023.8.8.dist-info}/METADATA +9 -2
  42. {shepherd_core-2023.8.6.dist-info → shepherd_core-2023.8.8.dist-info}/RECORD +49 -49
  43. {shepherd_core-2023.8.6.dist-info → shepherd_core-2023.8.8.dist-info}/WHEEL +1 -1
  44. tests/data_models/example_cal_data.yaml +2 -1
  45. tests/data_models/example_cal_meas.yaml +2 -1
  46. tests/data_models/test_base_models.py +19 -2
  47. tests/inventory/test_inventory.py +1 -1
  48. {shepherd_core-2023.8.6.dist-info → shepherd_core-2023.8.8.dist-info}/top_level.txt +0 -0
  49. {shepherd_core-2023.8.6.dist-info → shepherd_core-2023.8.8.dist-info}/zip-safe +0 -0
@@ -1,66 +1,66 @@
1
- shepherd_core/__init__.py,sha256=YdpJAPl1PM58Tdq4Du83I8dp_oPdjRsR41-He2wrvVY,1223
1
+ shepherd_core/__init__.py,sha256=N3fEX9mKsr5t5LinDVOe3aQVQth1MuFYuyfGa2l1rRY,1223
2
2
  shepherd_core/calibration_hw_def.py,sha256=thaDBoY-nGJhxOLVLWUVWFBI_NX8EjnYcF1J2mMwqEQ,2160
3
3
  shepherd_core/commons.py,sha256=8HLrOq30Zrgh0AcrtakJYyu3hwMgQks7mF7JyaBMcdw,170
4
4
  shepherd_core/logger.py,sha256=2c6mbBW71dMddMDhll5_3ocgew6hj11uz8EnkQ4IpcU,1468
5
- shepherd_core/reader.py,sha256=r0kk8kVE9B0puMhDWFSfZppeLIqQ5R52SayGLuysi0Q,20847
6
- shepherd_core/writer.py,sha256=2-KadPn9ArcQEf57Ud7dmAquor9gwZhaAlOPjDPDres,13920
7
- shepherd_core/data_models/__init__.py,sha256=Cda-ThRlCdTrgjncMjA3XyAdELwEchXwqzHaK7P4IZU,1685
8
- shepherd_core/data_models/doc_virtual_source.py,sha256=ad0KOkIId7iUfODu6zeC7FgtTvZggyYtvGySf-s06Cs,6798
5
+ shepherd_core/reader.py,sha256=zOpdf9LQ6kcoercZ0olgIni3hzOIspWX5bF1hSXYdCE,20843
6
+ shepherd_core/writer.py,sha256=lSbE0JN8N0wRTCQF6rR0IpKtScdOqyflDBDngwj5gII,13910
7
+ shepherd_core/data_models/__init__.py,sha256=mem0m4nZY3EgG1ctBdGGGt128lhmglF9a4e5w9OGJu0,1651
8
+ shepherd_core/data_models/doc_virtual_source.py,sha256=rJ6uIF7sFF0YUa1LV-G0_XtjH_9gJEHzI4JFs_I_LvM,6616
9
9
  shepherd_core/data_models/base/__init__.py,sha256=ugVEWXfYRCmK4o94RG4N_GKR7AbBQLfn5PCbEKVpZMU,44
10
- shepherd_core/data_models/base/cal_measurement.py,sha256=8HK4-7VnGcwqjh5Ri7x66qU7f7lq2WBLtJ3X3agvBq0,2740
11
- shepherd_core/data_models/base/calibration.py,sha256=tkcmexzruJOdf1QlboO4j7QAXbZtiBCQNfil6wj7QoQ,8097
12
- shepherd_core/data_models/base/content.py,sha256=DmW2KJXWTzmP_-agEa3PLGPzQy47Ui4KGHTTQskEoKA,1703
13
- shepherd_core/data_models/base/shepherd.py,sha256=yWhCa7EJle7nS-7PLDOs1ra8CyDxXzDpnnxT8Nu2X2U,4472
14
- shepherd_core/data_models/base/wrapper.py,sha256=d3wwVS4k94FU3aaIjEkEj0eAkFu261Kjdxsq168YlUQ,506
10
+ shepherd_core/data_models/base/cal_measurement.py,sha256=7liEZznO7Bx13-XYDh4c93uSDlgd0j4yQE1XaWJUBIw,2887
11
+ shepherd_core/data_models/base/calibration.py,sha256=DUQZfnx3csl5owlmUVsNHaP16xQQYI7WOPfTa-_FRws,9327
12
+ shepherd_core/data_models/base/content.py,sha256=H-PpGvIw_6iUcNtpy7JEVpjfh_eWncBoZ2mSzFNJ86o,1801
13
+ shepherd_core/data_models/base/shepherd.py,sha256=4X5oQi_5VsuG3VCOlNT77KFv21X1rDeHo2EAYPvVvjM,4577
14
+ shepherd_core/data_models/base/wrapper.py,sha256=mzAMdX9-BeSAeTzlWKFnjj3v2wV6NJgaSHULFHEiWes,600
15
15
  shepherd_core/data_models/content/__init__.py,sha256=6xQgeVaDgQzqwB69KJjPywt-utPu_222wiARRll_RP8,493
16
- shepherd_core/data_models/content/energy_environment.py,sha256=Y8HmlK_5GJLLV3OdLpX2-b4eI4kVd6irKRzdo4-m49M,1121
16
+ shepherd_core/data_models/content/energy_environment.py,sha256=t2W5ZxxhzdWSEtFyyF9iv1VkFqmBCAldOa5t6aEvZP8,1145
17
17
  shepherd_core/data_models/content/energy_environment_fixture.yaml,sha256=bNHqHAMFU7uyVcwcC4FQoBuD3op-SKZQxjQk02scde4,1163
18
- shepherd_core/data_models/content/firmware.py,sha256=07o3GsJPQqs_I8Cml5vRPyQ-efuJGq391Ob0p7mLMNU,3916
18
+ shepherd_core/data_models/content/firmware.py,sha256=3A0pSrLp7tGOegajjSF4Y1GYe9VBqvJ_55oedtAKWn4,4035
19
19
  shepherd_core/data_models/content/firmware_datatype.py,sha256=WHVJu-LIP_snjeITIKkuZo7aIapoTIZeFXkUNqyEqy8,154
20
20
  shepherd_core/data_models/content/firmware_fixture.yaml,sha256=cBkJ4M0IU_5_wPUeTVXnWQScnu2XTvPYihKzQyX_Byo,2151
21
- shepherd_core/data_models/content/virtual_harvester.py,sha256=_5DZEO38obCgpGinh5ZymYOSnFcjdbJAPdgq_CV-zio,8721
21
+ shepherd_core/data_models/content/virtual_harvester.py,sha256=niCNw5nhYsHLD4Wglzxad4LwhFjgV3b9usGh44NS5RI,9156
22
22
  shepherd_core/data_models/content/virtual_harvester_fixture.yaml,sha256=UWlXq-7lsyhHAkrKkyEHWdJ0fIlyy_jwSV9O_hVE2nY,4294
23
- shepherd_core/data_models/content/virtual_source.py,sha256=LKhzF2K4N_DqJtHxH7PVGtRPMkAYdLImNGESSp44AuI,13516
23
+ shepherd_core/data_models/content/virtual_source.py,sha256=lfVqiUnZCDaekTKaqAotJX4OIp2FsbyHJsm08pW1Suw,14226
24
24
  shepherd_core/data_models/content/virtual_source_fixture.yaml,sha256=2PsWP3-xad5TycZ-OQn23WsJdYwq7_9_foC4wBFYmK0,10443
25
25
  shepherd_core/data_models/experiment/__init__.py,sha256=DX9kylCe8zFm4PpVT8YS4csip7-MDoSrdah3nhBdiJE,651
26
- shepherd_core/data_models/experiment/experiment.py,sha256=lm0s76lLeS6m3OIr7OJpFKMEk-DeTTH705t8TQNRWx0,3958
27
- shepherd_core/data_models/experiment/observer_features.py,sha256=m4xEQImXbchl9C82nF_UvPtwjPN-T77OuSdLGcV8Mxk,4842
28
- shepherd_core/data_models/experiment/target_config.py,sha256=C6tTOFAmMY7SdMghFL71WlpN4UdajaKzcVbtRCJlJAU,3441
29
- shepherd_core/data_models/task/__init__.py,sha256=vS4FonMO95F0jHRQt6IavNhXp0yqHQjvFyp7BFm6PsE,2807
30
- shepherd_core/data_models/task/emulation.py,sha256=A2ASNULEIYwQSJqPUUUCLVmiNomGnqRqR6_aOb2NfRQ,5480
31
- shepherd_core/data_models/task/firmware_mod.py,sha256=lhYNRyQpRPq_H7AbD2OtdXWwMFOwe8UpMyNO48UFzxU,2398
32
- shepherd_core/data_models/task/harvest.py,sha256=3VOEeFo1JpcQG7Nmu5o4vRxEVmpCys8eCqeSd6iMEEc,2525
33
- shepherd_core/data_models/task/observer_tasks.py,sha256=oHHw6Q6sxeG7JB1NUVUsQRhzR05JvJ2dRuEUaW_otAQ,2589
34
- shepherd_core/data_models/task/programming.py,sha256=MjSWi1CJZxfzAf05z5ZCKhqFjDspKuTd3HGjBWDLUak,1925
35
- shepherd_core/data_models/task/testbed_tasks.py,sha256=44CCuCB44EKBwMXfY7-S5FhKF-SnzNTul4AHtW1PIfQ,1206
26
+ shepherd_core/data_models/experiment/experiment.py,sha256=v2aJab4mKhj7OfAEMn6I1iqIIXmE0yi7PtuVjDE-_V8,4100
27
+ shepherd_core/data_models/experiment/observer_features.py,sha256=UYDxNqf26XHp1MJi1wdwJx4GV3DVXAQfc9HPybfarOo,4798
28
+ shepherd_core/data_models/experiment/target_config.py,sha256=cth-zAIx7ngeMAmuJl5t2MiyVqdXj1dkRr3LFlMOY1k,3550
29
+ shepherd_core/data_models/task/__init__.py,sha256=QfKlAh6pTltiymWtT5hZ2lllz74paAqicqbXTB5TbJM,3168
30
+ shepherd_core/data_models/task/emulation.py,sha256=S8h9o2md5-txVL4Om-7co3GUgXJ6MC5OgW7rCtki37Y,6024
31
+ shepherd_core/data_models/task/firmware_mod.py,sha256=RbSrpZnqkRDwOnCSXetZsJBSkt6_aNC3IsLSCs0s0o8,2401
32
+ shepherd_core/data_models/task/harvest.py,sha256=Vv0L_KyemJmrFmwd1iTiiKtZJPcf3WQOFGCRQ-pbmwg,3159
33
+ shepherd_core/data_models/task/observer_tasks.py,sha256=wq3YsTOSfxXDtg4Y9q-oTYk45FtqVEbw5HBHpvv0mjA,2994
34
+ shepherd_core/data_models/task/programming.py,sha256=x4AoaNYbNsbJF3Tpa7gdkw-935yuyRWCtLW39RBHVXA,1937
35
+ shepherd_core/data_models/task/testbed_tasks.py,sha256=41fOnggGwUt0ccX03jnAg3Akdt_6jQPVRS4gpqAGV9I,1499
36
36
  shepherd_core/data_models/testbed/__init__.py,sha256=kQG0EUqJ5ylGRuwYZTbppWue9zDcSytpsHtUnohbGgA,566
37
- shepherd_core/data_models/testbed/cape.py,sha256=F3kkForXtOiAw_Q2XYZDyuM5UpM2_A2bhK0rdch1jPI,1099
37
+ shepherd_core/data_models/testbed/cape.py,sha256=Wxqkmcq4UZVRpIqQLBd0oEaSLPwsAfoa_TRwOpgpxEw,1123
38
38
  shepherd_core/data_models/testbed/cape_fixture.yaml,sha256=ZrnNflXsr-krenSzAjTnFxPA4zcOnSiIO6hDo9o5Dt0,1451
39
- shepherd_core/data_models/testbed/gpio.py,sha256=M7UZsQzR4VEj_N7El_WYK9slykIoFHH3BwcBVZYS5r0,1871
39
+ shepherd_core/data_models/testbed/gpio.py,sha256=XJI-U2OFQd1npQK4pd-VtYjmfZezz4FRFy7i_Fp_lXY,2050
40
40
  shepherd_core/data_models/testbed/gpio_fixture.yaml,sha256=yXvoXAau2hancKi2yg1xIkErPWQa6gIxNUG3y8JuF9Y,3076
41
- shepherd_core/data_models/testbed/mcu.py,sha256=yxwYrVgArbqzmKhReg4X-mTjIT8zxCNhiRJMvikk3Hk,1231
41
+ shepherd_core/data_models/testbed/mcu.py,sha256=GPucdhVximrfjhj0Z8sj-ePrhUfH2Pu-DqnLpPuUQUg,1294
42
42
  shepherd_core/data_models/testbed/mcu_fixture.yaml,sha256=lRZMLs27cTeERSFGkbMt5xgxbn11Gh9G1mQqOZK136I,522
43
- shepherd_core/data_models/testbed/observer.py,sha256=T98IZG_NkrCjRaqI5UcB4bB9ku595LBSTnofP5YPeDs,2634
43
+ shepherd_core/data_models/testbed/observer.py,sha256=iHiwIKWaT3OdHtQELpRjBv9PWi-ksWSkug8MUk2MjkM,2704
44
44
  shepherd_core/data_models/testbed/observer_fixture.yaml,sha256=Cd1HVFXjo1PKrgJFkwYtkWILJN0oXqbI1IRiEw506c0,2609
45
- shepherd_core/data_models/testbed/target.py,sha256=Gr85dQCdUwDzKzN0RLN5QfLxR-93dTbzC_dwt6HJLQY,1630
45
+ shepherd_core/data_models/testbed/target.py,sha256=erNC5x6JSM8XAvMwL44BOxP76w3HEDr2FydcW1m98O0,1671
46
46
  shepherd_core/data_models/testbed/target_fixture.yaml,sha256=QONrDtrO8016AhF3r8wucJN94m6xe9-yJORsDe2Ge5w,1462
47
- shepherd_core/data_models/testbed/testbed.py,sha256=Wiqtr58tEcni_iOpbiOhaCS_5Sn14iw7ltYbv-64TH4,3315
47
+ shepherd_core/data_models/testbed/testbed.py,sha256=AStQVlqXE3t2vkDnrgZBdckvcQyVi40ETYvKEJjEgMc,3341
48
48
  shepherd_core/data_models/testbed/testbed_fixture.yaml,sha256=0iL9n0T4SxugCHHxurc3zRSmynskhQnIvHXG5yxVh_4,420
49
49
  shepherd_core/decoder_waveform/__init__.py,sha256=HEdjRcm3m4ySEXpJ_D3lZqnxiuobJqC8axZAaAHBwDk,43
50
50
  shepherd_core/decoder_waveform/uart.py,sha256=TBuSpeH18N4WfiA7Lzg85dGl2X4UGgH9u_MkW_mNFV4,10624
51
51
  shepherd_core/fw_tools/__init__.py,sha256=aF2QSgYdzb3kr9_ah1RgZwTAYqi5G3zOytdZMJG4V40,2020
52
- shepherd_core/fw_tools/converter.py,sha256=9s8kdoE5Z9OqXbaG4ohssVXSfZA6I2IiOVOEublEuqQ,3217
53
- shepherd_core/fw_tools/converter_elf.py,sha256=KCnYYZ91FpD4JLs3FRSnRGpe_PxYljSmz1b85A91k2o,1002
54
- shepherd_core/fw_tools/patcher.py,sha256=jiC5BSg239UmrmitmR64Es-NrqNpnJvhIk1nJd29-ik,3636
55
- shepherd_core/fw_tools/validation.py,sha256=rd5WfYJAPbwv3nc7LfPqNtcnCkm9LauKveQlmKkobT0,4215
56
- shepherd_core/inventory/__init__.py,sha256=8syAvwh9t3qle43qrSzy2-pMSJpoPWXJh7TV6CO2oms,1727
57
- shepherd_core/inventory/python.py,sha256=1hYTmEov7gOB6gDdfJKUSsVIfj57XhXvaRGR-dSUwd0,1023
58
- shepherd_core/inventory/system.py,sha256=HoEG-VZ5cZoZ9Lcdg9-YfDc6pZ1gTLZbTGGYL_1fMj8,1882
59
- shepherd_core/inventory/target.py,sha256=mzaqnojD4leOeu-8RCprg0GCek7RY9A1YxAjqzALlMw,348
52
+ shepherd_core/fw_tools/converter.py,sha256=Sm1iZo67Ukw1zS5IpcRobVTduJoh0EgHtPRPGWvPtdc,3182
53
+ shepherd_core/fw_tools/converter_elf.py,sha256=hUORTkbTDA8RRVtM2ykKTrkQ3TrW9_zENIHv8Rhhp3E,992
54
+ shepherd_core/fw_tools/patcher.py,sha256=rkElnUHk-Uq0KEpbxy-zA5wP-ja88n9Jh0f4N_xIqtk,3670
55
+ shepherd_core/fw_tools/validation.py,sha256=if1EeWROw5j5PfwLulVhrXxdL5ycObk35IzyNpEHbRY,4200
56
+ shepherd_core/inventory/__init__.py,sha256=v-huLoj3z3k5KW_ubql7wir4yOYi4hjVK7iQjwuJXLw,1894
57
+ shepherd_core/inventory/python.py,sha256=LnvP9c-rWOe3552WXkl8FUL_V4k6IQ629PJDixWZplc,1064
58
+ shepherd_core/inventory/system.py,sha256=m87eMi6dee1xCWDsS_24fghWrkuwBUEIlulZFdRL_ZU,1929
59
+ shepherd_core/inventory/target.py,sha256=96jGYII8GUT429nXPGB0DE5iyrFSsislCpu5t2MJ0u4,362
60
60
  shepherd_core/testbed_client/__init__.py,sha256=V38uxXOhwB8tlAjR0jH1MPSWB1LltwC0g8ipwaIyC9o,103
61
- shepherd_core/testbed_client/client.py,sha256=hj045lEFjPO9zwZRWw9FAc7ToFz6AEj1skd39wKYqXs,5290
61
+ shepherd_core/testbed_client/client.py,sha256=fL3aYIqlRCHf_sTnHT983K9Th75EECGD8ED2FDhDImY,5327
62
62
  shepherd_core/testbed_client/fixtures.py,sha256=O3iAbj6E8aJ1MzD2080ZwrOTGsZGgQs-85ZP_MMf7z4,8306
63
- shepherd_core/testbed_client/user_model.py,sha256=17KHpYhW-X4Wigl7d2X4R7IU-aJwLgbOgP59qLVQNls,1937
63
+ shepherd_core/testbed_client/user_model.py,sha256=HL-NP6YBhYLv_b-B6xeiA9q7A1zHsPT3YE5rqvc-S0g,1984
64
64
  shepherd_core/vsource/__init__.py,sha256=x84_0M8Dg8R7DLKE5zyNAAGFiuOHPehDOWPt2KeBhKw,344
65
65
  shepherd_core/vsource/virtual_converter_model.py,sha256=UBdiagp5YaIOMzpBqcwSDjheBC5tVHnmkPszvCLZe8M,10394
66
66
  shepherd_core/vsource/virtual_harvester_model.py,sha256=Q_PfZlkrP2ugwvQ_a9W1JdBWVh9gkgj-jzBuyqgJLno,7783
@@ -74,9 +74,9 @@ tests/test_reader.py,sha256=ZTH6aYV7sw7F4VFg05WCu_tt_BueHInj6xlOO2voroY,9609
74
74
  tests/test_writer.py,sha256=qQUIPjE-Spjx8LBSi0ZDYlHMh-eufDUY_4yQwR-gGHE,5278
75
75
  tests/data_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
76
  tests/data_models/conftest.py,sha256=5QMmrNqC3RGLhEvG8YifMMa28bnXdRXJtAAHWMEqpms,367
77
- tests/data_models/example_cal_data.yaml,sha256=0c9ysKRyVCbs_kQ4wKeaH0jme8XCOGW6lyN324RUrXM,766
77
+ tests/data_models/example_cal_data.yaml,sha256=61QrTWjvvI3phIoZsKKiw02thYPjZeY51a302Bl-wk4,785
78
78
  tests/data_models/example_cal_data_faulty.yaml,sha256=BNR-Tuxc3jzBkNID28xsuSkLxZByw6FQLjbATG0GKUk,683
79
- tests/data_models/example_cal_meas.yaml,sha256=QLXIxdXvi8RTTFYHHhwbZjZrEmkWgIshuCRHeSB5BkQ,5420
79
+ tests/data_models/example_cal_meas.yaml,sha256=GVgwDMjf0AvzU50ir4sn7ig6bI_xjNmi64gRDTkoyt0,5439
80
80
  tests/data_models/example_cal_meas_faulty1.yaml,sha256=ojDt3jaiVfGFQ5N5RbomsKG1mDdLHrwiZPldkGrpA_U,4339
81
81
  tests/data_models/example_cal_meas_faulty2.yaml,sha256=3qpcWfm9Q7uE_sOWmaRaj0eERIDnX0jY4cFNbgUaLUU,4172
82
82
  tests/data_models/example_config_emulator.yaml,sha256=1yFbaHsM3Vy7DxuMhg0EYl_oJ-8Q4hwuQX0Un1vXsds,1259
@@ -85,7 +85,7 @@ tests/data_models/example_config_experiment_alternative.yaml,sha256=drCxtYp7Hilu
85
85
  tests/data_models/example_config_harvester.yaml,sha256=B5gf55VzJax_Gn8isnXxVuWXim0KviMQfyz6FxEp82s,597
86
86
  tests/data_models/example_config_testbed.yaml,sha256=ubN9dfvrMPxHQuWpqw_JkNHTxc4B9QjL2eDxkwwMnbc,470
87
87
  tests/data_models/example_config_virtsource.yaml,sha256=zB9nGys728SzUrR4tO-e8ebr1vP8-Bgg7TsKISDnGrk,4415
88
- tests/data_models/test_base_models.py,sha256=t4u3RFnoZ7YGpza0hMNEEtVFzHADzFREdUKyYUXvlD8,6204
88
+ tests/data_models/test_base_models.py,sha256=FF_z_-9KZj9QXFIU3O0S_X9wDtP8xSQ7l-32PmEblfc,6708
89
89
  tests/data_models/test_content_fixtures.py,sha256=xcKe70_hL37Ae3LswaXZdY4YfOWqW_fj_JVb-95Qnqo,1701
90
90
  tests/data_models/test_content_models.py,sha256=87TFxiu8m35CTOvE4MoYHhKLZ0T1p4JVE_hvHk9_OyE,7306
91
91
  tests/data_models/test_examples.py,sha256=yiiPZCjFQ4oBZCiIGmR3XOyU9qEAiFqncmO33LbbPNU,1420
@@ -102,15 +102,15 @@ tests/fw_tools/test_converter.py,sha256=mKUpgNmjeOKhyBF9c3bsJ4D_YczSHaxvnejX547o
102
102
  tests/fw_tools/test_patcher.py,sha256=ZDCYygjia7U71qzImxvBHGuuNWwbzAMTroYGQmxNxk4,2044
103
103
  tests/fw_tools/test_validation.py,sha256=6a-qS_lb4qs7iZmGwnHzR_Rbm4MD_2GQwvGW2pqOo1o,1721
104
104
  tests/inventory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- tests/inventory/test_inventory.py,sha256=waWfXQ4I5Q2GsUlGn3GUnDtbbO7jpUMb4R7r6d8IVmI,642
105
+ tests/inventory/test_inventory.py,sha256=-B3edajduBnQtr_lcd96ybU9tKK50ms5s0w2FQn3P-Q,645
106
106
  tests/testbed_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  tests/vsource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
108
  tests/vsource/conftest.py,sha256=yV-dYtslkTVssjXFHWzAkYge1lBzxNbewcwaermXsR8,1364
109
109
  tests/vsource/test_converter.py,sha256=HWm1Mqe-jZn_gyGz-nHvrZtRxv4uME8j4zAkFnyQIdw,5163
110
110
  tests/vsource/test_harvester.py,sha256=_SFA22rd1rIeqD01ayN_EwREyb7PGknnJu_AZJcC2b0,2532
111
111
  tests/vsource/test_z.py,sha256=bbMUuOhfLJHwW2l4PEqj0giaWECJPNGu1ERVywqkdvA,57
112
- shepherd_core-2023.8.6.dist-info/METADATA,sha256=hvD2UwDIN5h4IQOSLHR_eiP_Zs8ZTGjdlgpWMsWtKQc,4312
113
- shepherd_core-2023.8.6.dist-info/WHEEL,sha256=5sUXSg9e4bi7lTLOHcm6QEYwO5TIF1TNbTSVFVjcJcc,92
114
- shepherd_core-2023.8.6.dist-info/top_level.txt,sha256=6H9zsX2PNWwILI7EJu8fNam1KfG2Sqvkez-jlwrD9SE,20
115
- shepherd_core-2023.8.6.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
116
- shepherd_core-2023.8.6.dist-info/RECORD,,
112
+ shepherd_core-2023.8.8.dist-info/METADATA,sha256=gioq8iFuAJOHlR-z1CVddu3jCqEWMZY0w3_AFx9BIJY,4539
113
+ shepherd_core-2023.8.8.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
114
+ shepherd_core-2023.8.8.dist-info/top_level.txt,sha256=6H9zsX2PNWwILI7EJu8fNam1KfG2Sqvkez-jlwrD9SE,20
115
+ shepherd_core-2023.8.8.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
116
+ shepherd_core-2023.8.8.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.1)
2
+ Generator: bdist_wheel (0.41.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,7 +1,8 @@
1
1
  datatype: CalibrationCape
2
2
  parameters:
3
3
  host: sheep0
4
- cape: xyz1
4
+ cape:
5
+ serial_number: A123
5
6
  emulator:
6
7
  adc_C_A:
7
8
  gain: 2.2306053900482405e-07
@@ -2,7 +2,8 @@
2
2
  datatype: CalMeasurementCape
3
3
  parameters:
4
4
  host: sheep0
5
- cape: xyz1
5
+ cape:
6
+ serial_number: A123
6
7
  emulator:
7
8
  adc_C_A:
8
9
  - reference_si: 1.0e-05
@@ -11,9 +11,19 @@ from shepherd_core.data_models.base.calibration import CalibrationEmulator
11
11
  from shepherd_core.data_models.base.calibration import CalibrationHarvester
12
12
  from shepherd_core.data_models.base.calibration import CalibrationPair
13
13
  from shepherd_core.data_models.base.calibration import CalibrationSeries
14
+ from shepherd_core.data_models.base.calibration import CapeData
14
15
  from shepherd_core.data_models.base.content import ContentModel
15
16
 
16
17
 
18
+ def test_base_model_cape_data() -> None:
19
+ CapeData(serial_number="xyz1")
20
+
21
+
22
+ def test_base_model_cape_data_fail() -> None:
23
+ with pytest.raises(ValueError):
24
+ CapeData()
25
+
26
+
17
27
  def test_base_model_cal_pair_conv() -> None:
18
28
  cal = CalibrationPair(gain=4.9)
19
29
  val_raw = 500
@@ -61,6 +71,13 @@ def test_base_model_cal_cape_bytestr() -> None:
61
71
  assert cal1.get_hash() == cal2.get_hash()
62
72
 
63
73
 
74
+ def test_base_model_cal_cape_bytestr_with_cape_data() -> None:
75
+ cal1 = CalibrationCape(cape=CapeData(serial_number="123"))
76
+ cb = cal1.to_bytestr()
77
+ cal2 = CalibrationCape.from_bytestr(cb, cal1.cape)
78
+ assert cal1.get_hash() == cal2.get_hash()
79
+
80
+
64
81
  def test_base_model_cal_cape_example(tmp_path: Path) -> None:
65
82
  cal0 = CalMeasurementCape()
66
83
  path1 = Path(__file__).resolve().with_name("example_cal_data.yaml")
@@ -164,13 +181,13 @@ def test_base_model_shepherd_fault_load_other(tmp_path) -> None:
164
181
 
165
182
  def test_base_model_shepherd_fault_mutation() -> None:
166
183
  content = ContentModel(name="tricky", owner="peter", group="work")
167
- with pytest.raises(TypeError):
184
+ with pytest.raises(ValidationError):
168
185
  content.name = "whatever"
169
186
 
170
187
 
171
188
  def test_base_model_shepherd_fault_short_str() -> None:
172
189
  with pytest.raises(ValidationError):
173
- _ = ContentModel(name="sho", owner="peter", group="work")
190
+ _ = ContentModel(name="", owner="peter", group="work")
174
191
 
175
192
 
176
193
  def test_base_model_shepherd_fault_long_str() -> None:
@@ -19,5 +19,5 @@ def test_collect_data(inv: Callable) -> None:
19
19
 
20
20
  def test_inventorize(tmp_path: Path) -> None:
21
21
  inv = Inventory.collect()
22
- inl = InventoryList(items=[inv])
22
+ inl = InventoryList(elements=[inv])
23
23
  inl.to_csv(tmp_path / "some.csv")