All Projects → rust-lang → libz-sys

rust-lang / libz-sys

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT
Rust crate package to link to a system libz (zlib)

Programming Languages

rust
11053 projects
shell
77523 projects

Projects that are alternatives of or similar to libz-sys

Universal Zopfli Js
JavaScript binding to Zopfli with WebAssembly.
Stars: ✭ 70 (+0%)
Mutual labels:  zlib
Uzlib
Radically unbloated DEFLATE/zlib/gzip compression/decompression library. Can decompress any gzip/zlib data, and offers simplified compressor which produces gzip-compatible output, while requiring much less resources (and providing less compression ratio of course).
Stars: ✭ 168 (+140%)
Mutual labels:  zlib
Precomp Cpp
Precomp, C++ version - further compress already compressed files
Stars: ✭ 250 (+257.14%)
Mutual labels:  zlib
Zippy
Pure Nim implementation of deflate, zlib, gzip and zip.
Stars: ✭ 88 (+25.71%)
Mutual labels:  zlib
Libflate
A Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP)
Stars: ✭ 125 (+78.57%)
Mutual labels:  zlib
Rawspeed
fast raw decoding library
Stars: ✭ 179 (+155.71%)
Mutual labels:  zlib
Tinf
Tiny inflate library (inflate, gzip, zlib)
Stars: ✭ 57 (-18.57%)
Mutual labels:  zlib
mtscomp
Multichannel time series lossless compression in pure Python based on NumPy and zlib
Stars: ✭ 20 (-71.43%)
Mutual labels:  zlib
Nginx Ee
Automated Nginx compilation from sources with additional modules support. Compatible with WordOps, EasyEngine & Plesk
Stars: ✭ 132 (+88.57%)
Mutual labels:  zlib
Turbobench
Compression Benchmark
Stars: ✭ 211 (+201.43%)
Mutual labels:  zlib
Upx Visual Studio
Compile UPX 3.96 and belong librarys on Visual Studio! Source also include LZMA, UCL and zlib ✒️
Stars: ✭ 96 (+37.14%)
Mutual labels:  zlib
Swcompression
A Swift framework for working with compression, archives and containers.
Stars: ✭ 110 (+57.14%)
Mutual labels:  zlib
Datacompression
Swift libcompression wrapper as an extension for the Data type (GZIP, ZLIB, LZFSE, LZMA, LZ4, deflate, RFC-1950, RFC-1951, RFC-1952)
Stars: ✭ 191 (+172.86%)
Mutual labels:  zlib
Denoflate
WebAssembly powered Deflate/Gzip/Zlib compression for Deno, written in Rust
Stars: ✭ 80 (+14.29%)
Mutual labels:  zlib
em inflate
Fast, small, in-memory inflate (zlib, deflate and gzip decompression)
Stars: ✭ 59 (-15.71%)
Mutual labels:  zlib
Merecat
Small and made-easy HTTP/HTTPS server based on Jef Poskanzer's thttpd
Stars: ✭ 69 (-1.43%)
Mutual labels:  zlib
Libzippp
C++ wrapper for libzip
Stars: ✭ 169 (+141.43%)
Mutual labels:  zlib
Libz.jl
Fast, flexible zlib bindings.
Stars: ✭ 26 (-62.86%)
Mutual labels:  zlib
ZipArchive
A single-class pure VB6 library for zip with ASM speed
Stars: ✭ 38 (-45.71%)
Mutual labels:  zlib
Matio
MATLAB MAT File I/O Library
Stars: ✭ 206 (+194.29%)
Mutual labels:  zlib

libz-sys

A common library for linking libz to rust programs (also known as zlib).

Documentation

This also serves as the source for the libz-ng-sys crate, which builds zlib-ng natively (not in zlib-compat mode). See README-zng.md for details.

High-level API

This crate provides bindings to the raw low-level C API. For a higher-level safe API to work with DEFLATE, zlib, or gzip streams, see flate2. flate2 also supports alternative implementations, including slower but pure Rust implementations.

zlib-ng

This crate supports building either the high-performance zlib-ng (in zlib-compat mode), or the widely available stock zlib.

By default, libz-sys uses stock zlib, primarily because doing so allows the use of a shared system zlib library if available.

Any application or library designed for zlib should work with zlib-ng in zlib-compat mode, as long as it doesn't make assumptions about the exact size or output of the deflated data (e.g. "compressing this data produces exactly this many bytes"), and as long as you don't also dynamically pull in a copy of stock zlib (which will produce conflicting symbols). Nonetheless, for maximum compatibility, every library crate in a build must opt into allowing zlib-ng; if any library crate in your dependency graph wants stock zlib, libz-sys will use stock zlib.

Library crates depending on libz-sys should use:

libz-sys = { version = "1.1.0", default-features = false, features = ["libc"] }

(Omit the libc feature if you don't require the corresponding functions.)

This allows higher-level crates depending on your library to opt into zlib-ng if desired.

Building zlib-ng requires cmake.

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in libz-sys by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].