Skip to main content

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 abi3 wheel covers 3.12 and later)

Metadata

Release files for mcap-bag-parser 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcap-bag-parser 0.3.1
File Size Uploaded
mcap_bag_parser-0.3.1.tar.gz 11.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mcap-bag-parser 0.3.1
File
mcap_bag_parser-0.3.1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
mcap_bag_parser-0.3.1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
mcap_bag_parser-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
mcap_bag_parser-0.3.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
mcap_bag_parser-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
mcap_bag_parser-0.3.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details

Total release size: 13.9 MB

Release files / mcap_bag_parser-0.3.1.tar.gz

Download URL mcap_bag_parser-0.3.1.tar.gz
Size 11.5 MB
Tags Source
SHA-256 checksum
How to use checksums
2b560268a618bfb807da32f2d38049a881b35b21e44d842c8da7da305671fdec
BLAKE2b-256 checksum
How to use checksums
9321eefddf8d800da6aea651111148d86c3a751b2149a145990be7f69d04822b
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.1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mcap_bag_parser-0.3.1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 421.6 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
5b095ae5314eb32596fb9299db676e09674d4bda0e264fd0bb4c9b68bfa28959
BLAKE2b-256 checksum
How to use checksums
f878bf9e49bcd145d92830ff193503bbe6d322044a55c9963367ca6fb9a6a099
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.1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mcap_bag_parser-0.3.1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 384.0 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
cac422ab986169f34e6e1700f1980f97c9c29e46b90112f111e1417f5f7f0d65
BLAKE2b-256 checksum
How to use checksums
5fcc4fe64468c0e25b1778791dd8a7813f5a80afec2fc3596948146dce3402e4
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.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mcap_bag_parser-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 424.7 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0c774861a19ced56067503b41a250e8e78d4e8e1a534d12ca05fb6cab93eece4
BLAKE2b-256 checksum
How to use checksums
1ebf53d2057c3de18a90e48d2f3641a4b4c24ce8bba95316f35abd5fef72bcfb
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.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mcap_bag_parser-0.3.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 387.2 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
eb10c47cd5adeedbcd18a710d7bf55ececb01361112220c2d8bf770a57278f7a
BLAKE2b-256 checksum
How to use checksums
1c838853d5b06b6715a5244f6426c4e87710e0a12c4b28528cebe36aa1fefbf0
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.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mcap_bag_parser-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 424.8 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5859b1e7a68e421f9c83d86aa66b66b18e8f26d18987b2bea4705e641fd175f2
BLAKE2b-256 checksum
How to use checksums
d0e0e90852de1489cfc835de63eefe850f8e10ccbba3bb57005559c3cc0e3804
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.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mcap_bag_parser-0.3.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 387.3 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
161c8c29f50df42aaef8e4b7e5511609182414818ed8dfa359dc5eb2a7c0b75f
BLAKE2b-256 checksum
How to use checksums
bf68f6270ab3805491b41583b7de4456c3ffa322d5610dbf1abd905fb6d2c032
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.3.1 This release

7 release files

0.3.0

6 release files

0.2.5

3 release files

0.2.4

3 release files

0.2.3

2 release files

0.2.2

1 release file

0.2.1

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page