zstd-complete 0.3.0

A pure Rust Zstandard compressor and decompressor with bounded streaming I/O
Documentation
[package]
resolver = "3"
name = "zstd-complete"
version = "0.3.0"
rust-version = "1.87"
edition = "2018"
license = "BSD-3-Clause"
homepage = "https://github.com/bsutton/zstd-rs"
repository = "https://github.com/bsutton/zstd-rs"
documentation = "https://docs.rs/zstd-complete"
description = "A pure Rust Zstandard compressor and decompressor with bounded streaming I/O"
exclude = ["fuzz_decodecorpus/*"]
readme = "Readme.md"
keywords = ["zstd", "zstandard", "compression", "decompression"]
categories = ["compression"]

[package.metadata.docs.rs]
features = ["std", "hash", "dict_builder"]
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
# Locked behind the `hash` feature flag
twox-hash = { version = "2.0", default-features = false, features = ["xxhash64"], optional = true }
fastrand = {version = "2.3.0", optional = true }

# Internal feature, only used when building as part of libstd, not part of the
# stable interface of this crate.
compiler_builtins = { version = "0.1.2", optional = true }
core = { version = "1.0.0", optional = true, package = "rustc-std-workspace-core" }
alloc = { version = "1.0.0", optional = true, package = "rustc-std-workspace-alloc" }

[dev-dependencies]
criterion = "0.5"
rand = { version = "0.8.5", features = ["small_rng"] }
zstd = "0.13.2"

[features]
default = ["hash", "std"]
dict_builder = ["std", "dep:fastrand"]
hash = ["dep:twox-hash"]
fuzz_exports = []
# Internal benchmark and compatibility hooks exposing the numeric C-port API.
c-port-validation = []
# Diagnostic/release-gate feature that executes portable entropy paths even on
# an x86-64 host with BMI2. It is not intended as a normal tuning option.
force-scalar = []
# Opt-in bounded worker-thread support for independent-frame compression.
multithreading = ["std"]
std = []

# Internal feature, only used when building as part of libstd, not part of the
# stable interface of this crate.
rustc-dep-of-std = ["dep:compiler_builtins", "dep:core", "dep:alloc"]

[[bench]]
name = "decode_all"
harness = false