bindle-file
bindle is an fast/efficient, binary archive format.
The format uses memory-mapped I/O for fast reads, optional zstd compression, and supports append-only writes with shadowing for updates. Files can be added incrementally without rewriting the entire archive.
Usage
use ;
// Create or open an archive
let mut archive = open?;
// Add files
archive.add?;
archive.save?;
// Read files
let data = archive.read.unwrap;
// Update by shadowing (old data remains until vacuum)
archive.add?;
archive.save?;
// Reclaim space from shadowed entries
archive.vacuum?;
C API
The library includes C bindings:
Bindle* bindle = ;
;
;
size_t size;
uint8_t* data = ;
// Or for uncompressed entries, read directly without decompression
uint8_t* raw = ;
;
;
Run:
To build libbindle and copy in to the root of repository
CLI
The bindle command provides basic operations:
Format
See SPEC.md for the binary format specification.