Skip to content

Replace C++ backend with standalone MCAP backend + PyPI publishing - #20

Merged
Kotakku merged 3 commits into
mainfrom
feat/mcap-backend-pypi
Mar 20, 2026
Merged

Replace C++ backend with standalone MCAP backend + PyPI publishing#20
Kotakku merged 3 commits into
mainfrom
feat/mcap-backend-pypi

Conversation

@Kotakku

@Kotakku Kotakku commented Mar 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Remove baglab_cpp_backend (ROS 2 rosbag2_cpp dependent) and replace with baglab_mcap_backend using Foxglove mcap C++ reader + custom CDR deserializer (no ROS 2 dependency)
  • Add mcap_repo as git submodule for header-only mcap library
  • Add cibuildwheel CI workflow (publish-mcap-backend.yml) to build manylinux x86_64 wheels for Python 3.10/3.11/3.12 and publish to PyPI on mcap-backend-v* tags
  • Add baglab[mcap] optional dependency so users can pip install baglab[mcap]

Test plan

  • pip install baglab (pure Python) still works
  • pip install baglab_mcap_backend from local build works on Ubuntu 22.04
  • pip install baglab_mcap_backend from local build works on Ubuntu 24.04
  • cibuildwheel builds wheels successfully in CI
  • Existing tests pass

🤖 Generated with Claude Code

Kotakku and others added 3 commits March 20, 2026 23:45
- Remove baglab_cpp_backend (required ROS 2 rosbag2_cpp)
- Add baglab_mcap_backend using Foxglove mcap C++ reader + custom CDR
  deserializer with mmap optimization (no ROS 2 dependency)
- Add mcap_repo as git submodule (pinned at e606c2b)
- Add cibuildwheel CI workflow for PyPI wheel publishing (Linux x86_64)
- Add baglab[mcap] optional dependency for easy installation
- Update bag.py with mcap backend integration and auto-selection

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add [tool.uv.sources] to resolve baglab-mcap-backend locally
- Update test.yml to build mcap backend instead of deleted cpp backend
- Add submodules: true to checkout step
- Regenerate uv.lock

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Align baglab-mcap-backend version to 0.2.1 (same as baglab)
- Merge publish-mcap-backend.yml into publish.yml as parallel jobs
- Both baglab and baglab-mcap-backend publish on the same v* tag

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Kotakku
Kotakku merged commit 07a951a into main Mar 20, 2026
2 checks passed
@Kotakku
Kotakku deleted the feat/mcap-backend-pypi branch March 26, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant