10 releases (5 breaking)

0.6.3 May 27, 2024
0.6.1 Sep 2, 2022
0.6.0 May 25, 2022
0.5.0 Feb 20, 2022
0.2.0 Apr 18, 2018

#21 in Robotics

Download history 77/week @ 2024-07-06 62/week @ 2024-07-13 109/week @ 2024-07-20 229/week @ 2024-07-27 70/week @ 2024-08-03 101/week @ 2024-08-10 92/week @ 2024-08-17 96/week @ 2024-08-24 67/week @ 2024-08-31 32/week @ 2024-09-07 53/week @ 2024-09-14 74/week @ 2024-09-21 51/week @ 2024-09-28 9/week @ 2024-10-05 24/week @ 2024-10-12 31/week @ 2024-10-19

119 downloads per month
Used in 2 crates (via unbag-rs)

MIT/Apache

41KB
877 lines

rosbag-rs

Crate Docs Apache2/MIT licensed Rust Version Build Status Dependency Status

A pure Rust crate for reading ROS bag files.

Example

use rosbag::{ChunkRecord, MessageRecord, IndexRecord, RosBag};

let bag = RosBag::new(path)?;
// Iterate over records in the chunk section
for record in bag.chunk_records() {
    match record? {
        ChunkRecord::Chunk(chunk) => {
            // iterate over messages in the chunk
            for msg in chunk.messages() {
                match msg? {
                    MessageRecord::MessageData(msg_data) => {
                        // ..
                    }
                    MessageRecord::Connection(conn) => {
                        // ..
                    }
                }
            }
        },
        ChunkRecord::IndexData(index_data) => {
            // ..
        },
    }
}
// Iterate over records in the index section
for record in bag.index_records() {
    match record? {
        IndexRecord::IndexData(index_data) => {
            // ..
        }
        IndexRecord::Connection(conn) => {
            // ..
        }
        IndexRecord::ChunkInfo(chunk_info) => {
            // ..
        }
    }
}

License

The crate is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~2.5MB
~40K SLoC