#zstd-compression #zstd #api-bindings

sys no-std zstd-sys

Low-level bindings for the zstd compression library

45 stable releases

2.0.15+zstd.1.5.7 Mar 20, 2025
2.0.13+zstd.1.5.6 Aug 2, 2024
2.0.12+zstd.1.5.6 Jul 5, 2024
2.0.10+zstd.1.5.6 Mar 27, 2024
1.1.5-a Mar 24, 2017

#161 in Compression

Download history 1149799/week @ 2024-12-07 1032708/week @ 2024-12-14 515356/week @ 2024-12-21 607004/week @ 2024-12-28 1080041/week @ 2025-01-04 1190584/week @ 2025-01-11 1071578/week @ 2025-01-18 1147385/week @ 2025-01-25 1241772/week @ 2025-02-01 1418890/week @ 2025-02-08 1391793/week @ 2025-02-15 1633320/week @ 2025-02-22 1995573/week @ 2025-03-01 1933484/week @ 2025-03-08 2150702/week @ 2025-03-15 2174516/week @ 2025-03-22

8,527,543 downloads per month
Used in 4,121 crates (29 directly)

MIT/Apache

2.5MB
46K SLoC

C 41K SLoC // 0.2% comments Rust 4.5K SLoC // 0.1% comments GNU Style Assembly 390 SLoC // 0.2% comments

zstd-sys

This is the low-level auto-generated binding to the zstd library. You probably don't want to use this library directly; instead, look at zstd-rs or zstd-safe.

Compile it yourself

zstd is included as a submodule. To get everything during your clone, use:

git clone https://github.com/gyscos/zstd-rs --recursive

Or, if you cloned it without the --recursive flag, call this from inside the repository:

git submodule update --init

Then, running cargo build in this directory should take care of building the C library and linking to it.

Build-time bindgen

This library includes a pre-generated bindings.rs file. You can also generate new bindings at build-time, using the bindgen feature:

cargo build --features bindgen

lib.rs:

Low-level bindings to the zstd library.

Dependencies

~0–2.6MB
~43K SLoC