autocompress 0.5.0

Automatically select suitable decoder from magic bytes or encoder from file extension.
Documentation
[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"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[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"]