shepherd-core 2024.7.1__tar.gz → 2024.7.2__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 (137) hide show
  1. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/PKG-INFO +1 -1
  2. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/__init__.py +1 -1
  3. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/inventory/system.py +7 -6
  4. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/reader.py +10 -3
  5. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core.egg-info/PKG-INFO +1 -1
  6. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/README.md +0 -0
  7. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/experiment_from_yaml.yaml +0 -0
  8. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/experiment_generic_var1.py +0 -0
  9. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/experiment_generic_var2.py +0 -0
  10. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/experiment_models.py +0 -0
  11. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/firmware_model.py +0 -0
  12. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/firmware_modification.py +0 -0
  13. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/inventory.py +0 -0
  14. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/uart_decode_waveform.py +0 -0
  15. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/uart_raw2.csv +0 -0
  16. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/vharvester_simulation.py +0 -0
  17. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/examples/vsource_simulation.py +0 -0
  18. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/pyproject.toml +0 -0
  19. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/setup.cfg +0 -0
  20. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/calibration_hw_def.py +0 -0
  21. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/commons.py +0 -0
  22. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/__init__.py +0 -0
  23. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/base/__init__.py +0 -0
  24. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/base/cal_measurement.py +0 -0
  25. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/base/calibration.py +0 -0
  26. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/base/content.py +0 -0
  27. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/base/shepherd.py +0 -0
  28. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/base/timezone.py +0 -0
  29. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/base/wrapper.py +0 -0
  30. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/content/__init__.py +0 -0
  31. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/content/_external_fixtures.yaml +0 -0
  32. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/content/energy_environment.py +0 -0
  33. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/content/energy_environment_fixture.yaml +0 -0
  34. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/content/firmware.py +0 -0
  35. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/content/firmware_datatype.py +0 -0
  36. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/content/virtual_harvester.py +0 -0
  37. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/content/virtual_harvester_fixture.yaml +0 -0
  38. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/content/virtual_source.py +0 -0
  39. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/content/virtual_source_fixture.yaml +0 -0
  40. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/experiment/__init__.py +0 -0
  41. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/experiment/experiment.py +0 -0
  42. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/experiment/observer_features.py +0 -0
  43. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/experiment/target_config.py +0 -0
  44. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/readme.md +0 -0
  45. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/task/__init__.py +0 -0
  46. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/task/emulation.py +0 -0
  47. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/task/firmware_mod.py +0 -0
  48. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/task/harvest.py +0 -0
  49. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/task/observer_tasks.py +0 -0
  50. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/task/programming.py +0 -0
  51. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/task/testbed_tasks.py +0 -0
  52. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/__init__.py +0 -0
  53. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/cape.py +0 -0
  54. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/cape_fixture.yaml +0 -0
  55. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/gpio.py +0 -0
  56. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/gpio_fixture.yaml +0 -0
  57. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/mcu.py +0 -0
  58. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/mcu_fixture.yaml +0 -0
  59. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/observer.py +0 -0
  60. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/observer_fixture.yaml +0 -0
  61. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/target.py +0 -0
  62. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/target_fixture.yaml +0 -0
  63. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/testbed.py +0 -0
  64. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/testbed/testbed_fixture.yaml +0 -0
  65. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/data_models/virtual_source_doc.txt +0 -0
  66. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/decoder_waveform/__init__.py +0 -0
  67. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/decoder_waveform/uart.py +0 -0
  68. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/fw_tools/__init__.py +0 -0
  69. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/fw_tools/converter.py +0 -0
  70. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/fw_tools/converter_elf.py +0 -0
  71. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/fw_tools/patcher.py +0 -0
  72. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/fw_tools/validation.py +0 -0
  73. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/inventory/__init__.py +0 -0
  74. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/inventory/python.py +0 -0
  75. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/inventory/target.py +0 -0
  76. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/logger.py +0 -0
  77. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/testbed_client/__init__.py +0 -0
  78. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/testbed_client/cache_path.py +0 -0
  79. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/testbed_client/client.py +0 -0
  80. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/testbed_client/fixtures.py +0 -0
  81. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/testbed_client/user_model.py +0 -0
  82. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/vsource/__init__.py +0 -0
  83. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/vsource/virtual_converter_model.py +0 -0
  84. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/vsource/virtual_harvester_model.py +0 -0
  85. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/vsource/virtual_source_model.py +0 -0
  86. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core/writer.py +0 -0
  87. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core.egg-info/SOURCES.txt +0 -0
  88. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core.egg-info/dependency_links.txt +0 -0
  89. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core.egg-info/requires.txt +0 -0
  90. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core.egg-info/top_level.txt +0 -0
  91. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/shepherd_core.egg-info/zip-safe +0 -0
  92. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/__init__.py +0 -0
  93. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/conftest.py +0 -0
  94. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/__init__.py +0 -0
  95. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/conftest.py +0 -0
  96. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_cal_data.yaml +0 -0
  97. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_cal_data_faulty.yaml +0 -0
  98. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_cal_meas.yaml +0 -0
  99. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_cal_meas_faulty1.yaml +0 -0
  100. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_cal_meas_faulty2.yaml +0 -0
  101. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_config_emulator.yaml +0 -0
  102. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_config_experiment.yaml +0 -0
  103. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_config_experiment_alternative.yaml +0 -0
  104. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_config_harvester.yaml +0 -0
  105. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_config_testbed.yaml +0 -0
  106. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/example_config_virtsource.yaml +0 -0
  107. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/test_base_models.py +0 -0
  108. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/test_content_fixtures.py +0 -0
  109. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/test_content_models.py +0 -0
  110. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/test_examples.py +0 -0
  111. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/test_experiment_models.py +0 -0
  112. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/test_task_generation.py +0 -0
  113. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/test_task_models.py +0 -0
  114. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/test_testbed_fixtures.py +0 -0
  115. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/data_models/test_testbed_models.py +0 -0
  116. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/decoder_waveform/__init__.py +0 -0
  117. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/decoder_waveform/test_decoder.py +0 -0
  118. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/fw_tools/__init__.py +0 -0
  119. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/fw_tools/build_msp.elf +0 -0
  120. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/fw_tools/build_nrf.elf +0 -0
  121. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/fw_tools/conftest.py +0 -0
  122. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/fw_tools/test_converter.py +0 -0
  123. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/fw_tools/test_patcher.py +0 -0
  124. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/fw_tools/test_validation.py +0 -0
  125. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/inventory/__init__.py +0 -0
  126. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/inventory/test_inventory.py +0 -0
  127. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/test_cal_hw.py +0 -0
  128. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/test_examples.py +0 -0
  129. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/test_logger.py +0 -0
  130. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/test_reader.py +0 -0
  131. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/test_writer.py +0 -0
  132. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/testbed_client/__init__.py +0 -0
  133. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/vsource/__init__.py +0 -0
  134. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/vsource/conftest.py +0 -0
  135. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/vsource/test_converter.py +0 -0
  136. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/vsource/test_harvester.py +0 -0
  137. {shepherd_core-2024.7.1 → shepherd_core-2024.7.2}/tests/vsource/test_z.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: shepherd_core
