[package]
name = "async-compression"
version = "0.4.37"
description = """
Adaptors between compression crates and Rust's modern asynchronous IO types.
"""
authors.workspace = true
categories.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[package.metadata.docs.rs]
all-features = true
[features]
all = ["all-implementations", "all-algorithms"]
all-implementations = ["futures-io", "tokio"]
all-algorithms = [
"brotli",
"bzip2",
"deflate",
"deflate64",
"gzip",
"lz4",
"lzma",
"xz",
"xz-parallel",
"zlib",
"zstd",
]
brotli = ["compression-codecs/brotli"]
bzip2 = ["compression-codecs/bzip2"]
deflate = ["compression-codecs/deflate"]
deflate64 = ["compression-codecs/deflate64"]
gzip = ["compression-codecs/gzip"]
lz4 = ["compression-codecs/lz4"]
lzma = ["compression-codecs/lzma"]
xz = ["compression-codecs/xz", "lzma"]
xz-parallel = ["compression-codecs/xz-parallel", "xz"]
xz2 = ["compression-codecs/xz2", "xz"]
zlib = ["compression-codecs/zlib"]
zstd = ["compression-codecs/zstd"]
zstdmt = ["compression-codecs/zstdmt", "zstd"]
[dependencies]
pin-project-lite.workspace = true
compression-codecs.workspace = true
compression-core.workspace = true
futures-io = { version = "0.3", default-features = false, features = [
"std",
], optional = true }
tokio = { version = "1.24.2", optional = true, default-features = false }
[dev-dependencies]
bytes = "1"
futures = "0.3.5"
futures-test = "0.3.5"
ntest = "0.9"
proptest = "1"
proptest-derive = "0.7"
rand = "0.9"
tokio = { version = "1.38.2", default-features = false, features = [
"io-util",
"macros",
"rt-multi-thread",
"io-std",
] }
tokio-util = { version = "0.7", default-features = false, features = ["io"] }
brotli = "8"
bzip2 = "0.6"
flate2 = "1.0.13"
libzstd = { package = "zstd", version = "0.13.1", default-features = false }
lz4 = "1.28.1"
liblzma = "0.4.2"
zstd-safe = { version = "7", default-features = false }
deflate64 = "0.1.5"
[lints]
workspace = true
[[test]]
name = "brotli"
required-features = ["brotli"]
[[test]]
name = "bzip2"
required-features = ["bzip2"]
[[test]]
name = "deflate"
required-features = ["deflate"]
[[test]]
name = "gzip"
required-features = ["gzip"]
[[test]]
name = "lz4"
required-features = ["lz4"]
[[test]]
name = "lzma"
required-features = ["lzma"]
[[test]]
name = "xz"
required-features = ["xz"]
[[test]]
name = "zlib"
required-features = ["zlib"]
[[test]]
name = "zstd"
required-features = ["zstd"]
[[test]]
name = "zstd-dict"
required-features = ["zstd", "tokio"]
[[test]]
name = "zstd-window-size"
required-features = ["zstd", "tokio"]
[[example]]
name = "zlib_tokio_write"
required-features = ["zlib", "tokio"]
[[example]]
name = "zstd_gzip"
required-features = ["zstd", "gzip", "tokio"]
[[example]]
name = "lzma_filters"
required-features = ["xz", "tokio"]