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.6.0.tar.gz
(152.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.6.0-py3-none-any.whl
(64.8 kB
view details)
File details
Details for the file pybag_sdk-0.6.0.tar.gz.
File metadata
- Download URL: pybag_sdk-0.6.0.tar.gz
- Upload date:
- Size: 152.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 |
bc1132f8cf70aa14820b0c6d6dffb76938e7c0942c8f2bfba305c330e02fa77e
|
|
| MD5 |
4133eb9c1b8ffded4c1c29f3165c1aa1
|
|
| BLAKE2b-256 |
37a874f2d3b5f94a9a9d2621eeab373f9742c1119485d57a4a271fb5e544847e
|
File details
Details for the file pybag_sdk-0.6.0-py3-none-any.whl.
File metadata
- Download URL: pybag_sdk-0.6.0-py3-none-any.whl
- Upload date:
- Size: 64.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"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 |
e64ab91cee77c548634af90f968204ec313ab69d058280b7757e1ae597589be2
|
|
| MD5 |
d368ae5cdb3f923934da754e22bff581
|
|
| BLAKE2b-256 |
6816cb52dca5381aca3b56d000156df0568eff603ab4de368d893e8bfa2cce1f
|