mcap-ros2-support
ROS2 support for the Python MCAP library
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-supportuv
uv add mcap-ros2-supportpoetry
poetry add mcap-ros2-supportInstalling 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
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
mcapMCAP is a logging library and file format for…
permissive · top 5,000 on PyPI
mcap-protobuf-supportAdds protobuf message deserialization support…
permissive · top 15,000 on PyPI
mcap-ros1-supportAdds ROS1 message serialization and…
permissive · top 15,000 on PyPI
rosbagsRead, write, convert, and deserialize ROS bag…
permissive · top 15,000 on PyPI
pyulogParses ULog files (a self-describing logging…
permissive · top 15,000 on PyPI
msg-parserParses Microsoft Outlook MSG email files,…
permissive · top 15,000 on PyPI
edfioedfio reads and writes EDF, EDF+C, BDF, and…
permissive · top 15,000 on PyPI
python-oxmsgParses Outlook MSG files to extract email…
permissive · top 5,000 on PyPI
pyrtcmParses RTCM3 differential GNSS protocol…
permissive · top 15,000 on PyPI
foxglove-sdkIntegrates Python applications with the…
permissive · top 15,000 on PyPI