This project is an async 7z compressor/decompressor written in pure Rust.
This is a fork of sevenz-rust2, then translated the api to async with async-compression by AI.
| Codec | Decompression | Compression |
|---|---|---|
| COPY | ✓ | ✓ |
| LZMA | ✓ | ✓ |
| LZMA2 | ✓ | ✓ |
| BROTLI (*) | ✓ | ✓ |
| BZIP2 | ✓ | ✓ |
| DEFLATE (*) | ✓ | ✓ |
| PPMD | ✓ | ✓ |
| LZ4 (*) | ✓ | ✓ |
| ZSTD (*) | ✓ | ✓ |
(*) Require optional cargo feature.
| Filter | Decompression | Compression |
|---|---|---|
| BCJ X86 | ✓ | ✓ |
| BCJ ARM | ✓ | ✓ |
| BCJ ARM64 | ✓ | ✓ |
| BCJ ARM_THUMB | ✓ | ✓ |
| BCJ RISC_V | ✓ | ✓ |
| BCJ PPC | ✓ | ✓ |
| BCJ SPARC | ✓ | ✓ |
| BCJ IA64 | ✓ | ✓ |
| BCJ2 | ✓ | |
| DELTA | ✓ | ✓ |
- WASM support is unable for now, please write issue or pull request if you have idea to fix the build problems.
WASM is supported, but you can't use the default features. We provide a "default_wasm" feature that contains all default features with the needed changes to support WASM:
RUSTFLAGS='--cfg getrandom_backend="wasm_js"' cargo build --target wasm32-unknown-unknown --no-default-features --features=default_wasmLicensed under the Apache License, Version 2.0.