https://github.com/iamphytan/rosbag-tools
A ROS-agnostic toolbox for common rosbag operations
https://github.com/iamphytan/rosbag-tools
data data-management python python3 robotics ros1 ros2 rosbag
Last synced: about 1 year ago
JSON representation
A ROS-agnostic toolbox for common rosbag operations
- Host: GitHub
- URL: https://github.com/iamphytan/rosbag-tools
- Owner: IamPhytan
- License: gpl-3.0
- Created: 2023-03-17T15:57:22.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-01T22:34:04.000Z (over 1 year ago)
- Last Synced: 2025-04-13T07:58:28.852Z (about 1 year ago)
- Topics: data, data-management, python, python3, robotics, ros1, ros2, rosbag
- Language: Python
- Homepage: https://pypi.org/project/rosbag-tools
- Size: 247 KB
- Stars: 33
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# rosbag-tools
> A ROS-agnostic toolbox for common rosbag operations

This package bundles different tools that can be applied on ROS 1 or ROS 2 rosbags with no dependency on the ROS software stack.
## Installation
`rosbag-tools` can be installed from PyPi :
```sh
pip install rosbag-tools
```
Some tools, like [`topic-compare`](src/rosbag_tools/topic_compare), have a graphing feature that requires `matplotlib`. Install `rosbag-tools[plot]` to install graph dependencies.
```sh
pip install rosbag-tools[plot]
```
`rosbag-tools` being a CLI application, it can be quickly installed with [pipx](https://github.com/pypa/pipx):
```sh
pipx install rosbag-tools
pipx install rosbag-tools[plot] # with plot
```
## Tools
* [`clip`](src/rosbag_tools/clip)
* [`split`](src/rosbag_tools/split)
* [`compute-duration`](src/rosbag_tools/compute_duration)
* [`export-odometry`](src/rosbag_tools/export_odometry)
* [`topic-compare`](src/rosbag_tools/topic_compare)
* [`topic-remove`](src/rosbag_tools/topic_remove)
## Usage
Each tool in `rosbag-tools` can be used both as a command line application and in Python code.
### Command line
A basic use of `rosbag-tools` is to simply call it from the command line.
```console
rosbag-tools `command`
```
## Contributing
Pull requests and issues are welcome ! Don't hesitate to contribute !
(Recommended) [flit](https://flit.pypa.io) is used to package this module. Development packages can be installed using `flit` :
```console
python -m venv venv
source venv/bin/activate
pip install flit
flit install
```
(Alternative) Development requirements can be installed using pip :
```console
python -m venv venv
source venv/bin/activate
pip install -r requirements/requirements-dev.txt
```
## Acknowledgements
This package relies strongly on [`rosbags`](https://ternaris.gitlab.io/rosbags) for working with rosbags. Hats off to the team at [Ternaris](https://ternaris.com) for developing and maintaining it.
## License
This project is licensed under a [GNU GPLv3](LICENSE) license.