-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zarr Python 3 tracking issue #514
Comments
I have been working on the Heres where the functionality is at in that PR. Generating references:
Reading with xarray Currently creating a store works, however there are caveats:
Codecs Codecs (filters, compressors) are treated differently in zarr 3. zarr 2 stores read with zarr 3 will still use numcodecs codecs, however if users want to ever use these codecs with another store (say to read a grib virtual dataset with Icechunk) the codecs from this package need to conform to zarr's
I think that this is mostly it, and im happy to help anyone who is interested in helping drive this forward |
In a side channel, I commented that such a wrapper could be written, but would be a pretty ugly piece of code. |
Sorry for jumping into the discussion, I've been following along for a bit. |
Sorry, @ap-- , only just noticed what you wrote. Your async wrapper for local is useful and should be more comprehensive than what I have done (below); but we might want to be able to wrap other sync filesystem too. #524 is a sketch of how you might wrap a synchronous filesystem to make it work with async calls. In [1]: import fsspec
...: import kerchunk.sync_wrapper
...: fs = fsspec.filesystem("file")
...: sfs = kerchunk.sync_wrapper.SyncronousWrapper(fs)
...: await sfs._ls(".")
...:
Out[1]:
[files, ...] |
I'm taking a crack at some of the outstanding tasks here though I'm not certain I have all the context that might be useful, so please disabuse me of any confusions that are obvious. As of now, cutting changes against @mpiannucci's v3 branch. Here's support for an abstraction over Zarr Python's store interface So far, I've tested things on a locally generated zarr store produced from a couple of concatenated netcdfs. Any wisdom regarding your local testing and debugging workflows might prove useful going forward EDIT: rereading things and thinking about the intent here, I'm wondering if my approach in the above PR (which is just to incorporate special logic for handling |
With this PR merged fsspec/filesystem_spec#1745 we are one step closer to getting the tests updated to work against zarr 3. Great work @moradology I dont think that zarr-developers/zarr-python#2468 is necessary to get the tests working here, as you can always create the filesystem and pass it to the |
Is it just the codecs support left to do here now? I'm wondering if the references generation can be punted on by e.g. warning / raising if you try to call |
@moradology is working on the tests, but yes AFAIK the codecs are the main thing left other than zarr to zarr and maybe multizarrtozarr |
I posted an update here: #516 (comment) . Thanks @moradology for working on the async wrapper. Most of the issues left are just testing things where zarr was being used in a way it just doesnt really support anymore, OR because we have no current way to wrap memory refs which a lot of the tests do. zarr python 3 is a pretty big departure from version 2 so there is a lot of change here |
Zarr-Python 3.0 is getting close to a full release. This issue tracks the integration of the 3.0 release with Kerchunk.
Here's a running list of issues we expect we need to solve either here or upstream:
Eventually, we may also want to:
xref: #504
The text was updated successfully, but these errors were encountered: