#zip #archive #extract

zip-extract

Archive extraction via zip-rs, automated

4 releases

0.1.3 Jan 22, 2024
0.1.2 Feb 26, 2023
0.1.1 Jan 26, 2022
0.1.0 Jun 22, 2020

#35 in Compression

Download history 1542/week @ 2023-11-02 2051/week @ 2023-11-09 2655/week @ 2023-11-16 1770/week @ 2023-11-23 1667/week @ 2023-11-30 2362/week @ 2023-12-07 2007/week @ 2023-12-14 1565/week @ 2023-12-21 1827/week @ 2023-12-28 1910/week @ 2024-01-04 1918/week @ 2024-01-11 2249/week @ 2024-01-18 2215/week @ 2024-01-25 2409/week @ 2024-02-01 3064/week @ 2024-02-08 2158/week @ 2024-02-15

10,360 downloads per month
Used in 37 crates (26 directly)

MIT license

170KB
114 lines

zip-extract

CI Crates.io Docs.rs

zip-extract's primary goal is simple: Automate tedious zip extraction. Ever wanted to just unpack an archive somewhere? Well, here you go.

Usage

let archive: Vec<u8> = download_my_archive()?;
let target_dir = PathBuf::from("my_target_dir"); // Doesn't need to exist

// The third parameter allows you to strip away toplevel directories.
// If `archive` contained a single directory, its contents would be extracted instead.
zip_extract::extract(Cursor::new(archive), &target_dir, true)?;

Features

All features are the same as the features of the zip crate:

  • aes-crypto: Support for AES encryption via the the zip crate
  • deflate: Support for the Deflate algorithm (miniz_oxide rust-backend)
  • deflate-miniz: ^ dito (miniz C-backend)
  • deflate-zlib: ^ dito (zlib C-backend)
  • unreserved: Support for the unreserved feature of the zip crate
  • bzip2: Support for .bzip2 archives via the bzip2 crate
  • time: Support for the time crate for the zip crate
  • zstd: Support for the zstd crate for the zip crate
  • default: enables "aes-crypto", "bzip2", "deflate", "zstd"

Dependencies

~4.5–6MB
~104K SLoC