skillfed

mcap-ros2-support

ROS2 support for the Python MCAP library

mcap-ros2-support v0.5.7 469.6K downloads/30d#6,486 on PyPI1,041
Permissive license Active released

What it is and what it does

mcap-ros2-support extends the Python MCAP library to understand and deserialize ROS2 message types stored in MCAP recordings. MCAP is a container format for time-series data; this package adds a decoder layer that interprets the ROS2-specific message schemas and content within those files. It requires only the mcap runtime dependency and no ROS2 installation, making it suitable for analysis and tooling outside a ROS2 environment.

The package is actively maintained, has no known vulnerabilities, and supports current Python versions from 3.7 onward. It's positioned as part of the Foxglove ecosystem for robotics data tools. Installation is straightforward via pip, and the API is minimal—primarily the read_ros2_messages function that yields deserialized messages from a file path.

Use it for:

  • Extract and analyze ROS2 sensor data from MCAP recordings in offline analysis workflows
  • Convert ROS2 message logs to other formats by reading MCAP files without a running ROS2 system
  • Debug ROS2 applications by inspecting recorded message content and topics from MCAP files
  • Build data processing pipelines that consume ROS2 recordings in standalone Python scripts

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Adds ROS2 message deserialization support to the Python MCAP file format reader, allowing you to read and parse ROS2 messages from MCAP recordings without requiring a ROS2 environment.

Yes, if you need to read ROS2 messages from MCAP files outside a ROS2 environment. The package is actively maintained, has low install friction, permissive licensing, and no security issues. It fills a specific niche well: offline analysis and data extraction from ROS2 recordings. Install it if that matches your workflow; skip it if you work exclusively within ROS2 or use other bag formats.

Install

mcap-ros2-support on PyPI

pip

pip install mcap-ros2-support

uv

uv add mcap-ros2-support

poetry

poetry add mcap-ros2-support

Installing mcap-ros2-support

Before you install

Low friction installation with a single pure-Python wheel dependency. Actively maintained with recent commits and no known vulnerabilities.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open and closed projects.

Quickstart

pip install mcap-ros2-support

from mcap_ros2.reader import read_ros2_messages

for msg in read_ros2_messages("my_data.mcap"):
    print(f"{msg.channel.topic}: {msg.ros_msg}")

Verify before relying

  • Whether the package handles all ROS2 message types or only a subset
  • Performance characteristics when reading large MCAP files
  • Compatibility with specific ROS2 distributions or message schema versions

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 1 — mcap
Maintenance actively maintained — 233 days since the last release
Last repo commit
First released
Downloads 469,574/month — #6,486 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: mcap_ros2_support-0.5.7-py3-none-any.whl

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

ros2 message readermcap ros2 supportread ros2 bag filesros2 data deserializationmcap file format ros2
ros2data-formatserialization

More Software Development packages