#zstd #api-bindings #zstandard

sys no-std zstd-sys

Low-level bindings for the zstd compression library

43 stable releases

2.0.13 zstd.1.5.6 Aug 2, 2024
2.0.12 zstd.1.5.6 Jul 5, 2024
2.0.11 zstd.1.5.6 Jun 17, 2024
2.0.10 zstd.1.5.6 Mar 27, 2024
1.1.5-a Mar 24, 2017

#331 in Compression

Download history 959588/week @ 2024-09-13 1050120/week @ 2024-09-20 1005439/week @ 2024-09-27 1068111/week @ 2024-10-04 1037007/week @ 2024-10-11 1086064/week @ 2024-10-18 1080592/week @ 2024-10-25 1021096/week @ 2024-11-01 1066955/week @ 2024-11-08 1091658/week @ 2024-11-15 944691/week @ 2024-11-22 995300/week @ 2024-11-29 1130300/week @ 2024-12-06 1059245/week @ 2024-12-13 588481/week @ 2024-12-20 421296/week @ 2024-12-27

3,383,430 downloads per month
Used in 3,645 crates (29 directly)

MIT/Apache

2.5MB
45K SLoC

C 40K SLoC // 0.2% comments Rust 4.5K SLoC // 0.1% comments GNU Style Assembly 382 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