shepherd-core 2026.2.1__py3-none-any.whl → 2026.2.3__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.
@@ -3,6 +3,7 @@
3
3
  id: 1001
4
4
  name: SolarSunny
5
5
  description: MOCKUP! Sunny Day with 4 sq-cm Solar Cell
6
+ deprecated: Only exists as MOCKUP for unittests
6
7
  energy_profiles:
7
8
  - data_path: eenv/group/user/solar_4h_new.h5
8
9
  data_type: ivsample
@@ -22,6 +23,7 @@
22
23
  id: 1002
23
24
  name: ThermoelectricWashingMachine
24
25
  description: MOCKUP! Energy harvested from side of machine during washing & tumbling
26
+ deprecated: Only exists as MOCKUP for unittests
25
27
  energy_profiles:
26
28
  - data_path: eenv/group/user/thermoelectric_1h_wash.h5
27
29
  data_type: ivcurve
@@ -41,6 +43,7 @@
41
43
  id: 666
42
44
  name: nuclear
43
45
  description: MOCKUP! Energy harvested
46
+ deprecated: Only exists as MOCKUP for unittests
44
47
  energy_profiles:
45
48
  - data_path: eenv/group/user/thermoelectric_1h_wash.h5
46
49
  data_type: ivcurve
@@ -58,7 +58,7 @@ class Firmware(ContentModel, title="Firmware of Target"):
58
58
 
59
59
  mcu: MCU
60
60
 
61
- data: FirmwareStr | Path
61
+ data: Path | FirmwareStr
62
62
  data_type: FirmwareDType
63
63
  data_hash: str | None = None
64
64
  data_2_copy: bool = True
@@ -85,7 +85,8 @@ class Firmware(ContentModel, title="Firmware of Target"):
85
85
  FirmwareDType.path_elf,
86
86
  }:
87
87
  try:
88
- _ = Path(values.get("data"))
88
+ pdata = Path(values.get("data"))
89
+ values["data"] = pdata
89
90
  except (SyntaxError, NameError):
90
91
  raise ValueError("Firmware-Path is invalid") from None
91
92
  return tb_client.fill_in_user_data(values)
@@ -186,15 +187,18 @@ class Firmware(ContentModel, title="Firmware of Target"):
186
187
  """Check if embedded file exists."""
187
188
  if self.data_type in [FirmwareDType.path_hex, FirmwareDType.path_elf]:
188
189
  if not isinstance(self.data, Path):
189
- raise ValueError("Firmware.data is not a Path (but type-property claims so)")
190
- return self.data.exists()
190
+ log.warning(
191
+ f"Firmware.data is not a Path (but type-property claims so) -> {self.name}"
192
+ )
193
+ return False
194
+ return Path(self.data).exists()
191
195
  return True
192
196
 
193
197
  def check(self) -> bool:
194
198
  """Check if embedded file is still valid or unchanged."""
195
199
  valid = True
196
200
  if self.data_type in [FirmwareDType.path_hex, FirmwareDType.path_elf]:
197
- valid &= isinstance(self.data, Path) and self.data.exists()
201
+ valid &= isinstance(self.data, Path) and Path(self.data).exists()
198
202
  if self.data_type in [FirmwareDType.base64_elf, FirmwareDType.base64_hex]:
199
203
  valid &= isinstance(self.data, str)
200
204
  # TODO: could also begin unpacking base64
shepherd_core/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """Separated string avoids circular imports."""
2
2
 
3
- version: str = "2026.02.1"
3
+ version: str = "2026.02.3"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shepherd-core
3
- Version: 2026.2.1
3
+ Version: 2026.2.3
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>
@@ -5,7 +5,7 @@ shepherd_core/config.py,sha256=Mf_7saGuCGXWC_H47GBqRhk3JKGdTD85EO-HJDCVHpY,976
5
5
  shepherd_core/exit_handler.py,sha256=CCsc5ENNFR7_-LQy6vc0lZTFmMyhW8dBso_Sr4mC0mo,647
6
6
  shepherd_core/logger.py,sha256=LQAul1gBV3AkboKUVkkMUdhFD5gzLjqBgP_orL8kU5A,1748
