Nullus157/async-compression

Adaptors between compression crates and Rust's async IO types

Rust

671

747 commits

updated Oct 17, 2026

See the code

README

async-compression

crates.io version build status downloads docs.rs docs MIT or Apache 2.0 licensed dependency status

This crate provides adaptors between compression crates and Rust's modern asynchronous IO types.

Development

When developing you will need to enable appropriate features for the different test cases to run, the simplest is cargo test --all-features, but you can enable different subsets of features as appropriate for the code you are testing to avoid compiling all dependencies, e.g. cargo test --features tokio,gzip.

To prepare for a pull request, you can run several other checks:

  1. fmt

    cargo fmt --all
    cargo clippy --no-deps
    
  2. build

    cargo build --lib --all-features
    
  3. nextest

    cargo --locked nextest run --workspace --all-features
    
  4. hack check

    cargo hack check --workspace --feature-powerset --all-targets --skip 'all,all-algorithms,all-implementations'
    
  5. wasm32 - Linux only

    gh release download --repo WebAssembly/wasi-sdk --pattern 'wasi-sysroot-*.tar.gz'
    mkdir -p wasi-sysroot
    tar xf wasi-sysroot-*.tar.gz --strip-components=1 -C wasi-sysroot
    
    rustup target add wasm32-wasip1-threads
    
    export "CFLAGS_wasm32_wasip1_threads=--sysroot=\"${PWD}/wasi-sysroot\" -I\"${PWD}/wasi-sysroot/include/wasm32-wasip1-threads\" -L-I\"${PWD}/wasi-sysroot/lib/wasm32-wasip1-threads\""
    cargo build --lib --features all-implementations,brotli,bzip2,deflate,gzip,lz4,lzma,xz,zlib,zstd,deflate64 --target wasm32-wasip1-threads
    

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

Nullus157/async-compression

Adaptors between compression crates and Rust's async IO types

Rust

671

747 commits

updated Oct 17, 2026

See the code

README

async-compression

crates.io version build status downloads docs.rs docs MIT or Apache 2.0 licensed dependency status

This crate provides adaptors between compression crates and Rust's modern asynchronous IO types.

Development

When developing you will need to enable appropriate features for the different test cases to run, the simplest is cargo test --all-features, but you can enable different subsets of features as appropriate for the code you are testing to avoid compiling all dependencies, e.g. cargo test --features tokio,gzip.

To prepare for a pull request, you can run several other checks:

  1. fmt

    cargo fmt --all
    cargo clippy --no-deps
    
  2. build

    cargo build --lib --all-features
    
  3. nextest

    cargo --locked nextest run --workspace --all-features
    
  4. hack check

    cargo hack check --workspace --feature-powerset --all-targets --skip 'all,all-algorithms,all-implementations'
    
  5. wasm32 - Linux only

    gh release download --repo WebAssembly/wasi-sdk --pattern 'wasi-sysroot-*.tar.gz'
    mkdir -p wasi-sysroot
    tar xf wasi-sysroot-*.tar.gz --strip-components=1 -C wasi-sysroot
    
    rustup target add wasm32-wasip1-threads
    
    export "CFLAGS_wasm32_wasip1_threads=--sysroot=\"${PWD}/wasi-sysroot\" -I\"${PWD}/wasi-sysroot/include/wasm32-wasip1-threads\" -L-I\"${PWD}/wasi-sysroot/lib/wasm32-wasip1-threads\""
    cargo build --lib --features all-implementations,brotli,bzip2,deflate,gzip,lz4,lzma,xz,zlib,zstd,deflate64 --target wasm32-wasip1-threads
    

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

Project health

Latest release

0.4.50 · Sep 30, 2026

Releases this year

18

Significant stargazers

(top 24 of 51)

John Nunley

334 followers · starred Oct 2023

Adrian Garcia Badaracco

694 followers · starred Feb 2023

Arve Knudsen

268 followers · starred Dec 2020

Bryant Biggs

654 followers · starred Feb 2025