3
- Version: 2024.7.1
3
+ Version: 2024.7.2
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>
@@ -23,7 +23,7 @@ from .testbed_client.client import TestbedClient
23
23
  from .testbed_client.client import tb_client
24
24
  from .writer import Writer
25
25
 
26
- __version__ = "2024.7.1"
26
+ __version__ = "2024.7.2"
27
27
 
28
28
  __all__ = [
29
29
  "Reader",
@@ -5,6 +5,7 @@ import subprocess
5
5
  import time
6
6
  from datetime import datetime
7
7
  from pathlib import Path
8
+ from typing import List
8
9
  from typing import Optional
9
10
 
10
11
  from typing_extensions import Self
@@ -48,8 +49,8 @@ class SystemInventory(ShpModel):
48
49
  # ip IPvAnyAddress
49
50
  # mac MACStr
50
51
 
51
- fs_root: Optional[str] = None
52
- beagle: Optional[str] = None
52
+ fs_root: List[str] = None
53
+ beagle: List[str] = None
53
54
 
54
55
  model_config = ConfigDict(str_min_length=0)
55
56
 
@@ -71,20 +72,20 @@ class SystemInventory(ShpModel):
71
72
  uptime = time.time() - psutil.boot_time()
72
73
 
73
74
  fs_cmd = ["/usr/bin/df", "-h", "/"]
74
- fs_out = None
75
+ fs_out = []
75
76
  if Path(fs_cmd[0]).is_file():
76
77
  reply = subprocess.run( # noqa: S603
77
78
  fs_cmd, timeout=30, capture_output=True, check=False
78
79
  )
79
- fs_out = str(reply.stdout)
80
+ fs_out = str(reply.stdout).split(r"\n")
80
81
 
81
82
  beagle_cmd = ["/usr/bin/beagle-version"]
82
- beagle_out = None
83
+ beagle_out = []
83
84
  if Path(beagle_cmd[0]).is_file():
84
85
  reply = subprocess.run( # noqa: S603
85
86
  beagle_cmd, timeout=30, capture_output=True, check=False
86
87
  )
87
- beagle_out = str(reply.stdout)
88
+ beagle_out = str(reply.stdout).split(r"\n")
88
89
 
89
90
  ptp_cmd = ["/usr/sbin/ptp4l", "-v"]
90
91
  ptp_out = None
@@ -536,9 +536,9 @@ class Reader:
536
536
  def count_errors_in_log(self, group_name: str = "sheep", min_level: int = 40) -> int:
537
537
  if group_name not in self.h5file:
538
538
  return 0
539
- if "level" not in self.h5file["sheep"]:
539
+ if "level" not in self.h5file[group_name]:
540
540
  return 0
541
- _lvl = self.h5file["sheep"]["level"]
541
+ _lvl = self.h5file[group_name]["level"]
542
542
  if _lvl.shape[0] < 1:
543
543
  return 0
544
544
  _items = [1 for _x in _lvl[:] if _x >= min_level]
@@ -688,4 +688,11 @@ class Reader:
688
688
  gpio_wf = pin_wf.astype(float)
689
689
  gpio_wf[:, 0] = gpio_wf[:, 0] / 1e9
690
690
 
691
- return Uart(gpio_wf).get_lines()
691
+ try:
692
+ return Uart(gpio_wf).get_lines()
693
+ except TypeError:
694
+ self._logger.error("TypeError: Extracting UART from GPIO failed - will skip file.")
695
+ return None
696
+ except ValueError:
697
+ self._logger.error("ValueError: Extracting UART from GPIO failed - will skip file.")
698
+ return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: shepherd_core
3
- Version: 2024.7.1
3
+ Version: 2024.7.2
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>