[ANN] - MlFront_ZipFile - High-level API for zip files

I am happy to announce that MlFront_ZipFile.2.3.0, a package that can do basic zip/unzip operations on a zip file, was released today. It is available on opam with opam update and opam install MlFront_ZipFile.

There are other opam packages for zip files, and often those are more appropriate. MlFront_ZipFile is different because:

  • It is very high-level. I wanted an API to unzip and zip, with a simple observer API for unzipping so I could attach @CraigFe’s excellent progress bar library.
  • It can unzip 4GB files in a 32-bit OCaml runtime.
  • It has a permissive license.
  • It is not thread-safe (except unzipping).
  • It fully embeds the C code. That means it works on Windows and should work under cross-compilation without needing a non-portable/non-reproducible pkg-config installation.
  • It has a binary mlfront-zip which can do glob-based exclusions (a feature not present in the typical InfoZip /usr/bin/zip that comes with Unix or PowerShell Compress-Archive on Windows). macOS, Windows and Linux have prebuilt binaries.

Here are the relevant links:

Sidenote: The docs won’t be available on ocaml.org. Use the doc links above until I figure out a technical solution (very low-priority).

2 Likes