#bzip2 #algorithm #table

libribzip2

a bzip2 library written in pure rust

4 releases (2 breaking)

0.5.0 Mar 31, 2022
0.4.0 Mar 11, 2022
0.3.2 Jan 29, 2022
0.3.0 Jan 29, 2022

#676 in Compression


Used in ribzip2

MIT license

110KB
3K SLoC

libribzip2 - a comprehensible pure Rust bzip2 implementation

libribzip attempts to be a comprehensible bzip2 implementation. It is currently WIP and to be considered unstable (interface-wise) and incomplete.

Features

  • pure safe-Rust implementation with no dependencies
  • multithreaded encoding
  • linear-time Burrows-Wheeler transform using SA-IS and Duval's algorithm
  • flexible computation of Huffman codes using one of
  • static global frequency tables
  • local tables computed using k-means clustering through Lloyd's algorithm

Contributing

libribzip2 is part of ribzip2, see the contribution guidelines there.


lib.rs:

Crate for encoding and decoding bzip2 streams Currently currently has a pretty narrow interface:

The main interfaces are

No runtime deps