niffler

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:

Development

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.

License

Licensed under either of these:

Contributing

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.