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.
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.