11个稳定版本

2.6.0 2024年6月9日
2.5.0 2023年1月12日
2.4.0 2021年12月25日
2.3.2 2021年5月28日
1.0.0 2019年12月7日

#20 in 压缩

Download history • Rust 包仓库 2112/week @ 2024-05-03 • Rust 包仓库 1880/week @ 2024-05-10 • Rust 包仓库 1186/week @ 2024-05-17 • Rust 包仓库 939/week @ 2024-05-24 • Rust 包仓库 1132/week @ 2024-05-31 • Rust 包仓库 2666/week @ 2024-06-07 • Rust 包仓库 1879/week @ 2024-06-14 • Rust 包仓库 1149/week @ 2024-06-21 • Rust 包仓库 1343/week @ 2024-06-28 • Rust 包仓库 1043/week @ 2024-07-05 • Rust 包仓库 1178/week @ 2024-07-12 • Rust 包仓库 1681/week @ 2024-07-19 • Rust 包仓库 2038/week @ 2024-07-26 • Rust 包仓库 1497/week @ 2024-08-02 • Rust 包仓库 1595/week @ 2024-08-09 • Rust 包仓库 3024/week @ 2024-08-16 • Rust 包仓库

8,454 每月下载量
用于 22 个crate(21个直接)

MIT/Apache

73KB
1.5K SLoC

niffler

为压缩文件提供简单透明的支持。

此库提供两个主要功能

  • 从输入文件中检测压缩格式,并返回一个准备就绪的Read trait对象。
  • 创建一个初始化为压缩模式的Writer,准备写入。

目标是降低打开和使用文件(尤其是在生物信息学工作流程中)的门槛。

build-status Crates.io Documentation

选择压缩格式

默认情况下,所有支持的压缩格式都已启用。如果您正在使用不支持这些格式的系统,您可以选择禁用默认功能并选择所需的格式。例如,当前在Webassembly环境中仅支持gz(因为niffler依赖于具有系统依赖项的crate来支持bz2lzma压缩),因此您可以在您的Cargo.toml中使用此功能来仅选择gz支持

niffler = { version = "2.2.0", default-features = false, features = ["gz"] }

您仍然可以使用niffler::sniff()来查找压缩格式,即使禁用了任何功能。但如果你尝试使用禁用功能的niffler::get_reader,它将引发运行时错误。

最低支持的Rust版本

目前最低支持的Rust版本是1.65.0。

类似项目

其他语言中存在许多类似的项目

开发

niffler开发是开放的,并欢迎拉取请求

在创建您的拉取请求之前,请尝试编写一个测试(如果可能)和基准测试。我们建议运行以下命令以帮助您完成这些任务

cargo fmt
cargo test
cargo clippy

要运行测试,请使用

cargo test --all-features

要测试基准测试,请运行

cargo test --benches --all-features

要运行所有基准测试,请使用

cargo bench --all-features

作为快捷方式,您还可以运行make,它将执行所有这些命令。

许可证

许可协议为以下之一

贡献

除非您明确表示,否则您有意提交以供包括在作品中的任何贡献,如Apache-2.0许可证中定义,应按上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~3–4.5MB
~83K SLoC