Skip to main content

ROS1 support for the Python MCAP library

Project description

Python MCAP Ros1 support

This package provides ROS1 support for the Python MCAP file format reader & writer.

Installation

You can install directly via pip. This also requires the rosbag package from the ROS package index.

pip install --index-url https://rospypi.github.io/simple rosbag
pip install mcap-ros1-support

Or you can install via Pipenv and a Pipfile. This requires specifying the source for the rosbag package like this:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[[source]]
url = "https://rospypi.github.io/simple"
verify_ssl = true
name = "ros"

[packages]
mcap-ros1-support = "*"
rosbag = "*"

Reading ROS1 Messages

# Reading from a strean
from mcap.mcap0.stream_reader import StreamReader
from mcap_ros1.decoder import Decoder

reader = StreamReader("my_data.mcap")
decoder = Decoder(reader)
for topic, record, message in decoder.messages:
    print(message)
# Reading from raw mcap data
from mcap.mcap0.stream_reader import StreamReader
from mcap_ros1.decoder import Decoder

data = open("my_data.mcap", "rb").read()
for topic, record, message in Decoder(data).messages:
    print(message)

Writing ROS1 Messages

from mcap_ros1.writer import Writer as Ros1Writer
from std_msgs.msg import String

output = open("example.mcap", "w+b")
ros_writer = Ros1Writer(output=output)
for i in range(0, 10):
    ros_writer.write_message("chatter", String(data=f"string message {i}"))
ros_writer.finish()

Stay in touch

Join our Slack channel to ask questions, share feedback, and stay up to date on what our team is working on.

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-ros1-support-0.0.8.tar.gz (8.0 kB view hashes)

Uploaded Source

Built Distribution

mcap_ros1_support-0.0.8-py3-none-any.whl (9.8 kB view hashes)

Uploaded Python 3

Supported by

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