6 stable releases

2.2.0 Jul 1, 2020
2.1.1 Jun 30, 2020
2.0.1 May 20, 2020
2.0.0 Apr 22, 2020
1.0.0 Dec 7, 2019
Download history 588/week @ 2020-04-12 699/week @ 2020-04-19 659/week @ 2020-04-26 82/week @ 2020-05-03 413/week @ 2020-05-10 89/week @ 2020-05-17 372/week @ 2020-05-24 145/week @ 2020-05-31 155/week @ 2020-06-07 231/week @ 2020-06-14 715/week @ 2020-06-21 916/week @ 2020-06-28 334/week @ 2020-07-05 731/week @ 2020-07-12 416/week @ 2020-07-19 282/week @ 2020-07-26

1,593 downloads per month
Used in 3 crates


506 lines


Simple and transparent support for compressed files.

This library provides two main features:

  • sniffs out compression formats from input files and returns a Read trait object ready for consumption.
  • Create a Writer initialized with compression ready for writing.

The goal is to lower the barrier to open and use a file, especially in bioinformatics workflows.

build-status Crates.io Documentation

Similar project

Many similar projects exist in other languages:


niffler development is open, and pull requests are welcome!

Before creating your pull request, please try to write a test and benchmark (if possible). Some commands we suggest running to help with these tasks:

cargo fmt
cargo test
cargo clippy

To run tests use:

cargo test --all-features

To test benchmark run:

cargo test --benches --all-features

To run all benchmark use:

cargo bench --all-features

As a shortcut, you can also run make, which will execute all these commands.


Licensed under either of these:


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


~55K SLoC