Conversation
|
Thanks for working on this @d-v-b! I tried running the example from #1976, and it gets further, but doesn't seem to write the value: >>> import zarr
>>> z = zarr.open(store='example-v3.zarr', mode='w', shape=())
>>> z[...] = 3
>>> z[...]
array(1.5e-323)
I agree that the spec should say something about this case. 0-d arrays are still arrays, and should be supported in Zarr v3 IMO. |
|
The spec says that the How does chunk key encoding work for 0d arrays? |
@normanrz I was wondering the same thing. It turns out that I did miss something in the v3 spec: in the section describing the default chunk key encoding, it states:
I wonder if this is a typo, and the intention was to use the v2 behavior with a single chunk at |
Reading it now, I think the spec pretty clear. For |
…m_arrays_indexing
|
@tomwhite I'm going to merge this and open a subsequent PR that fixes the problem you observed. |
…put into an array. ensures that the dtype of the array is used.
|
I ended up needing to implement |
* v3: (22 commits) [v3] `Buffer` ensure correct subclass based on the `BufferPrototype` argument (zarr-developers#1974) Fix doc build (zarr-developers#1987) Fix doc build warnings (zarr-developers#1985) Automatically generate API reference docs (zarr-developers#1918) Update `RemoteStore.__str__` and add UPath tests (zarr-developers#1964) [v3] Elevate codec pipeline (zarr-developers#1932) 0 dim arrays: indexing (zarr-developers#1980) `parse_shapelike` allows 0 (zarr-developers#1979) Clean up typing and docs for indexing (zarr-developers#1961) add json indentation to config (zarr-developers#1952) chore: update pre-commit hooks (zarr-developers#1973) Bump pypa/gh-action-pypi-publish in the actions group (zarr-developers#1969) chore: update pre-commit hooks (zarr-developers#1957) Update release.rst (zarr-developers#1960) doc: update release notes for 3.0.0.alpha (zarr-developers#1959) Basic working FsspecStore (zarr-developers#1785) Feature: Top level V3 API (zarr-developers#1884) Buffer Prototype Argument (zarr-developers#1910) Create issue-metrics.yml fixes bug in transpose (zarr-developers#1949) ...
Support (basic) indexing of 0 dimensional arrays. I parameterized the old v2 test for this w.r.t. the
outkeyword and also thedtypeof the array, marking the structured dtype case as an xfail. Builds on #1979.@normanrz git blame tells me that you marked the 0d indexing tests as xfail, with the reasoning being that v3 does not support 0d arrays. I couldn't find anything in the v3 spec about 0d arrays (and I actually couldn't find anything in the v2 spec about it either!). Did I miss something in the spec? If not, we might want to make this explicit one way or another.
cc @tomwhite if you have the time to test this I would appreciate it. It's possible that there are other broken things that I haven't found via our test suite.
TODO: