rusty_zstd 0.1.0

A ground-up, pure-Rust Zstandard (RFC 8878) compressor and decompressor. Levels -7..22 with all nine libzstd strategies, dictionaries + trainer, long-distance matching, seekable frames, multi-threading. Interoperable both directions with facebook/zstd v1.5.7, dual-gated per commit. Zero dependencies, no C, no *-sys, no FFI; builds on no_std + alloc and wasm32. MIT OR Apache-2.0.
Documentation
[package]

name = "rusty_zstd"

version.workspace = true

edition.workspace = true

license.workspace = true

repository.workspace = true

authors.workspace = true

homepage.workspace = true

rust-version.workspace = true

description = "A ground-up, pure-Rust Zstandard (RFC 8878) compressor and decompressor. Levels -7..22 with all nine libzstd strategies, dictionaries + trainer, long-distance matching, seekable frames, multi-threading. Interoperable both directions with facebook/zstd v1.5.7, dual-gated per commit. Zero dependencies, no C, no *-sys, no FFI; builds on no_std + alloc and wasm32. MIT OR Apache-2.0."

documentation = "https://docs.rs/rusty_zstd"

readme = "README.md"

keywords = ["zstd", "zstandard", "compression", "codec", "no-std"]

categories = ["compression", "encoding", "no-std"]



# The crate has no dependencies and no build script, so nothing docs.rs lacks is

# needed; document the default (std) surface.

[package.metadata.docs.rs]

all-features = false



[lib]

name = "rusty_zstd"

path = "src/lib.rs"



[features]

default = ["std"]

std = ["alloc"]

alloc = []

legacy = ["std"]

seekable = ["std"]

train = ["std"]

mt = ["std"]

profile = ["std"]

# DecSeq loop anatomy ladder (`dsloop.rs`). Adds a per-sequence arm dispatch to

# the decode loop, so it is NOT part of `profile`: it perturbs the very loop it

# measures and must be built on purpose.

dupladder = ["profile"]



[lints]

workspace = true