bzip2-rs icon indicating copy to clipboard operation
bzip2-rs copied to clipboard

Pure Rust bzip2 decoder

bzip2-rs

crates.io Documentation dependency status Rustc Version 1.34.2+ CI

Pure Rust 100% safe bzip2 decompressor.

Features

  • rayon: enable using the rayon global threadpool for parallel decoding. NOTE: this feature is not subject to a MSRV. At the time of writing the MSRV for rayon is 1.36.0

  • Default features: Rust >= 1.34.2 is supported

  • rustc_1_37: bump MSRV to 1.37, enable more optimizations

  • rustc_1_55: bump MSRV to 1.55, enable more optimizations

  • nightly: require Rust Nightly, enable more optimizations

Usage

use std::fs::File;
use std::io;
use bzip2_rs::DecoderReader;

let mut compressed_file = File::open("input.bz2")?;
let mut decompressed_output = File::create("output")?;

let mut reader = DecoderReader::new(compressed_file);
io::copy(&mut reader, &mut decompressed_output)?;

Upcoming features

  • bzip2 encoding support
  • no_std support (is anybody interested with this?)

License

Licensed under either of

  • Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Contribution

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