shepherd-core 2024.11.3__tar.gz → 2025.2.1__tar.gz

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 (145) hide show
  1. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/PKG-INFO +2 -2
  2. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/task/__init__.py +1 -2
  3. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/inventory/system.py +1 -1
  4. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/reader.py +7 -1
  5. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/testbed_client/client_web.py +1 -1
  6. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/version.py +1 -1
  7. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core.egg-info/PKG-INFO +2 -2
  8. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/README.md +0 -0
  9. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/eenv_generator.py +0 -0
  10. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/experiment_from_yaml.yaml +0 -0
  11. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/experiment_generic_var1.py +0 -0
  12. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/experiment_generic_var2.py +0 -0
  13. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/experiment_models.py +0 -0
  14. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/firmware_model.py +0 -0
  15. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/firmware_modification.py +0 -0
  16. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/inventory.py +0 -0
  17. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/simulate_vharvester.py +0 -0
  18. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/simulate_vsource.py +0 -0
  19. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/uart_decode_waveform.py +0 -0
  20. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/uart_raw2.csv +0 -0
  21. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/examples/vsource_debug_sim.py +0 -0
  22. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/pyproject.toml +0 -0
  23. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/setup.cfg +0 -0
  24. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/__init__.py +0 -0
  25. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/calibration_hw_def.py +0 -0
  26. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/commons.py +0 -0
  27. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/__init__.py +0 -0
  28. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/base/__init__.py +0 -0
  29. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/base/cal_measurement.py +0 -0
  30. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/base/calibration.py +0 -0
  31. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/base/content.py +0 -0
  32. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/base/shepherd.py +0 -0
  33. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/base/timezone.py +0 -0
  34. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/base/wrapper.py +0 -0
  35. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/content/__init__.py +0 -0
  36. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/content/_external_fixtures.yaml +0 -0
  37. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/content/energy_environment.py +0 -0
  38. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/content/energy_environment_fixture.yaml +0 -0
  39. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/content/firmware.py +0 -0
  40. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/content/firmware_datatype.py +0 -0
  41. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/content/virtual_harvester.py +0 -0
  42. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/content/virtual_harvester_fixture.yaml +0 -0
  43. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/content/virtual_source.py +0 -0
  44. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/content/virtual_source_fixture.yaml +0 -0
  45. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/experiment/__init__.py +0 -0
  46. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/experiment/experiment.py +0 -0
  47. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/experiment/observer_features.py +0 -0
  48. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/experiment/target_config.py +0 -0
  49. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/readme.md +0 -0
  50. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/task/emulation.py +0 -0
  51. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/task/firmware_mod.py +0 -0
  52. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/task/harvest.py +0 -0
  53. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/task/observer_tasks.py +0 -0
  54. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/task/programming.py +0 -0
  55. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/task/testbed_tasks.py +0 -0
  56. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/__init__.py +0 -0
  57. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/cape.py +0 -0
  58. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/cape_fixture.yaml +0 -0
  59. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/gpio.py +0 -0
  60. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/gpio_fixture.yaml +0 -0
  61. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/mcu.py +0 -0
  62. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/mcu_fixture.yaml +0 -0
  63. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/observer.py +0 -0
  64. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/observer_fixture.yaml +0 -0
  65. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/target.py +0 -0
  66. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/target_fixture.old1 +0 -0
  67. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/target_fixture.yaml +0 -0
  68. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/testbed.py +0 -0
  69. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/testbed/testbed_fixture.yaml +0 -0
  70. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/data_models/virtual_source_doc.txt +0 -0
  71. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/decoder_waveform/__init__.py +0 -0
  72. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/decoder_waveform/uart.py +0 -0
  73. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/fw_tools/__init__.py +0 -0
  74. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/fw_tools/converter.py +0 -0
  75. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/fw_tools/converter_elf.py +0 -0
  76. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/fw_tools/patcher.py +0 -0
  77. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/fw_tools/validation.py +0 -0
  78. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/inventory/__init__.py +0 -0
  79. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/inventory/python.py +0 -0
  80. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/inventory/target.py +0 -0
  81. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/logger.py +0 -0
  82. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/testbed_client/__init__.py +0 -0
  83. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/testbed_client/cache_path.py +0 -0
  84. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/testbed_client/client_abc_fix.py +0 -0
  85. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/testbed_client/fixtures.py +0 -0
  86. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/testbed_client/user_model.py +0 -0
  87. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/vsource/__init__.py +0 -0
  88. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/vsource/target_model.py +0 -0
  89. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/vsource/virtual_converter_model.py +0 -0
  90. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/vsource/virtual_harvester_model.py +0 -0
  91. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/vsource/virtual_harvester_simulation.py +0 -0
  92. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/vsource/virtual_source_model.py +0 -0
  93. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/vsource/virtual_source_simulation.py +0 -0
  94. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core/writer.py +0 -0
  95. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core.egg-info/SOURCES.txt +0 -0
  96. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core.egg-info/dependency_links.txt +0 -0
  97. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core.egg-info/requires.txt +0 -0
  98. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core.egg-info/top_level.txt +0 -0
  99. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/shepherd_core.egg-info/zip-safe +0 -0
  100. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/__init__.py +0 -0
  101. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/conftest.py +0 -0
  102. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/__init__.py +0 -0
  103. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/conftest.py +0 -0
  104. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_cal_data.yaml +0 -0
  105. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_cal_data_faulty.yaml +0 -0
  106. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_cal_meas.yaml +0 -0
  107. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_cal_meas_faulty1.yaml +0 -0
  108. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_cal_meas_faulty2.yaml +0 -0
  109. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_config_emulator.yaml +0 -0
  110. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_config_experiment.yaml +0 -0
  111. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_config_experiment_alternative.yaml +0 -0
  112. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_config_harvester.yaml +0 -0
  113. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_config_testbed.yaml +0 -0
  114. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/example_config_virtsource.yaml +0 -0
  115. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/test_base_models.py +0 -0
  116. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/test_content_fixtures.py +0 -0
  117. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/test_content_models.py +0 -0
  118. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/test_examples.py +0 -0
  119. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/test_experiment_models.py +0 -0
  120. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/test_task_generation.py +0 -0
  121. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/test_task_models.py +0 -0
  122. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/test_testbed_fixtures.py +0 -0
  123. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/data_models/test_testbed_models.py +0 -0
  124. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/decoder_waveform/__init__.py +0 -0
  125. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/decoder_waveform/test_decoder.py +0 -0
  126. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/fw_tools/__init__.py +0 -0
  127. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/fw_tools/build_msp.elf +0 -0
  128. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/fw_tools/build_nrf.elf +0 -0
  129. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/fw_tools/conftest.py +0 -0
  130. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/fw_tools/test_converter.py +0 -0
  131. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/fw_tools/test_patcher.py +0 -0
  132. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/fw_tools/test_validation.py +0 -0
  133. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/inventory/__init__.py +0 -0
  134. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/inventory/test_inventory.py +0 -0
  135. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/test_cal_hw.py +0 -0
  136. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/test_examples.py +0 -0
  137. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/test_logger.py +0 -0
  138. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/test_reader.py +0 -0
  139. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/test_writer.py +0 -0
  140. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/testbed_client/__init__.py +0 -0
  141. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/vsource/__init__.py +0 -0
  142. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/vsource/conftest.py +0 -0
  143. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/vsource/test_converter.py +0 -0
  144. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/vsource/test_harvester.py +0 -0
  145. {shepherd_core-2024.11.3 → shepherd_core-2025.2.1}/tests/vsource/test_z.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: shepherd_core
