Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcap_bag_parser-0.2.5.tar.gz (84.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mcap_bag_parser-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

mcap_bag_parser-0.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file mcap_bag_parser-0.2.5.tar.gz.

File metadata

  • Download URL: mcap_bag_parser-0.2.5.tar.gz
  • Upload date:
  • Size: 84.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for mcap_bag_parser-0.2.5.tar.gz
Algorithm Hash digest
SHA256 5bf62058344946bc7e0c62d4e7144e47cb9c36f7667d64330c00e57e3e5df79b
MD5 112364eb525fb342c4a77d3f6204542d
BLAKE2b-256 36d609dda9c18e70d88496de38c16b4a8cc4d1cfd0472be986f5cad042a3fda1

See more details on using hashes here.

File details

Details for the file mcap_bag_parser-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mcap_bag_parser-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 23e548538038bd7ce0328813c987c2e9e90fd2220c2275562cd46b1d6786d49f
MD5 4b7527191ee7a68bc2fe274f054e234b
BLAKE2b-256 5e8e4a65a0d8fb357367252a0c960ef56ae9620af81e8e91f38ace314cc50e0c

See more details on using hashes here.

File details

Details for the file mcap_bag_parser-0.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mcap_bag_parser-0.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ac8f25007123210e26b27040bc2f702b0ac6829fc23b44caa075ed5f386429a4
MD5 ac70a8cc7a96a46c4dee8773da0ea641
BLAKE2b-256 a75fe522ae3019f24f5f25f01fe94ad683b22a33c9540683390643f6d308f5b3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page