#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

#38 in Compression

Download history 3749/week @ 2024-03-14 4454/week @ 2024-03-21 5145/week @ 2024-03-28 4453/week @ 2024-04-04 3220/week @ 2024-04-11 2877/week @ 2024-04-18 2638/week @ 2024-04-25 3094/week @ 2024-05-02 3219/week @ 2024-05-09 3376/week @ 2024-05-16 3277/week @ 2024-05-23 3080/week @ 2024-05-30 3620/week @ 2024-06-06 3900/week @ 2024-06-13 4392/week @ 2024-06-20 3569/week @ 2024-06-27

16,063 downloads per month
Used in 39 crates (28 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

~6MB
~104K SLoC