zarr-developers / zarr-python

An implementation of chunked, compressed, N-dimensional arrays for Python.
http://zarr.readthedocs.io/
MIT License
1.41k stars 267 forks source link

[v3] Develop ZipStore #2010

Open jhamman opened 1 week ago

jhamman commented 1 week ago

In Zarr-Python 2, we had the ZipStore. This hasn't been implemented yet in v3 but will need to be before the 3.0 release.

Fsspec has a ZipStore but I don't think it has an async interface so I think we should implement our own. Some design thought will be needed here to get locking/etc. right.

The intended behavior is something like this:

import zarr

store = zarr.ZipStore('data/example.zip', mode='w')
root = zarr.group(store=store)
z = root.zeros('foo/bar', shape=(1000, 1000), chunks=(100, 100), dtype='i4')
z[:] = 42
store.close()