Parse ROS2 mcap bagfiles efficiently into pandas dataframes, using the rosx_introspection package.
Project description
MCAP Bag Parser
Parse MCAP rosbags into pandas dataframes using an adapter around rosx_introspection for speed.
Installation
pip install mcap-bag-parser
Note: The mcap-bag-parser is now a fully self-contained package using scikit-build-core, for automatically building/bundling rosx_introspection during pip
install. Users now get a unified mcap_bag module with both legacy (BagFileParser) and modern (parse_mcap_file) APIs, with scikit-build-core handling C++ compilation and Python extension creation.
Development
# Clone with submodules
git clone --recurse-submodules https://gitlab.com/nealtanner/mcap-bag-parser.git
cd mcap-bag-parser
# Install in editable mode (recommended)
pip install -e .
# Run tests
pytest
For isolated development alongside other versions:
python -m venv .venv && source .venv/bin/activate
pip install -e .
Rebuilding after C++ changes
# Update code and submodules
git pull --recurse-submodules # Or: git pull && git submodule update --init
# Force rebuild (cleans build cache)
pip install --force-reinstall --no-deps -e .
# Or clean everything and rebuild
rm -rf build/ build_python/
pip install -e .
Publishing to PyPI
Important: PyPI rejects linux_x86_64 and linux_aarch64 wheels. Must use cibuildwheel for manylinux tags.
pip install build twine cibuildwheel
rm -rf dist/ wheelhouse/ # Clean old builds
# Linux - builds manylinux wheels in Docker (required for PyPI)
cibuildwheel --platform linux # All architectures
# Or specific: --archs x86_64 or --archs aarch64
# macOS - builds universal2 wheels
cibuildwheel --platform macos
# Source distribution
python -m build --sdist
# Upload all
twine upload wheelhouse/*.whl dist/*.tar.gz # Username: __token__
Supported platforms:
- Linux: x86_64, aarch64 (manylinux2014)
- macOS: x86_64, arm64 (11.0+)
- Python: >=3.10
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcap_bag_parser-0.2.3rc1.tar.gz.
File metadata
- Download URL: mcap_bag_parser-0.2.3rc1.tar.gz
- Upload date:
- Size: 95.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b27c2ee9455a08548b0e1f5037e14d09bdbf1804899a28aae054c0684729b962
|
|
| MD5 |
665bc6660bd2bb135d7d5f9933c90f2c
|
|
| BLAKE2b-256 |
9ae8d4ecc99281a64eb8630fd0404cdc9e10d02d9200d83b80987ee62a554855
|
File details
Details for the file mcap_bag_parser-0.2.3rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: mcap_bag_parser-0.2.3rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 11.6 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e79880fe4aa34812161c355cca5dbcd0f048a630bcd83570396c04a2c9c601ff
|
|
| MD5 |
0a7294280a34a8900b9e00e7a643edbf
|
|
| BLAKE2b-256 |
981b288576e4e1f65d50b1a9fe89a7c74ecd8f91087d4ba8b5062b0ded23c399
|