shepherd-core 2025.8.1__py3-none-any.whl → 2026.2.1__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 (82) hide show
  1. shepherd_core/config.py +1 -1
  2. shepherd_core/data_models/__init__.py +8 -4
  3. shepherd_core/data_models/base/cal_measurement.py +7 -2
  4. shepherd_core/data_models/base/calibration.py +23 -12
  5. shepherd_core/data_models/base/content.py +12 -2
  6. shepherd_core/data_models/base/shepherd.py +13 -4
  7. shepherd_core/data_models/base/wrapper.py +2 -0
  8. shepherd_core/data_models/content/__init__.py +8 -4
  9. shepherd_core/data_models/content/_external_fixtures.yaml +104 -96
  10. shepherd_core/data_models/content/_metadata_eenvs_bonito.yaml +436 -0
  11. shepherd_core/data_models/content/_metadata_eenvs_synthetic_multivariate_random_walk.yaml +164 -0
  12. shepherd_core/data_models/content/_metadata_eenvs_synthetic_on_off_markov.yaml +3280 -0
  13. shepherd_core/data_models/content/_metadata_eenvs_synthetic_on_off_windows.yaml +3260 -0
  14. shepherd_core/data_models/content/_metadata_eenvs_synthetic_static.yaml +450 -0
  15. shepherd_core/data_models/content/energy_environment.py +341 -23
  16. shepherd_core/data_models/content/energy_environment_fixture.yaml +21 -18
  17. shepherd_core/data_models/content/enum_datatypes.py +109 -0
  18. shepherd_core/data_models/content/firmware.py +44 -16
  19. shepherd_core/data_models/content/{virtual_harvester.py → virtual_harvester_config.py} +13 -96
  20. shepherd_core/data_models/content/{virtual_source.py → virtual_source_config.py} +103 -60
  21. shepherd_core/data_models/content/virtual_source_fixture.yaml +24 -24
  22. shepherd_core/data_models/content/virtual_storage_config.py +429 -0
  23. shepherd_core/data_models/content/virtual_storage_fixture_creator.py +267 -0
  24. shepherd_core/data_models/content/virtual_storage_fixture_ideal.yaml +637 -0
  25. shepherd_core/data_models/content/virtual_storage_fixture_lead.yaml +49 -0
  26. shepherd_core/data_models/content/virtual_storage_fixture_lipo.yaml +735 -0
  27. shepherd_core/data_models/content/virtual_storage_fixture_mlcc.yaml +200 -0
  28. shepherd_core/data_models/content/virtual_storage_fixture_param_experiments.py +151 -0
  29. shepherd_core/data_models/content/virtual_storage_fixture_super.yaml +150 -0
  30. shepherd_core/data_models/content/virtual_storage_fixture_tantal.yaml +550 -0
  31. shepherd_core/data_models/experiment/experiment.py +38 -13
  32. shepherd_core/data_models/experiment/observer_features.py +17 -4
  33. shepherd_core/data_models/experiment/target_config.py +56 -8
  34. shepherd_core/data_models/task/__init__.py +13 -2
  35. shepherd_core/data_models/task/emulation.py +10 -6
  36. shepherd_core/data_models/task/firmware_mod.py +3 -1
  37. shepherd_core/data_models/task/harvest.py +3 -1
  38. shepherd_core/data_models/task/helper_paths.py +2 -2
  39. shepherd_core/data_models/task/observer_tasks.py +8 -6
  40. shepherd_core/data_models/task/programming.py +4 -2
  41. shepherd_core/data_models/task/testbed_tasks.py +8 -2
  42. shepherd_core/data_models/testbed/cape.py +2 -0
  43. shepherd_core/data_models/testbed/gpio.py +2 -0
  44. shepherd_core/data_models/testbed/mcu.py +2 -0
  45. shepherd_core/data_models/testbed/observer.py +2 -0
  46. shepherd_core/data_models/testbed/target.py +7 -5
  47. shepherd_core/data_models/testbed/target_fixture.old1 +1 -1
  48. shepherd_core/data_models/testbed/target_fixture.yaml +1 -1
  49. shepherd_core/data_models/testbed/testbed.py +17 -15
  50. shepherd_core/decoder_waveform/uart.py +1 -1
  51. shepherd_core/exit_handler.py +22 -0
  52. shepherd_core/fw_tools/converter.py +2 -2
  53. shepherd_core/fw_tools/validation.py +1 -1
  54. shepherd_core/inventory/__init__.py +23 -21
  55. shepherd_core/inventory/system.py +3 -3
  56. shepherd_core/logger.py +0 -1
  57. shepherd_core/reader.py +32 -27
  58. shepherd_core/testbed_client/cache_path.py +3 -3
  59. shepherd_core/testbed_client/client_abc_fix.py +14 -3
  60. shepherd_core/testbed_client/client_web.py +7 -5
  61. shepherd_core/testbed_client/fixtures.py +7 -7
  62. shepherd_core/version.py +1 -1
  63. shepherd_core/vsource/__init__.py +4 -0
  64. shepherd_core/vsource/virtual_converter_model.py +29 -28
  65. shepherd_core/vsource/virtual_harvester_model.py +29 -21
  66. shepherd_core/vsource/virtual_harvester_simulation.py +38 -39
  67. shepherd_core/vsource/virtual_source_model.py +18 -14
  68. shepherd_core/vsource/virtual_source_simulation.py +71 -73
  69. shepherd_core/vsource/virtual_storage_model.py +164 -0
  70. shepherd_core/vsource/virtual_storage_model_fixed_point_math.py +58 -0
  71. shepherd_core/vsource/virtual_storage_models_kibam.py +449 -0
  72. shepherd_core/vsource/virtual_storage_simulator.py +104 -0
  73. shepherd_core/writer.py +16 -9
  74. {shepherd_core-2025.8.1.dist-info → shepherd_core-2026.2.1.dist-info}/METADATA +6 -3
  75. shepherd_core-2026.2.1.dist-info/RECORD +102 -0
  76. {shepherd_core-2025.8.1.dist-info → shepherd_core-2026.2.1.dist-info}/WHEEL +1 -1
  77. shepherd_core-2026.2.1.dist-info/licenses/LICENSE +21 -0
  78. shepherd_core/data_models/content/firmware_datatype.py +0 -15
  79. shepherd_core/data_models/virtual_source_doc.txt +0 -207
  80. shepherd_core-2025.8.1.dist-info/RECORD +0 -83
  81. {shepherd_core-2025.8.1.dist-info → shepherd_core-2026.2.1.dist-info}/top_level.txt +0 -0
  82. {shepherd_core-2025.8.1.dist-info → shepherd_core-2026.2.1.dist-info}/zip-safe +0 -0
@@ -0,0 +1,102 @@
1
+ shepherd_core/__init__.py,sha256=cwfuqvk-psFHE6iGGaGw82BMqLiLTazVBxHm97sz_E0,1264
2
+ shepherd_core/calibration_hw_def.py,sha256=aL94bA1Sf14L5A3PLdVvQVYtGi28S4NUWA65wbim8bw,2895
3
+ shepherd_core/commons.py,sha256=_phovuhCgLmO5gcazQ5hyykUPc907dyK9KpY2lUtoIM,205
4
+ shepherd_core/config.py,sha256=Mf_7saGuCGXWC_H47GBqRhk3JKGdTD85EO-HJDCVHpY,976
5
+ shepherd_core/exit_handler.py,sha256=CCsc5ENNFR7_-LQy6vc0lZTFmMyhW8dBso_Sr4mC0mo,647
6
+ shepherd_core/logger.py,sha256=LQAul1gBV3AkboKUVkkMUdhFD5gzLjqBgP_orL8kU5A,1748
7
+ shepherd_core/reader.py,sha256=FcMg6xobB9KDXLSO7paF-9JgrasJOuTJSHzl2DahQhY,29466
8
+ shepherd_core/version.py,sha256=q2aBmUNwnnJwfhRPiuJW6uLAsf952uPcv8XV5_jTXgY,76
9
+ shepherd_core/writer.py,sha256=KaJeAYGDzwJI5AyF_2CvsjdKnrWRZBcwZoT-DFTlLbE,14828
10
+ shepherd_core/data_models/__init__.py,sha256=K8ZadHpq03DcuovMDc4eLaDoAToaZtJrxHuD-d3YDLI,2093
11
+ shepherd_core/data_models/readme.md,sha256=DHPVmkWqDksWomRHRTVWVHy9wXF9oMJrITgKs4Pnz2g,2494
12
+ shepherd_core/data_models/base/__init__.py,sha256=PSJ6acWViqBm0Eiom8DIgKfFVrp5lzYr8OsDvP79vwI,94
13
+ shepherd_core/data_models/base/cal_measurement.py,sha256=eduW5b12RVTsWN1GD-_JNgBb1O8CG9w1cybCnRsD4Vs,3399
14
+ shepherd_core/data_models/base/calibration.py,sha256=Y7oriUxZazCJhPlCv-uvj1dW2-ozctoxz8rVmPigFHE,11029
15
+ shepherd_core/data_models/base/content.py,sha256=upcHuR-fgzvwSSaAGXjVBFSR_Yq1Z_yTPkPaUL5g8V0,2597
16
+ shepherd_core/data_models/base/shepherd.py,sha256=lVp18VCNfL7SbJ7NMyahcVDqMhYET0H1Urbkxp_E4I4,7676
17
+ shepherd_core/data_models/base/timezone.py,sha256=2T6E46hJ1DAvmqKfu6uIgCK3RSoAKjGXRyzYNaqKyjY,665
18
+ shepherd_core/data_models/base/wrapper.py,sha256=lmIu2vFbowR-oKMichwvx4Sp7fnjVIzTfg9HDcy9sdA,779
19
+ shepherd_core/data_models/content/__init__.py,sha256=Yt_CB4mRNF9mD6m9QizNMJl6QAL1p-IsT5MOosLHZ2g,684
20
+ shepherd_core/data_models/content/_external_fixtures.yaml,sha256=xCBt0Ew702LowtS0fwUx4h0x5_Ua1XsaQ8P-Wplxrro,12764
21
+ shepherd_core/data_models/content/_metadata_eenvs_bonito.yaml,sha256=qJcCbJSqp5CI3YhXBqjDdpF3ZVOrXm3yZ45UBuuZNXI,16611
22
+ shepherd_core/data_models/content/_metadata_eenvs_synthetic_multivariate_random_walk.yaml,sha256=FF6xx4Dxv-rpOtsGFdsIQiDQ8yjB9vaw3h2JskL9zsA,6415
23
+ shepherd_core/data_models/content/_metadata_eenvs_synthetic_on_off_markov.yaml,sha256=DHg-Ra4a9ShoMgImj1lwQ8H7QxhlaU1UW4FejZkMksw,125278
24
+ shepherd_core/data_models/content/_metadata_eenvs_synthetic_on_off_windows.yaml,sha256=WNFJvda6r5-jAVHl5zNUHnGhAHA_9Mtujw46qg275WE,123102
25
+ shepherd_core/data_models/content/_metadata_eenvs_synthetic_static.yaml,sha256=yNZbU8-CdWqlxXilOLK2yrSzNfrc9IMUjhkQUcvPkx8,13787
26
+ shepherd_core/data_models/content/energy_environment.py,sha256=5wmwhNe2hO87YRJ6lymwQPCpikiR94UVJe9MLW10kto,14975
27
+ shepherd_core/data_models/content/energy_environment_fixture.yaml,sha256=SrI55Rqj5DKu33yqXgghCKwEr26_k21sJ1X53TRsJnw,1639
28
+ shepherd_core/data_models/content/enum_datatypes.py,sha256=BlCvdSlvd6aaCzsnZZ3likSrK3WFT1o1FmCAX9bmvuA,3238
29
+ shepherd_core/data_models/content/firmware.py,sha256=1HV1qVYsihbE1mtlE3XMG84QvMPZDnRG8B_fCs7y1Zk,7222
30
+ shepherd_core/data_models/content/virtual_harvester_config.py,sha256=NQbYg28DRbPHECJsMSAHUPg7fKZVFUjayB2lduqrdXo,17575
31
+ shepherd_core/data_models/content/virtual_harvester_fixture.yaml,sha256=4eNQyFI9LozpButOTlBQ07T0MFCaPEYIxwtedMjUf3U,4575
32
+ shepherd_core/data_models/content/virtual_source_config.py,sha256=eC0U15i7YoTclZWL95xWh8rDR9gOkIk06GnSB0J4jnE,17250
33
+ shepherd_core/data_models/content/virtual_source_fixture.yaml,sha256=eW5JFlt7RxCF3WgLI5OW2i4sDd2uLITzhCRIiikbce4,11151
34
+ shepherd_core/data_models/content/virtual_storage_config.py,sha256=DsowE7G9CutGwMkOqYlrRDruAI8wFCSiMmp_JooHY8o,15759
35
+ shepherd_core/data_models/content/virtual_storage_fixture_creator.py,sha256=ehC8xVUd3kpUSsWn56kXvumFK148gX-i0gFMf04bxJQ,9281
36
+ shepherd_core/data_models/content/virtual_storage_fixture_ideal.yaml,sha256=_fal7Egnq1_yIMCh-clZhrs2yNKIBxAUpxm4Y4J6JtM,11838
37
+ shepherd_core/data_models/content/virtual_storage_fixture_lead.yaml,sha256=m3aptqq7S0WCuHbkG_7Ly9isTcioVsayjV56CSBvfrs,926
38
+ shepherd_core/data_models/content/virtual_storage_fixture_lipo.yaml,sha256=zAFUapOxAeW14ndqQHKnFgUOUylB4DCuwngC1ERMsGw,13788
39
+ shepherd_core/data_models/content/virtual_storage_fixture_mlcc.yaml,sha256=DjvQVw3YY3Qwq_MUkSgt-mTHyixra_T73uZBiSJKc9A,3778
40
+ shepherd_core/data_models/content/virtual_storage_fixture_param_experiments.py,sha256=OUL-r0knbQ852pG4NBnvKtlUHON4Ky98wDgf-a1yyhE,5241
41
+ shepherd_core/data_models/content/virtual_storage_fixture_super.yaml,sha256=I4vuW4Pg94qxh17miNj8a_batVEFAL-nAhZS0hHPOKI,2875
42
+ shepherd_core/data_models/content/virtual_storage_fixture_tantal.yaml,sha256=7E0zby__SvxWXO_saHbR8ir7N0KwuvGCyKlitZMUoeM,10600
43
+ shepherd_core/data_models/experiment/__init__.py,sha256=lorsx0M-JWPIrt_UZfexsLwaITv5slFb3krBOt0idm8,618
44
+ shepherd_core/data_models/experiment/experiment.py,sha256=pRL9wFYyxycEjbLGB1ptqRqpDbUcgIaYnieGpy2q594,5193
45
+ shepherd_core/data_models/experiment/observer_features.py,sha256=zrx5-epjqgGzA5G0GnijZ9vGmXT1mSKvSoOqPUfvbAA,8609
46
+ shepherd_core/data_models/experiment/target_config.py,sha256=CJXej8oQ2ZD6LGF4ZB2U10VGHqqa3CQPTdireeZoncg,6153
47
+ shepherd_core/data_models/task/__init__.py,sha256=dPrd6PHvGtHjDyXKofMMHuGHmgYKpuO8qbaQ491n9xE,4172
48
+ shepherd_core/data_models/task/emulation.py,sha256=uaE9b8ng3qydqi1-4Iu2ZroY8d1wVfl_349uzL9cIPc,8010
49
+ shepherd_core/data_models/task/firmware_mod.py,sha256=YQ-6v59aw_4-niZ-SgMsiqpAVJitsd7gTjy7oYcq-dE,3510
50
+ shepherd_core/data_models/task/harvest.py,sha256=kB5vCECPB5gwmveH-Z0tO7hi-46qM4I7PEfjWLJ-4P0,3755
51
+ shepherd_core/data_models/task/helper_paths.py,sha256=nbIkLBuNa_2jnxA_Ljcc7l9n9H5OGKQATTvC1I8Qp4s,445
52
+ shepherd_core/data_models/task/observer_tasks.py,sha256=D-NbbQi3qHv9AFNfoPa1yFUrK2NvylAfkko19AY8804,4147
53
+ shepherd_core/data_models/task/programming.py,sha256=pF8SRE08ac_3NLUui6CxaS31iGHxCItQ-ZiDlM5mLvE,2969
54
+ shepherd_core/data_models/task/testbed_tasks.py,sha256=FoO2MjwLVCnsUcBoliC40ery8MbyCJmiqssfUvjrDlU,2617
55
+ shepherd_core/data_models/testbed/__init__.py,sha256=t9nwml5pbu7ZWghimOyZ8ujMIgnRgFkl23pNb5d_KdU,581
56
+ shepherd_core/data_models/testbed/cape.py,sha256=mdMfGEr0ulaVzZLJn6sH8szLiY8Xf0o5PMpCiqZzX94,1361
57
+ shepherd_core/data_models/testbed/cape_fixture.yaml,sha256=ZCjQSlHE3_5EQpusmRYuw-z9NlxT-8MU49RCd04PfAg,2373
58
+ shepherd_core/data_models/testbed/gpio.py,sha256=xXYthkFaEUINL1ANhEHaIXlx9CAHqY8CB-CRnNNoZxM,2518
59
+ shepherd_core/data_models/testbed/gpio_fixture.yaml,sha256=yXvoXAau2hancKi2yg1xIkErPWQa6gIxNUG3y8JuF9Y,3076
60
+ shepherd_core/data_models/testbed/mcu.py,sha256=LdNeTz4mH416wEMEnxWgzQCZ44m43JISsVUbe1rAKds,1515
61
+ shepherd_core/data_models/testbed/mcu_fixture.yaml,sha256=bOYXdQY-6JYesxOkZAT8WvuGsdUc_MW4dkAmopLL8RM,507
62
+ shepherd_core/data_models/testbed/observer.py,sha256=ijxhB7VUwJNuu6IwN0eo4s7g151QeG5MnDAdwL8SBhQ,3380
63
+ shepherd_core/data_models/testbed/observer_fixture.yaml,sha256=jjFqa0aLmL7bHJptRd0eqGfOngPzmocDRIQLB3_mLx8,5158
64
+ shepherd_core/data_models/testbed/target.py,sha256=57NXMHb-sCNCpMVLqmNHAYC9IODeZbkjRwk1AVp6fXw,1938
65
+ shepherd_core/data_models/testbed/target_fixture.old1,sha256=dpvold1xgl8TXq0_YSHuiZq-RVSSYY_eyRHwNla92ao,3683
66
+ shepherd_core/data_models/testbed/target_fixture.yaml,sha256=OmiAwWQdCz7Gltd52B3fZkx1-bIey1s_whr1m5jMFA4,4372
67
+ shepherd_core/data_models/testbed/testbed.py,sha256=q3EO8gX_WpgDLBzGUmT6iuXRxPskCIi8XQRkSoR3hBk,3718
68
+ shepherd_core/data_models/testbed/testbed_fixture.yaml,sha256=ca5LI-fWoc3I9m2QScVAh84Bv-ftkSGAizR3ZR0lkC8,980
69
+ shepherd_core/decoder_waveform/__init__.py,sha256=-ohGz0fA2tKxUJk4FAQXKtI93d6YGdy0CrkdhOod1QU,120
70
+ shepherd_core/decoder_waveform/uart.py,sha256=zQX64dBXmhEYXN__OfS2h_1fDgZLomhbptQX34-Fobc,10989
71
+ shepherd_core/fw_tools/__init__.py,sha256=D9GGj9TzLWZfPjG_iV2BsF-Q1TGTYTgEzWTUI5ReVAA,2090
72
+ shepherd_core/fw_tools/converter.py,sha256=e0pf2UU7n_haxa-aVHOaH0wb6d17QvIP4se_rANh9vI,3624
73
+ shepherd_core/fw_tools/converter_elf.py,sha256=DC-zDi1v7pCFTA1d4VqErDvIMAYwAbv_efqh17wLeRA,1058
74
+ shepherd_core/fw_tools/patcher.py,sha256=V5Dg-uhTxT7Ro4UdFS7pVl2GwkKHLWd8YIvZKxMdePg,4941
75
+ shepherd_core/fw_tools/validation.py,sha256=DbUagjuM-aMdraitodJABjSlJDYqotbJExw99bWWKL4,5092
76
+ shepherd_core/inventory/__init__.py,sha256=rowGfiCCFqh_AfZWA5fOn4tPJ_Jm8xkLs8lYrD7wn2E,3839
77
+ shepherd_core/inventory/python.py,sha256=uchavGsssM4CTYQ23kF6hxhl3NUeEpGVvJYX8t7dWU4,1210
78
+ shepherd_core/inventory/system.py,sha256=xZKYNFk5zKSZGHPtpilrQqOnlWVeb9d7-dsDKq_Chzw,3166
79
+ shepherd_core/inventory/target.py,sha256=4ju4HwXxEJ2naNEfL-gS8Z6s0eacllMmBu4iKKz-14Y,489
80
+ shepherd_core/testbed_client/__init__.py,sha256=QtbsBUzHwOoM6rk0qa21ywuz63YV7af1fwUtWW8Vg_4,234
81
+ shepherd_core/testbed_client/cache_path.py,sha256=bf2eZD2ZgE6utUE6qwhYxkq_-qqveON01i1EQTl8rgQ,440
82
+ shepherd_core/testbed_client/client_abc_fix.py,sha256=6rvi8Ohn9h5DUTPtIPdK9w9Pyk4ZK5_KXv6SWsnbxYA,4557
83
+ shepherd_core/testbed_client/client_web.py,sha256=jHLfx-cZnnT383V9PsRpQBG3Q1ODQ3SyKe4OZwtM24U,6011
84
+ shepherd_core/testbed_client/fixtures.py,sha256=VjEH6PFICjjgOya3wRk6ibyuYi6xoM-F3vm9WTUfUJ4,9335
85
+ shepherd_core/testbed_client/user_model.py,sha256=9vqW9Vzs-QwD3SqgXDyNGLR8siQ9-2ueRcaI3yxs6yA,2037
86
+ shepherd_core/vsource/__init__.py,sha256=D8FB8ugsFp3XBM5io33j6SJTYy3TfK_-3FW7boLDCaw,933
87
+ shepherd_core/vsource/target_model.py,sha256=BjOlwX_gIOJ91e4OOLB4_OsCpuhq9vm57ERjM-iBhAM,5129
88
+ shepherd_core/vsource/virtual_converter_model.py,sha256=rvylm1Rtyv6CzOvBzfK3KHZNhXP6pPkkzngqsrguvXA,11579
89
+ shepherd_core/vsource/virtual_harvester_model.py,sha256=D4iz19ug7Iy24URtJNDsNeyGQowGrM8kdInpCcJ_LQk,10051
90
+ shepherd_core/vsource/virtual_harvester_simulation.py,sha256=nhuuKrMo4UW94DdD-FtfQcXR8aVLZ6jE5rlLwcJG_Oo,2659
91
+ shepherd_core/vsource/virtual_source_model.py,sha256=-cuEIDfmCERh3LQV77arweLlQ45Jm6hCON-CdQ4DZ-A,3407
92
+ shepherd_core/vsource/virtual_source_simulation.py,sha256=3aksfE40YeZiBQIwtj7c9-L6BWrIbID6YNU20A_lZ5w,5512
93
+ shepherd_core/vsource/virtual_storage_model.py,sha256=UNV5HkU4ahiHE213ygpovs4FqgtIc3v6TWW1aaijKCc,5634
94
+ shepherd_core/vsource/virtual_storage_model_fixed_point_math.py,sha256=v4SbEb7bY4ZBg0p9xgHd76Pq2B3M98xSZ16AWRyUNTQ,2050
95
+ shepherd_core/vsource/virtual_storage_models_kibam.py,sha256=uDFfNx2aaqbkCeAuIK5HahjdmgZDJyBJ62afGhlBLIY,18262
96
+ shepherd_core/vsource/virtual_storage_simulator.py,sha256=qPWHwIdey9aDOA8oSJjNX5WKBMV8avzWkcEpp1m3uyY,4268
97
+ shepherd_core-2026.2.1.dist-info/licenses/LICENSE,sha256=89rkXaau2wFxiFxOi9wKow7KoZEaDQm33QdKIqZvWHU,1120
98
+ shepherd_core-2026.2.1.dist-info/METADATA,sha256=X08vXLvpq5cTACuEB5y5zeEiQZ2L4LGc25XLsNTksZ4,7696
99
+ shepherd_core-2026.2.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
100
+ shepherd_core-2026.2.1.dist-info/top_level.txt,sha256=wy-t7HRBrKARZxa-Y8_j8d49oVHnulh-95K9ikxVhew,14
101
+ shepherd_core-2026.2.1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
102
+ shepherd_core-2026.2.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022-2025, Networked Embedded Systems Lab, TU Dresden, Ingmar Splitt
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,15 +0,0 @@
1
- """Separated data-type.
2
-
3
- Done due to cyclic inheritance.
4
- """
5
-
6
- from enum import Enum
7
-
8
-
9
- class FirmwareDType(str, Enum):
10
- """Options for firmware-types."""
11
-
12
- base64_hex = "hex"
13
- base64_elf = "elf"
14
- path_hex = "path_hex"
15
- path_elf = "path_elf"
@@ -1,207 +0,0 @@
1
- from pydantic import Field
2
-
3
- from ..data_models import ShpModel
4
- from .content import VirtualHarvesterConfig
5
- from .content.virtual_source import LUT1D
6
- from .content.virtual_source import LUT2D
7
-
8
-
9
- @DeprecationWarning
10
- class VirtualSourceDoc(ShpModel, title="Virtual Source (Documented, Testversion)"):
11
- # General Config
12
- name: str = Field(
13
- title="Name of Virtual Source",
14
- description="Slug to use this Name as later reference",
15
- default="neutral",
16
- )
17
- inherit_from: str = Field(
18
- description="Name of converter to derive defaults from",
19
- default="neutral",
20
- )
21
-
22
- enable_boost: bool = Field(
23
- description="If false -> V_intermediate becomes V_input, "
24
- "output-switch-hysteresis is still usable",
25
- default=False,
26
- )
27
- enable_buck: bool = Field(
28
- description="If false -> V_output becomes V_intermediate",
29
- default=False,
30
- )
31
- log_intermediate_voltage: bool = Field(
32
- description="Record / log virtual intermediate (cap-)voltage and "
33
- "-current (out) instead of output-voltage and -current",
34
- default=False,
35
- )
36
-
37
- interval_startup_delay_drain_ms: float = Field(
38
- description="Model begins running but Target is not draining the storage capacitor",
39
- default=0,
40
- ge=0,
41
- le=10e3,
42
- )
43
-
44
- harvester: VirtualHarvesterConfig = Field(
45
- description="Only active / needed if input is ivsurface / curves,
46
- default=VirtualHarvesterConfig(name="mppt_opt"),
47
- )
48
-
49
- V_input_max_mV: float = Field(
50
- description="Maximum input Voltage [mV]",
51
- default=10_000,
52
- ge=0,
53
- le=10e3,
54
- )
55
- I_input_max_mA: float = Field(
56
- description="Maximum input Current [mA]",
57
- default=4_200,
58
- ge=0,
59
- le=4.29e3,
60
- )
61
- V_input_drop_mV: float = Field(
62
- title="Drop of Input-Voltage [mV]",
63
- description="Simulate an input-diode",
64
- default=0,
65
- ge=0,
66
- le=4.29e6,
67
- )
68
- R_input_mOhm: float = Field(
69
- description="Resistance only active with disabled boost, range [1 mOhm; 1MOhm]",
70
- default=0,
71
- ge=0,
72
- le=4.29e6,
73
- )
74
-
75
- C_intermediate_uF: float = Field(
76
- description="Capacity of primary Storage-Capacitor",
77
- default=0,
78
- ge=0,
79
- le=100_000,
80
- )
81
- V_intermediate_init_mV: float = Field(
82
- description="Allow a proper / fast startup",
83
- default=3_000,
84
- ge=0,
85
- le=10_000,
86
- )
87
- I_intermediate_leak_nA: float = Field(
88
- description="Current leakage of intermediate storage capacitor",
89
- default=0,
90
- ge=0,
91
- le=4.29e9,
92
- )
93
-
94
- V_intermediate_enable_threshold_mV: float = Field(
95
- description="Target gets connected (hysteresis-combo with next value)",
96
- default=1,
97
- ge=0,
98
- le=10_000,
99
- )
100
- V_intermediate_disable_threshold_mV: float = Field(
101
- description="Target gets disconnected",
102
- default=0,
103
- ge=0,
104
- le=10_000,
105
- )
106
- interval_check_thresholds_ms: float = Field(
107
- description="Some BQs check every 64 ms if output should be disconnected",
108
- default=0,
109
- ge=0,
110
- le=4.29e3,
111
- )
112
-
113
- V_pwr_good_enable_threshold_mV: float = Field(
114
- description="Target is informed by pwr-good on output-pin (hysteresis) "
115
- "-> for intermediate voltage",
116
- default=2800,
117
- ge=0,
118
- le=10_000,
119
- )
120
- V_pwr_good_disable_threshold_mV: float = Field(
121
- description="Target is informed by pwr-good on output-pin (hysteresis) "
122
- "-> for intermediate voltage",
123
- default=2200,
124
- ge=0,
125
- le=10_000,
126
- )
127
- immediate_pwr_good_signal: bool = Field(
128
- description="1: activate instant schmitt-trigger, "
129
- "0: stay in interval for checking thresholds",
130
- default=True,
131
- )
132
-
133
- C_output_uF: float = Field(
134
- description="Final (always last) stage to compensate undetectable "
135
- "current spikes when enabling power for target",
136
- default=1.0,
137
- ge=0,
138
- le=4.29e6,
139
- )
140
-
141
- # Extra
142
- V_output_log_gpio_threshold_mV: float = Field(
143
- description="Min voltage needed to enable recording changes in gpio-bank",
144
- default=1400,
145
- ge=0,
146
- le=4.29e6,
147
- )
148
-
149
- # Boost Converter
150
- V_input_boost_threshold_mV: float = Field(
151
- description="min input-voltage for the boost converter to work",
152
- default=0,
153
- ge=0,
154
- le=10_000,
155
- )
156
- V_intermediate_max_mV: float = Field(
157
- description="Threshold for shutting off Boost converter",
158
- default=10_000,
159
- ge=0,
160
- le=10_000,
161
- )
162
-
163
- LUT_input_efficiency: LUT2D = Field(
164
- description="# input-array[12][12] depending on "
165
- "array[inp_voltage][log(inp_current)], "
166
- "influence of cap-voltage is not implemented",
167
- default=12 * [12 * [1.00]],
168
- )
169
- LUT_input_V_min_log2_uV: int = Field(
170
- description="Example: n=7, 2^n = 128 uV -> array[0] is for inputs < 128 uV",
171
- default=0,
172
- ge=0,
173
- le=20,
174
- )
175
- LUT_input_I_min_log2_nA: int = Field(
176
- description="Example: n=8, 2^n = 256 nA -> array[0] is for inputs < 256 nA",
177
- default=0,
178
- ge=0,
179
- le=20,
180
- )
181
-
182
- # Buck Converter
183
- V_output_mV: float = Field(
184
- description="Fixed Voltage of Buck-Converter (as long as "
185
- "Input is > Output + Drop-Voltage)",
186
- default=2400,
187
- ge=0,
188
- le=5_000,
189
- )
190
- V_buck_drop_mV: float = Field(
191
- description="Simulate LDO min voltage differential or output-diode",
192
- default=0,
193
- ge=0,
194
- le=5_000,
195
- )
196
-
197
- LUT_output_efficiency: LUT1D = Field(
198
- description="Output-Array[12] depending on output_current. In & Output is linear",
199
- default=12 * [1.00],
200
- )
201
- LUT_output_I_min_log2_nA: int = Field(
202
- description="Example: n=8, 2^n = 256 nA -> array[0] is for inputs < 256 nA, "
203
- "see notes on LUT_input for explanation",
204
- default=0,
205
- ge=0,
206
- le=20,
207
- )
@@ -1,83 +0,0 @@
1
- shepherd_core/__init__.py,sha256=cwfuqvk-psFHE6iGGaGw82BMqLiLTazVBxHm97sz_E0,1264
2
- shepherd_core/calibration_hw_def.py,sha256=aL94bA1Sf14L5A3PLdVvQVYtGi28S4NUWA65wbim8bw,2895
3
- shepherd_core/commons.py,sha256=_phovuhCgLmO5gcazQ5hyykUPc907dyK9KpY2lUtoIM,205
4
- shepherd_core/config.py,sha256=YegFEXuBUBnbq5mb67em8ozEnSkEQSPXjqHlKA2HXCQ,967
5
- shepherd_core/logger.py,sha256=Plx7JFZXSYWAKbeOTyo7uApe3sDBKEQhG4ovhiET9Sc,1772
6
- shepherd_core/reader.py,sha256=lFpcsnia72vGrR0othUZxh_pn_cM_9sbjzZRywjXus0,29246
7
- shepherd_core/version.py,sha256=iMNehsT3f5S69B39uUAurKGE93x8sHgh9iUY_vqvVt8,76
8
- shepherd_core/writer.py,sha256=W4jWCQ2br_iJHvgknnuCThC5JQ9p5VxsWhsMnviOGHY,14489
9
- shepherd_core/data_models/__init__.py,sha256=jBsk2RpD5Gw5GNe1gql9YrWD-7Uv7F2jwRRx-CHdceQ,1909
10
- shepherd_core/data_models/readme.md,sha256=DHPVmkWqDksWomRHRTVWVHy9wXF9oMJrITgKs4Pnz2g,2494
11
- shepherd_core/data_models/virtual_source_doc.txt,sha256=OK_7zYbLvr6cEj3KaUcWwZJ9naoFB2KwAaXudbhzouQ,6076
12
- shepherd_core/data_models/base/__init__.py,sha256=PSJ6acWViqBm0Eiom8DIgKfFVrp5lzYr8OsDvP79vwI,94
13
- shepherd_core/data_models/base/cal_measurement.py,sha256=ZZYoXfpehZkKRLnRqzuPakYHrpMwIMJVaPkUw0W_Ybo,3340
14
- shepherd_core/data_models/base/calibration.py,sha256=69ihSXuIjogqICRLhbZJu9-KdkGR8UXyMyBDSAY2ajY,10713
15
- shepherd_core/data_models/base/content.py,sha256=Oar3cSYF-ywIm5BKH77epdSy5zscw1UKC7h3PuhbJ9M,2064
16
- shepherd_core/data_models/base/shepherd.py,sha256=bkG4UA4q6AXMnwvnZlDITnP-cYMr21tDthPi7DRVFAY,7345
17
- shepherd_core/data_models/base/timezone.py,sha256=2T6E46hJ1DAvmqKfu6uIgCK3RSoAKjGXRyzYNaqKyjY,665
18
- shepherd_core/data_models/base/wrapper.py,sha256=W82OHSfRIFQgBR19B-xVu-vPspkQjgo_aHKOMwcFR0g,747
19
- shepherd_core/data_models/content/__init__.py,sha256=69aiNG0h5t1OF7HsLg_ke5eaQKsKyMK8o6Kfaby5vlY,525
20
- shepherd_core/data_models/content/_external_fixtures.yaml,sha256=BsHW5UP1UtrEkcI-efCHq4gFtnsuOvoCPv1ri-f6JOI,12132
21
- shepherd_core/data_models/content/energy_environment.py,sha256=y_DiLKkABFn0kP9XFEy918JQg-mBSXgOEMISOTV7S0g,1593
22
- shepherd_core/data_models/content/energy_environment_fixture.yaml,sha256=UBXTdGT7MK98zx5w_RBCu-f9uNCKxRgiFBQFbmDUxPc,1301
23
- shepherd_core/data_models/content/firmware.py,sha256=1N9dFY3hDiis4rmqrNyXHVNN5TLscIb3OwJ8R9aaKd0,6114
24
- shepherd_core/data_models/content/firmware_datatype.py,sha256=XPU9LOoT3h5qFOlE8WU0vAkw-vymNxzor9kVFyEqsWg,255
25
- shepherd_core/data_models/content/virtual_harvester.py,sha256=8MAzZm5P3vAvwJ5IsFZwHmZV-CBU5czAD_EmwUAaCr8,20263
26
- shepherd_core/data_models/content/virtual_harvester_fixture.yaml,sha256=4eNQyFI9LozpButOTlBQ07T0MFCaPEYIxwtedMjUf3U,4575
27
- shepherd_core/data_models/content/virtual_source.py,sha256=GbdRghRLmLEUrMo1dyd0Pc0-bm7-3LCIgVaOhCb6NxQ,15850
28
- shepherd_core/data_models/content/virtual_source_fixture.yaml,sha256=WWbo9ACoD-JJ-jidMFTfwSn4PR_nRPwKQ0Aa2qKVrxE,11202
29
- shepherd_core/data_models/experiment/__init__.py,sha256=lorsx0M-JWPIrt_UZfexsLwaITv5slFb3krBOt0idm8,618
30
- shepherd_core/data_models/experiment/experiment.py,sha256=6fv-UMIFweWHtJT4KxGcIrqk2EY8MKi0SXZQj0EADHo,4268
31
- shepherd_core/data_models/experiment/observer_features.py,sha256=culZr3_PXHas5SL9prSKCGLEyzd3mfVj6jDnYCKDy6I,8341
32
- shepherd_core/data_models/experiment/target_config.py,sha256=l0_TsE5UYLVe3E8ygsLQdG-KC5v2TVcP3vjDf8Fu_ek,4210
33
- shepherd_core/data_models/task/__init__.py,sha256=lW-U3Ativerhan_8JMlNSgvHvvS6PH02zmTJviLYoNg,3633
34
- shepherd_core/data_models/task/emulation.py,sha256=N--FYDHdBFaCcwCXn1p66xorSyKuobS7Vy50WrxutJw,7866
35
- shepherd_core/data_models/task/firmware_mod.py,sha256=0UjCGi7SZ00B-ggZMowXrRlpV9bYjKjYMHEk23c_3Z0,3472
36
- shepherd_core/data_models/task/harvest.py,sha256=10xflQ9EPgB8Q2SBrymXFIDJyikTl4-PVwiCoaPYpV0,3716
37
- shepherd_core/data_models/task/helper_paths.py,sha256=AOfbZekT1OxH8pUV_B0S_SR7O4tcRbJalhnUBGPfvd4,440
38
- shepherd_core/data_models/task/observer_tasks.py,sha256=udkAEfOjYnpDONHeZ5iPnM4qnARQMH_M_t8LG2UHSEI,3991
39
- shepherd_core/data_models/task/programming.py,sha256=zJ84oW-bchu4CNPK8z3dDQvBNc5FAtUI8bbXd3s2zOY,2932
40
- shepherd_core/data_models/task/testbed_tasks.py,sha256=cweCmfiQZ364BZ_9y7MCjyL-5yJxQ5A2zCXwPtViUi0,2474
41
- shepherd_core/data_models/testbed/__init__.py,sha256=t9nwml5pbu7ZWghimOyZ8ujMIgnRgFkl23pNb5d_KdU,581
42
- shepherd_core/data_models/testbed/cape.py,sha256=F4BOYrzgT1u-8A7seaEJsxwi_VZHsLJBXCnyC55Ok-Y,1329
43
- shepherd_core/data_models/testbed/cape_fixture.yaml,sha256=ZCjQSlHE3_5EQpusmRYuw-z9NlxT-8MU49RCd04PfAg,2373
44
- shepherd_core/data_models/testbed/gpio.py,sha256=29MLbWegYmWV-Fx221-TjYlYlGvXKVY_FPsukVll-rA,2486
45
- shepherd_core/data_models/testbed/gpio_fixture.yaml,sha256=yXvoXAau2hancKi2yg1xIkErPWQa6gIxNUG3y8JuF9Y,3076
46
- shepherd_core/data_models/testbed/mcu.py,sha256=zVcrEEn5PdalonnM71qu_PDkZbRpaAAic9zEE_BNa0A,1483
47
- shepherd_core/data_models/testbed/mcu_fixture.yaml,sha256=bOYXdQY-6JYesxOkZAT8WvuGsdUc_MW4dkAmopLL8RM,507
48
- shepherd_core/data_models/testbed/observer.py,sha256=mbDt96f6Nu2xOUB8m1Se7g9QPJixZ598rFKV6n5n-PI,3348
49
- shepherd_core/data_models/testbed/observer_fixture.yaml,sha256=jjFqa0aLmL7bHJptRd0eqGfOngPzmocDRIQLB3_mLx8,5158
50
- shepherd_core/data_models/testbed/target.py,sha256=slkzovGs6NuQ2N13z1iXZ4ElKoKotcfFw1zgW6GwJrE,1913
51
- shepherd_core/data_models/testbed/target_fixture.old1,sha256=oFjeRsSP5n6A14QtLHzZ1LuFyyebIynSDkWiQjuwd9c,3675
52
- shepherd_core/data_models/testbed/target_fixture.yaml,sha256=aoP7Al_sXw8nBQpIP25dRHn9iLXxMtFyR9k-R72JwuY,4364
53
- shepherd_core/data_models/testbed/testbed.py,sha256=e2szb1vFG0aiYMaYOT5Y1y1Y8mqvgnoP3oq9DcQgSGk,3727
54
- shepherd_core/data_models/testbed/testbed_fixture.yaml,sha256=ca5LI-fWoc3I9m2QScVAh84Bv-ftkSGAizR3ZR0lkC8,980
55
- shepherd_core/decoder_waveform/__init__.py,sha256=-ohGz0fA2tKxUJk4FAQXKtI93d6YGdy0CrkdhOod1QU,120
56
- shepherd_core/decoder_waveform/uart.py,sha256=oeGwwXOrc_36pc0vDW8m3cwkkwa8imzXSxcdeqUKX44,10985
57
- shepherd_core/fw_tools/__init__.py,sha256=D9GGj9TzLWZfPjG_iV2BsF-Q1TGTYTgEzWTUI5ReVAA,2090
58
- shepherd_core/fw_tools/converter.py,sha256=wRJvcaFyMpApUTNBTh3a-vqqfRXDJWYppEaH0oyrACY,3626
59
- shepherd_core/fw_tools/converter_elf.py,sha256=DC-zDi1v7pCFTA1d4VqErDvIMAYwAbv_efqh17wLeRA,1058
60
- shepherd_core/fw_tools/patcher.py,sha256=V5Dg-uhTxT7Ro4UdFS7pVl2GwkKHLWd8YIvZKxMdePg,4941
61
- shepherd_core/fw_tools/validation.py,sha256=unm6jsj2538EfIAuRcrpnA2dee1-THD5_dKWFVmCmMI,5095
62
- shepherd_core/inventory/__init__.py,sha256=yQxP55yV61xXWfZSSzekQQYopPZCspFpHSyG7VTqtpg,3819
63
- shepherd_core/inventory/python.py,sha256=uchavGsssM4CTYQ23kF6hxhl3NUeEpGVvJYX8t7dWU4,1210
64
- shepherd_core/inventory/system.py,sha256=VHXJjTgImppbYEkAZqBPduDMCQ1z1iYTr3OWKcUJGSc,3168
65
- shepherd_core/inventory/target.py,sha256=4ju4HwXxEJ2naNEfL-gS8Z6s0eacllMmBu4iKKz-14Y,489
66
- shepherd_core/testbed_client/__init__.py,sha256=QtbsBUzHwOoM6rk0qa21ywuz63YV7af1fwUtWW8Vg_4,234
67
- shepherd_core/testbed_client/cache_path.py,sha256=BXklO72gFDhJ9i2gGlgw5MbuxexGA42two7DCdpd9dM,437
68
- shepherd_core/testbed_client/client_abc_fix.py,sha256=DX51I8Wh4ROU4SBwdeM-2VznINDQj_J2MkeTaIIpVrg,4182
69
- shepherd_core/testbed_client/client_web.py,sha256=7dEPjYOWXAbeU_zaJ7Pk9cj7LafKjFBfCw8UBD5v7HA,5939
70
- shepherd_core/testbed_client/fixtures.py,sha256=PzQLsMxs8Ddz01dMtpt59nOPGMWTKQ10dBDu49BjMyA,9317
71
- shepherd_core/testbed_client/user_model.py,sha256=9vqW9Vzs-QwD3SqgXDyNGLR8siQ9-2ueRcaI3yxs6yA,2037
72
- shepherd_core/vsource/__init__.py,sha256=vTvFWuJn4eurPNzEiMd15c1Rd6o3DTWzCfbhOomflZU,771
73
- shepherd_core/vsource/target_model.py,sha256=BjOlwX_gIOJ91e4OOLB4_OsCpuhq9vm57ERjM-iBhAM,5129
74
- shepherd_core/vsource/virtual_converter_model.py,sha256=D9lkvRe6gTm3kEfyLmuBvuxDyacmCEQUPHPCDUu8IJo,11597
75
- shepherd_core/vsource/virtual_harvester_model.py,sha256=K9RnAHCz1ibdYMte5l_U7vrY6_mVRZBg7xBL2ZYC16c,9757
76
- shepherd_core/vsource/virtual_harvester_simulation.py,sha256=SGAqXb-PC_JblbyBRoYxu-64VKawnixuhsnlv_xk6Mk,2516
77
- shepherd_core/vsource/virtual_source_model.py,sha256=VMiDDJYhc5LZIBoi-uHWeXKPnZASqaLMd4FmArj21qw,3126
78
- shepherd_core/vsource/virtual_source_simulation.py,sha256=HL3Pt4-fZCdg75fXgYhNmnQ8DsGWs01skIfMHJK87XE,5253
79
- shepherd_core-2025.8.1.dist-info/METADATA,sha256=3XDbI3GGfnicMvDHugP-rVbdtx3XZyy6W6GXArmyAuA,7628
80
- shepherd_core-2025.8.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
81
- shepherd_core-2025.8.1.dist-info/top_level.txt,sha256=wy-t7HRBrKARZxa-Y8_j8d49oVHnulh-95K9ikxVhew,14
82
- shepherd_core-2025.8.1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
83
- shepherd_core-2025.8.1.dist-info/RECORD,,