#zstd #zstandard #compression

sys zstd-sys

Low-level bindings for the zstd compression library

24 stable releases

Uses old Rust 2015

1.4.19+zstd.1.4.8 Dec 20, 2020
1.4.17+zstd.1.4.5 Jun 14, 2020
1.4.15+zstd.1.4.4 Nov 5, 2019
1.4.12+zstd.1.4.2 Jul 25, 2019
1.1.5-a Mar 24, 2017

#77 in Compression

Download history 27096/week @ 2020-09-25 26286/week @ 2020-10-02 25701/week @ 2020-10-09 25548/week @ 2020-10-16 27022/week @ 2020-10-23 27113/week @ 2020-10-30 27591/week @ 2020-11-06 28963/week @ 2020-11-13 29082/week @ 2020-11-20 28640/week @ 2020-11-27 29590/week @ 2020-12-04 30298/week @ 2020-12-11 26642/week @ 2020-12-18 18423/week @ 2020-12-25 34156/week @ 2021-01-01 36603/week @ 2021-01-08

118,433 downloads per month
Used in 183 crates (4 directly)

MIT/Apache

4.5MB
92K SLoC

C 68K SLoC // 0.2% comments Rust 11K SLoC // 0.0% comments Visual Studio Project 6K SLoC Shell 2.5K SLoC // 0.2% comments Python 2.5K SLoC // 0.1% comments C++ 2K SLoC // 0.1% comments Visual Studio Solution 224 SLoC Batch 105 SLoC Lua 69 SLoC // 0.0% 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