[package]
name = "autocompress"
version = "0.5.0"
edition = "2021"
description = "Automatically select suitable decoder from magic bytes or encoder from file extension."
readme = "README.md"
homepage = "https://github.com/informationsea/autocompress-rs"
repository = "https://github.com/informationsea/autocompress-rs"
license = "Apache-2.0"
keywords = ["gzip", "zstd", "bzip2", "compress", "decompress"]
categories = ["compression", "encoding"]
exclude = ["testfiles"]
[features]
default = ["full"]
full = ["bzip2", "gzip", "xz", "zstd", "bgzip", "tokio", "tokio_fs", "rayon"]
bzip2 = ["dep:bzip2"]
gzip = ["gzip_rust_backend"]
bgzip = ["dep:bgzip", "flate2", "bgzip/rust_backend"]
bgzip_libdeflater = ["dep:bgzip", "flate2", "bgzip/libdeflater"]
xz = ["dep:xz2"]
zstd = ["dep:zstd"]
tokio_fs = ["tokio/fs", "tokio"]
tokio = ["dep:tokio"]
rayon = ["dep:rayon"]
gzip_rust_backend = ["flate2/rust_backend", "flate2"]
zlib = ["flate2/zlib", "dep:flate2"]
zlib-ng-compat = ["flate2/zlib-ng-compat", "flate2"]
zlib-ng = ["flate2/zlib-ng", "dep:flate2"]
cloudflare_zlib = ["flate2/cloudflare_zlib", "flate2"]
flate2 = ["dep:flate2"]
[dependencies]
bgzip = { version = "0.3.1", optional = true, default-features = false }
bzip2 = { version = "0.4.4", optional = true }
flate2 = { version = "1.0.26", default-features = false, optional = true }
once_cell = "1.18.0"
rayon = { version = "1.8.0", optional = true }
thiserror = "1.0.40"
tokio = { version = "1.29.1", features = [
"io-util",
"io-std",
"sync",
], optional = true }
xz2 = { version = "0.1.7", optional = true }
zstd = { version = "0.13.0", optional = true }
[dev-dependencies]
anyhow = "1.0.71"
tokio = { version = "1.29.1", features = ["full"] }
clap = { version = "4", features = ["derive", "cargo"] }
[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "doc_cfg"]