Releases: harp-tech/python
Release list
v0.5.0
This release splits the project into four installable packages, harp-protocol, harp-device, harp-serial and harp-data, with a harp metapackage depending on all of them. Each pulls in only what it needs, so reading recorded data no longer requires a serial dependency and the protocol primitives stay numpy-only. Versions come from git tags and publish to PyPI through trusted publishing.
Two capabilities define the release. create_device_module compiles a device.yml into typed register classes at runtime, naming registers, enums and payload fields exactly as the code generators do, so analysis code written against a generated package resolves the same way against a schema read off a device. open_dataset reads a demultiplexed session folder into pandas DataFrames, resolving each register against the device schema and checking the recorded identity against the module it was given. Together they mean a device.yml beside a session folder is enough to read it.
The device and protocol surfaces settled alongside them. HarpMessage is parameterized by its payload type, with payload naming the decoded value and payload_bytes the frame bytes. Replies now correlate on address and message type together, so a read can no longer be satisfied by an unrelated write, and a transport failure reports to every waiting request rather than vanishing inside the reader thread. The core register set is generated from the same metadata as any device package. The documentation site covers the four packages, six worked examples and a migration guide for anyone moving from harp-python.
What's Changed
- Remove
BitFieldin favor ofBitMaskAPI by @bruno-f-cruz in #6 - Version packages from git tags and publish with trusted publishing by @glopesdev in #8
- Refactor package for unified data and device API by @bruno-f-cruz in #5
- Add missing helper functions, logging, and event reading by @Poofjunior in #1
- Refactor, Protocol Enhancements, and Device Ecosystem Reorganization by @MicBoucinha in #3
- Add schema-free single-register loader by @bruno-f-cruz in #9
- Use absolute URL for logo in README by @bruno-f-cruz in #11
- Add runtime generation of device interface by @bruno-f-cruz in #13
- Add device reader api to harp-data by @bruno-f-cruz in #15
- Emit runtime device interface as a module by @glopesdev in #17
- Align the runtime emitter with the generator naming convention by @bruno-f-cruz in #19
- Split harp.device into core, client and schema by @glopesdev in #21
- Add dependency injection for the device constructor by @bruno-f-cruz in #20
- Review documentation ahead of the next release by @glopesdev in #24
- Align runtime modules with generated device packages by @glopesdev in #25
- Fix how the dataset reader uses its device module by @glopesdev in #26
- Refactor the dataset reader surface by @glopesdev in #27
- Generate the core register set by @glopesdev in #28
- Rename open_serial_device to open_device by @glopesdev in #29
- Parameterize HarpMessage by its payload type by @glopesdev in #30
- Fix array payload encoding from sequences by @glopesdev in #31
- Fix reply correlation and failure reporting by @glopesdev in #32
- Reconcile the data reader parameters by @glopesdev in #37
- Add ArrayConverter for array payload members by @glopesdev in #39
- Fix packaging metadata and repository URLs by @glopesdev in #33
- Review documentation ahead of the release by @glopesdev in #35
- Add harp-python migration guide by @bruno-f-cruz in #23
- Unify the documentation layout and conventions by @glopesdev in #41
- Publish documentation as a GitHub Pages artifact by @glopesdev in #42
- Fix decoding of multi-element register payloads by @glopesdev in #44
- Build documentation strictly and fix docstrings by @glopesdev in #45
- Upload release assets with the GitHub CLI by @glopesdev in #46
New Contributors
- @bruno-f-cruz made their first contribution in #6
- @glopesdev made their first contribution in #8
- @Poofjunior made their first contribution in #1
- @MicBoucinha made their first contribution in #3
- @ZegCricket made their first contribution in #3
- @jessy-liao made their first contribution in #3
- @patricklatimer made their first contribution in #3
Full Changelog: https://github.com/harp-tech/python/commits/v0.5.0
harp 0.5.0rc1
What's Changed
- Remove
BitFieldin favor ofBitMaskAPI by @bruno-f-cruz in #6 - Version packages from git tags and publish with trusted publishing by @glopesdev in #8
- Refactor package for unified data and device API by @bruno-f-cruz in #5
- Add missing helper functions, logging, and event reading by @Poofjunior in #1
- Refactor, Protocol Enhancements, and Device Ecosystem Reorganization by @MicBoucinha in #3
New Contributors
- @bruno-f-cruz made their first contribution in #6
- @glopesdev made their first contribution in #8
- @Poofjunior made their first contribution in #1
- @MicBoucinha made their first contribution in #3
Full Changelog: https://github.com/harp-tech/pyharp/commits/v0.5.0rc1