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.4.tar.gz (83.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.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

mcap_bag_parser-0.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: mcap_bag_parser-0.2.4.tar.gz
  • Upload date:
  • Size: 83.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.4.tar.gz
Algorithm Hash digest
SHA256 88db042016eac1b62a06028a10e583a5e038279719d6101f1e02240c614a4978
MD5 55d647c50a31caa67a136e6c7087959c
BLAKE2b-256 71c630e0f6e91816e6e5288f2e3011da6b7edff88a0c7f4806055cf97c91bca2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mcap_bag_parser-0.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d40eb9866df4119abc143a8c2c123b840926391a9d54cd2ddc2217de214ca8a0
MD5 4313756a31d10c1f3d40cafd1339ff5f
BLAKE2b-256 526574105a18f45d2953e335a0e0d598a9209c2d63c1488c4d2842a897085828

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mcap_bag_parser-0.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 130f816064166934def28bb8bd611a694ac6c6f2f9f7e607225eb9a230782c04
MD5 f0ea0b271eff1040ae5bcbae77a00921
BLAKE2b-256 23527b313a948066ae1984e2a8109980b629720737960199584efd3945f945d4

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