A Python library to work with bag files without ROS.
Project description
pybag
A Python library to work with bag files (MCAP format) without ROS.
[!Warning] The library is still in the early stages of development and the API is still unstable
Installation
# Add dependency to your package
uv add pybag-sdk
# Install pybag cli
uv tool install pybag-sdk
Quick Start
# Get file information
pybag info data.mcap
# Filter messages
pybag filter data.mcap -o output.mcap --include-topic /camera
# Merge multiple files
pybag merge input1.mcap input2.mcap -o output.mcap
Reading MCAP Files
from pybag.mcap_reader import McapFileReader
with McapFileReader.from_file("data.mcap") as reader:
for msg in reader.messages("/camera"):
print(msg.log_time, msg.data)
Writing MCAP Files
from pybag.mcap_writer import McapFileWriter
from pybag.ros2.humble import std_msgs
with McapFileWriter.open("output.mcap") as writer:
log_time_ns = 1000
msg = std_msgs.String(data="hello")
writer.write_message("/status", log_time_ns, msg)
Custom Messages
from dataclasses import dataclass
import pybag
@dataclass
class SensorData:
__msg_name__ = 'custom/msg/SensorData'
temperature: pybag.float32
humidity: pybag.float32
with McapFileWriter.open("sensors.mcap") as writer:
writer.write_message("/sensor", 1000, SensorData(25.5, 60.0))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pybag_sdk-0.7.0.tar.gz
(166.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
pybag_sdk-0.7.0-py3-none-any.whl
(75.0 kB
view details)
File details
Details for the file pybag_sdk-0.7.0.tar.gz.
File metadata
- Download URL: pybag_sdk-0.7.0.tar.gz
- Upload date:
- Size: 166.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b28dcb9c6d9468793ddd3566b4e477ea801f96536756c0b62f79ad4804f82da3
|
|
| MD5 |
2bd043d61394d6f704f012d2baf0f646
|
|
| BLAKE2b-256 |
e86a30b34a1f21e68d84d2731698380fff76eea641ce0c19d70c89b55e51de87
|
File details
Details for the file pybag_sdk-0.7.0-py3-none-any.whl.
File metadata
- Download URL: pybag_sdk-0.7.0-py3-none-any.whl
- Upload date:
- Size: 75.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f3beb7d72347acdf8354502d8cf48b73e7f36dda8e1b38371665404827da282
|
|
| MD5 |
6f011cae5898117488a09b1a6029ad15
|
|
| BLAKE2b-256 |
d6292f05d3135ad7e6e6c22d738e35107a01b218569649394875d284bc199790
|