11 releases (breaking)
0.11.0 | Oct 30, 2024 |
---|---|
0.9.1 | Jun 24, 2024 |
0.9.0 | Nov 1, 2023 |
0.7.1 | Jul 28, 2023 |
0.5.0 | Oct 17, 2022 |
#72 in Compression
27,262 downloads per month
Used in foc
380KB
3K
SLoC
Rust MCAP library
A library for reading and writing Foxglove MCAP files. See the crate documentation for examples.
Design goals
-
Simple APIs: Users should be able to iterate over messages, with each automatically linked to its channel, and that channel linked to its schema. Users shouldn't have to manually track channel and schema IDs.
-
Performance: Writers shouldn't hold large buffers (e.g., the current chunk) in memory. Readers should support memory-mapped files to avoid needless copies and to let the OS do what it does best: loading and caching large files based on how you're actually reading them.
-
Resilience: Like MCAP itself, the library should let you recover every valid message from an incomplete file or chunk.
Building
By default this package will build with zstd compression support enabled. To
build without the zstd dependency pass the --no-default-features
flag:
cargo build --no-default-features
Dependencies
~2.4–9.5MB
~94K SLoC