ArnoudBuzing/ ZipLink

(1.0.1) current version: 1.0.2 »

Zip file and directory compression via LibraryLink and Rust

Contributed by: Arnoud Buzing

ZipLink is a state-of-the-art Wolfram Language paclet that bridges the Wolfram ecosystem with the high-performance Rust `zip` ecosystem through LibraryLink. Engineered for speed and reliability, it provides an intuitive interface for managing archives with support for industry-standard compression methods like Deflate, Bzip2, and the ultra-fast ZStandard. Whether you are bundling large datasets for distribution or performing surgical extractions from complex directory structures, `ZipLink` delivers a seamless, native-level experience for archive management in Mathematica and Wolfram Desktop.

Installation Instructions

To install this paclet in your Wolfram Language environment, evaluate this code:
PacletInstall["ArnoudBuzing/ZipLink"]


To load the code after installation, evaluate this code:
Needs["ArnoudBuzing`ZipLink`"]

Details

Zip supports "Deflate", "Bzip2", and "ZStandard" (zstd) compression options.
Unzip extracts all files and directories from a given file.
ZipInformation lists contents and metadata without extracting.
ZipExtract extracts specific files from an archive.
Up to 5x faster than CreateArchive.

Examples

Basic Examples (7) 

Pick a directory to compress:

In[1]:=
qu = FileNameJoin[$InstallationDirectory, "AddOns", "Applications", "QuantityUnits"];

List the files in this directory:

In[2]:=
FileNames["*", qu, \[Infinity]]
Out[2]=

Create a zip file from the directory and its contents:

In[3]:=
zip = Zip[qu, "qu.zip"]
Out[3]=

List the contents of the zip file with compression details:

In[4]:=
ZipInformation[zip] // Dataset
Out[4]=

Unzip the zip file in a temporary directory:

In[5]:=
tmp = Unzip[zip, CreateDirectory[]]
Out[5]=

List the extracted files:

In[6]:=
FileNames["*", tmp, \[Infinity]]
Out[6]=

Extract a specific file only:

In[7]:=
ZipExtract[zip, "Kernel/QuantityUnits.m", CreateDirectory[]]
Out[7]=

Scope (1) 

Zip is significantly faster than CreateArchive:

In[8]:=
CreateArchive[$InstallationDirectory, "test.zip"] // AbsoluteTiming
Out[8]=
In[9]:=
Zip[$InstallationDirectory, "test.zip"] // AbsoluteTiming
Out[9]=
In[10]:=
DeleteFile["test.zip"]

Publisher

Arnoud Buzing

Compatibility

Wolfram Language Version 14.3

Version History

  • 1.0.2 – 25 March 2026
  • 1.0.1 – 25 March 2026
  • 1.0.0 – 24 March 2026

License Information

MIT License

Paclet Source