7
7
  shepherd_core/reader.py,sha256=FcMg6xobB9KDXLSO7paF-9JgrasJOuTJSHzl2DahQhY,29466
8
- shepherd_core/version.py,sha256=q2aBmUNwnnJwfhRPiuJW6uLAsf952uPcv8XV5_jTXgY,76
8
+ shepherd_core/version.py,sha256=jngpVb2sXFgZFfI-NqOON_K12COczEHsrk06824vUBs,76
9
9
  shepherd_core/writer.py,sha256=KaJeAYGDzwJI5AyF_2CvsjdKnrWRZBcwZoT-DFTlLbE,14828
10
10
  shepherd_core/data_models/__init__.py,sha256=K8ZadHpq03DcuovMDc4eLaDoAToaZtJrxHuD-d3YDLI,2093
11
11
  shepherd_core/data_models/readme.md,sha256=DHPVmkWqDksWomRHRTVWVHy9wXF9oMJrITgKs4Pnz2g,2494
@@ -24,9 +24,9 @@ shepherd_core/data_models/content/_metadata_eenvs_synthetic_on_off_markov.yaml,s
24
24
  shepherd_core/data_models/content/_metadata_eenvs_synthetic_on_off_windows.yaml,sha256=WNFJvda6r5-jAVHl5zNUHnGhAHA_9Mtujw46qg275WE,123102
25
25
  shepherd_core/data_models/content/_metadata_eenvs_synthetic_static.yaml,sha256=yNZbU8-CdWqlxXilOLK2yrSzNfrc9IMUjhkQUcvPkx8,13787
26
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
27
+ shepherd_core/data_models/content/energy_environment_fixture.yaml,sha256=MTdOyjn3U7bLxTS7zP1apgbgMn3k1hAyFrEtUO6NOmc,1795
28
28
  shepherd_core/data_models/content/enum_datatypes.py,sha256=BlCvdSlvd6aaCzsnZZ3likSrK3WFT1o1FmCAX9bmvuA,3238
29
- shepherd_core/data_models/content/firmware.py,sha256=1HV1qVYsihbE1mtlE3XMG84QvMPZDnRG8B_fCs7y1Zk,7222
29
+ shepherd_core/data_models/content/firmware.py,sha256=Si5RvUwJtOgyXaxrd6RlhrttHkUNZ2XXpp0Bo2eGOzU,7355
30
30
  shepherd_core/data_models/content/virtual_harvester_config.py,sha256=NQbYg28DRbPHECJsMSAHUPg7fKZVFUjayB2lduqrdXo,17575
31
31
  shepherd_core/data_models/content/virtual_harvester_fixture.yaml,sha256=4eNQyFI9LozpButOTlBQ07T0MFCaPEYIxwtedMjUf3U,4575
32
32
  shepherd_core/data_models/content/virtual_source_config.py,sha256=eC0U15i7YoTclZWL95xWh8rDR9gOkIk06GnSB0J4jnE,17250
@@ -94,9 +94,9 @@ shepherd_core/vsource/virtual_storage_model.py,sha256=UNV5HkU4ahiHE213ygpovs4Fqg
94
94
  shepherd_core/vsource/virtual_storage_model_fixed_point_math.py,sha256=v4SbEb7bY4ZBg0p9xgHd76Pq2B3M98xSZ16AWRyUNTQ,2050
95
95
  shepherd_core/vsource/virtual_storage_models_kibam.py,sha256=uDFfNx2aaqbkCeAuIK5HahjdmgZDJyBJ62afGhlBLIY,18262
96
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,,
97
+ shepherd_core-2026.2.3.dist-info/licenses/LICENSE,sha256=89rkXaau2wFxiFxOi9wKow7KoZEaDQm33QdKIqZvWHU,1120
98
+ shepherd_core-2026.2.3.dist-info/METADATA,sha256=1Z64uhX0QkiZnkJHOVEDmQ12heHFvWwJWHJIznQYd6s,7696
99
+ shepherd_core-2026.2.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
100
+ shepherd_core-2026.2.3.dist-info/top_level.txt,sha256=wy-t7HRBrKARZxa-Y8_j8d49oVHnulh-95K9ikxVhew,14
101
+ shepherd_core-2026.2.3.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
102
+ shepherd_core-2026.2.3.dist-info/RECORD,,