Uh oh!
There was an error while loading. Please reload this page.
feat: rename to tachy-mcap-reader + add CI/PyPI workflow - #2
Open
weedmo wants to merge 7 commits into
Open
Conversation
- Add McapRawReader pyclass bypassing Scheduler for batch processing - Support Python iterator protocol (__iter__/__next__) with proper bytes return - Fix double nanosecond conversion bug in scheduler.rs play() - Use PyBytes::new_bound() for correct Vec<u8> → Python bytes conversion - Add 10 correctness tests and benchmark script - Update Python exports and type stubs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implement on-demand chunk loading in McapReader using ReadMode enum (Eager/Lazy). Lazy mode extracts owned chunk indices from Summary, drops it to avoid self-referential structs, and uses LinearReader + ChunkReader for decompression. Falls back to eager MessageStream scan when Summary is unavailable. Add pytest-benchmark tests comparing McapRawReader vs rosbag2_py with throughput, open time, topic filter, and peak RSS metrics. Security hardening: checked_add for chunk offsets, f64 input validation, GIL release during chunk decompression, defensive continue on unknown channel IDs.
- Rename Rust crate and Python module to tachy-mcap-reader - Simplify native lib name from _mcap_player_core to _core - Fix stale import path in player.py - Remove rosidl_runtime_py from hard dependencies (ROS2 system pkg) - Add test MCAP fixtures for multi-chunk and no-summary cases
Build wheels for linux (x86_64/aarch64), macos (x86_64/aarch64), windows (x64) and sdist. Release to PyPI via trusted publisher on tag push (v*).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mcap-playertotachy-mcap-readerTest plan