3
- Version: 2024.11.3
3
+ Version: 2025.2.1
4
4
  Summary: Programming- and CLI-Interface for the h5-dataformat of the Shepherd-Testbed
5
5
  Author-email: Ingmar Splitt <ingmar.splitt@tu-dresden.de>
6
6
  Maintainer-email: Ingmar Splitt <ingmar.splitt@tu-dresden.de>
@@ -59,8 +59,7 @@ def prepare_task(config: Union[ShpModel, Path, str], observer: Optional[str] = N
59
59
  if shp_wrap.datatype == TestbedTasks.__name__:
60
60
  if observer is None:
61
61
  logger.debug(
62
- "Task-Set contained TestbedTasks & no observer was provided "
63
- "-> will return TB-Tasks"
62
+ "Task-Set contained TestbedTasks & no observer was provided -> will return TB-Tasks"
64
63
  )
65
64
  return shp_wrap
66
65
  tbt = TestbedTasks(**shp_wrap.parameters)
@@ -93,7 +93,7 @@ class SystemInventory(ShpModel):
93
93
  reply = subprocess.run( # noqa: S603
94
94
  ptp_cmd, timeout=30, capture_output=True, check=False
95
95
  )
96
- ptp_out = f"{ reply.stdout }, { reply.stderr }"
96
+ ptp_out = f"{reply.stdout}, {reply.stderr}"
97
97
  # alternative: check_output - seems to be lighter
98
98
 
99
99
  model_dict = {
@@ -172,7 +172,10 @@ class Reader:
172
172
  """Update internal states, helpful after resampling or other changes in data-group."""
173
173
  self.h5file.flush()
174
174
  sample_count = self.ds_time.shape[0]
175
- duration_raw = self.ds_time[sample_count - 1] - self.ds_time[0] if sample_count > 0 else 0
175
+ duration_raw = (
176
+ (int(self.ds_time[sample_count - 1]) - int(self.ds_time[0])) if sample_count > 0 else 0
177
+ )
178
+ # above's typecasting prevents overflow in u64-format
176
179
  if (sample_count > 0) and (duration_raw > 0):
177
180
  # this assumes iso-chronous sampling
178
181
  duration_s = self._cal.time.raw_to_si(duration_raw)
@@ -285,6 +288,9 @@ class Reader:
285
288
  dsv = self.ds_voltage[0:2000]
286
289
  diffs_np = np.unique(dsv[1:] - dsv[0:-1], return_counts=False)
287
290
  diffs_ls = [_e for _e in list(np.array(diffs_np)) if _e > 0]
291
+ # static voltages have 0 steps, so
292
+ if len(diffs_ls) == 0:
293
+ return None # or is 0 better? that may provoke div0
288
294
  voltage_step = min(diffs_ls)
289
295
  if voltage_step is not None:
290
296
  voltage_step = 1e-3 * voltage_step
@@ -36,7 +36,7 @@ class WebClient(AbcClient):
36
36
  super().__init__()
37
37
  if not hasattr(self, "_token"):
38
38
  # add default values
39
- self._token: str = "basic_public_access"
39
+ self._token: str = "basic_public_access" # noqa: S105
40
40
  self._server: str = testbed_server_default
41
41
  self._user: Optional[User] = None
42
42
  self._key: Optional[str] = None
@@ -1,3 +1,3 @@
1
1
  """Separated string avoids circular imports."""
2
2
 
3
- version: str = "2024.11.3"
3
+ version: str = "2025.02.1"
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: shepherd_core
3
- Version: 2024.11.3
3
+ Version: 2025.2.1
4
4
  Summary: Programming- and CLI-Interface for the h5-dataformat of the Shepherd-Testbed
5
5
  Author-email: Ingmar Splitt <ingmar.splitt@tu-dresden.de>
6
6
  Maintainer-email: Ingmar Splitt <ingmar.splitt@tu-dresden.de>