Skip to content

v0.5.0

Latest

Choose a tag to compare

@glopesdev glopesdev released this 25 Aug 22:59
d32971f

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

New Contributors

Full Changelog: https://github.com/harp-tech/python/commits/v0.5.0