Skip to content

classic_bags

  • Software
  • Middleware
  • Library

A Python and C++ library giving a ROS 1 style interface for reading and writing ROS 2 bag files, so code written for rosbag can be ported with few changes.

Made by MetroRobots.

Source on GitHub: github.com/MetroRobots/classic_bags (opens in a new tab). Facts read at commit d65e6a7 (opens in a new tab).

Licenses

Code
BSD-3-Clause (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (BSD-3-Clause) at commit d65e6a7 (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

What it does

  • Reads messages from a bag file, optionally filtered by topic, in a style matching the ROS 1 rosbag API.
  • Writes messages to a bag file with an explicit timestamp given as a float, integer nanoseconds, rclpy time, or a message time, or the system time by default.
  • Provides a Bag class in both Python and C++ with open, read and write modes.
  • The C++ reader does not yet support topic filtering or iterators; it uses hasNext and next instead.
  • Closing the bag is optional in Python, since the bag is closed automatically when no longer needed.

Written by Robotheca from the project's README (opens in a new tab) at commit d65e6a7.

Getting started

Difficulty
Beginner

Maintenance

Status
Active: a commit in the last 90 days
Newest commit
21 Jul 2026 on main
Latest release
None published on GitHub

Checked on GitHub on 16 Oct 2026.

Robots that can run it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.