#zip-archive #zip #extract #archive

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

#39 in Compression

Download history 1897/week @ 2024-01-03 1652/week @ 2024-01-10 2093/week @ 2024-01-17 2137/week @ 2024-01-24 2217/week @ 2024-01-31 2905/week @ 2024-02-07 2629/week @ 2024-02-14 3256/week @ 2024-02-21 3305/week @ 2024-02-28 2684/week @ 2024-03-06 3697/week @ 2024-03-13 4385/week @ 2024-03-20 5087/week @ 2024-03-27 4472/week @ 2024-04-03 3597/week @ 2024-04-10 2315/week @ 2024-04-17

16,318 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

~6.5MB
~109K SLoC