Skip to content

Add serializer-driven Python measurement API (measurement2) and measurement samples#7

Open
KerstinKeller wants to merge 1 commit intomasterfrom
codex/reimplement-measurement-interface-with-samples
Open

Add serializer-driven Python measurement API (measurement2) and measurement samples#7
KerstinKeller wants to merge 1 commit intomasterfrom
codex/reimplement-measurement-interface-with-samples

Conversation

@KerstinKeller
Copy link
Owner

Motivation

  • Reimplement the Python measurement interface on top of the low-level hdf5 wrapper to support serializer-driven reading and writing across different encodings.
  • Provide clear examples for binary, protobuf and string measurement roundtrips to demonstrate the new API and guide migration from protobuf-only logic.

Description

  • Introduce a new binary-first measurement API in ecal.measurement2 via src/ecalhdf5/ecal/measurement2/measurement.py implementing MeasurementReader, MeasurementWriter, BinaryChannelReader, BinaryChannelWriter, BinaryEntry, ChannelMetadata and DataTypeInformation.
  • Add high-level serializer adapters in ecal.msg: ecal/msg/common/measurement.py, ecal/msg/proto/measurement.py, and ecal/msg/string/measurement.py with corresponding __init__ exports to wire serializer Serializer/Deserializer implementations to the binary core.
  • Add measurement sample scripts and README under lang/python/samples/measurement/ (binary_write.py, binary_read.py, person_write.py, person_read.py, string_write.py, string_read.py and README.md) demonstrating usage for binary, protobuf and string channels.
  • Update CMakeLists.txt entries to include the new source files and add an IMPLEMENTATION_PLAN.md describing the design and rollout plan.

Testing

  • No automated tests were executed as part of this change.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant