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 with test dependencies (pip >= 25.1)
pip install -e . --group test
# Run tests
pytest
For isolated development alongside other versions:
python -m venv .venv && source .venv/bin/activate
pip install -e . --group test
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 (manylinux_2_28, glibc 2.28+)
- macOS: x86_64, arm64 (11.0+)
- Python: 3.10, 3.11, and 3.12+ (a single stable-ABI
abi3wheel covers 3.12 and later)
Metadata
Release files for mcap-bag-parser 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 5.6 MB
Release files / mcap_bag_parser-0.3.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | mcap_bag_parser-0.3.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 957.4 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
07f9a66491f2a0ee5e9b310c7a28d55bcace5e8c731b3fd49c034bb10c285282
|
|
BLAKE2b-256 checksum How to use checksums |
961025c4a26b1338df3c1c53928c7025dea0e5c17a85a041b986c932fb80a88b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mcap_bag_parser-0.3.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | mcap_bag_parser-0.3.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 902.5 kB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
309ec8257643bff01960d16b8f867f9fc23a0b38f7a40e55bf45fe3d8d27f055
|
|
BLAKE2b-256 checksum How to use checksums |
fbaadcd4fe661bab8ea85c9b666f25cc72fd359ffe56f22db7a97d15fd4c30ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mcap_bag_parser-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | mcap_bag_parser-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 960.5 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c603a7a0bd0915e294db6e888beec44a94673a3333bf850da76f06ed5866c6fd
|
|
BLAKE2b-256 checksum How to use checksums |
b928d28e1777ea3687fd06e6ab8dcba75a563f30d751a17f05c589231ce2427b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mcap_bag_parser-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | mcap_bag_parser-0.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 905.7 kB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
f758f2f445352af61076f58e6186598c4bb8e1385577c6ba65f7747ab31deadc
|
|
BLAKE2b-256 checksum How to use checksums |
f6e20513f22331e1675b11fb4a2d3afe84308aaa40f58cc1564045494424f46c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mcap_bag_parser-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | mcap_bag_parser-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 960.6 kB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
ea4c930b08903867494bee94d70d9cf2608f4c1d4c5139399cf65c3440099c0c
|
|
BLAKE2b-256 checksum How to use checksums |
2145ce2ec80468f80ae404509b728fef2ae47f1f19fa5fdf56078fe07268e416
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mcap_bag_parser-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | mcap_bag_parser-0.3.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 905.8 kB |
| Tags | CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
cdea718722feae9ad78f0671b91f656f3b088725b6d65bb5c102ec0356327cb8
|
|
BLAKE2b-256 checksum How to use checksums |
e92b57c04c72dcd75c110f22fae2259f2136d959d0e845a470623b14a86f1a76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|