#zip-file #zip #file-format #unzip #io #state-machine

rc-zip

An I/O-agnostic implementation of the zip file format

13 stable releases (4 major)

new 5.3.1 Mar 4, 2025
5.2.0 Dec 17, 2024
5.1.3 Sep 17, 2024
5.1.0 Mar 19, 2024
0.0.0 Jul 9, 2019

#239 in Compression

Download history 5784/week @ 2024-11-16 10299/week @ 2024-11-23 8826/week @ 2024-11-30 9100/week @ 2024-12-07 8267/week @ 2024-12-14 5377/week @ 2024-12-21 5927/week @ 2024-12-28 8079/week @ 2025-01-04 7530/week @ 2025-01-11 8435/week @ 2025-01-18 6931/week @ 2025-01-25 7326/week @ 2025-02-01 7654/week @ 2025-02-08 7322/week @ 2025-02-15 8105/week @ 2025-02-22 7837/week @ 2025-03-01

32,097 downloads per month
Used in 20 crates (8 directly)

Apache-2.0 OR MIT

150KB
3K SLoC

MIT OR Apache-2.0 licensed Crates.io docs.rs

rc-zip

The rc-zip logo: a person with long hair and nice brows being opened from the bottom up with a zipper. On dark backgrounds, you can see a skull being revealed. On light backgrounds you cannot.

Logo by MisiasArt

This is the core rc-zip crate, containing types, parses, and state machines, and that doesn't do any I/O by itself.

The full README for this crate is the top-level README in the GitHub repository.


lib.rs:

rc-zip is a sans-io library for reading zip files.

It's made up of a bunch of types representing the various parts of a zip file, winnow parsers that can turn byte buffers into those types, and state machines that can use those parsers to read zip files from a stream.

This crate is low-level, you may be interested in either of those higher level wrappers:

Dependencies

~6–9MB
~225K SLoC