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:
importzarrstore=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[:] =42store.close()
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: