Reasonably stable library for zip file I/O

There is a scientific data format that I would like to read and write in Rust. The format is based on JSON, but readers/writers are encouraged to read zipped JSON files as well. As far as I can tell, zip-rs is the most complete library in Rust. Is this correct? Is it suitable for heavy-duty use (i.e. bug free, reasonably performant, etc.)? The documentation is a little light in places, and the version number is rather low, suggesting a more alpha-quality library than I might like.

Or it could indicate that the library quickly converged on something good enough and few version bumps were needed. It's hard to say from just the version number.

I would suggest looking at code that uses zip and seeing what that code does and how heavily it uses zip. Sadly crates.io does not have a reverse dependencies lookup, but GitHub's code search is good for this.

(I am not yet taking a position on the fitness for purpose of zip.)

https://crates.io/crates/zip/reverse_dependencies

It's there, it's just not easy to discover. I wouldn't know about it if I hadn't already seen it used before. A Google search for "crates reverse dependencies" brings up this issue as the first result, or at least it does for me.

On that list, Amethyst and Hematite stand out. I wouldn't necessarily say that being used by experimental game dev projects means it's production-ready, but if it's good enough for them then it's probably fine for OP's purposes.

2 Likes