Skip to content

[v3] Support zero-dimensional arrays #1976

Closed
@tomwhite

Description

@tomwhite

Zarr version

3.0.0a1

Numcodecs version

0.12.1

Python Version

3.11.9

Operating System

Mac

Installation

pip

Description

Zero-dimensional arrays are supported in v2, so they should be in v3 too.

Steps to reproduce

>>> import zarr.v2 as zarr
>>> z = zarr.open(store='example-v2.zarr', mode='w', shape=())
>>> z[...] = 2
>>> z[...]
array(2.)
>>> import zarr
>>> z = zarr.open(store='example-v3.zarr', mode='w', shape=())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/tom/workspace/zarr-python/src/zarr/api/synchronous.py", line 45, in open
    obj = sync(
          ^^^^^
  File "/Users/tom/workspace/zarr-python/src/zarr/sync.py", line 92, in sync
    raise return_result
  File "/Users/tom/workspace/zarr-python/src/zarr/sync.py", line 51, in _runner
    return await coro
           ^^^^^^^^^^
  File "/Users/tom/workspace/zarr-python/src/zarr/api/asynchronous.py", line 198, in open
    return await open_array(store=store_path, zarr_format=zarr_format, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tom/workspace/zarr-python/src/zarr/api/asynchronous.py", line 868, in open_array
    return await create(store=store, path=path, zarr_format=zarr_format, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tom/workspace/zarr-python/src/zarr/api/asynchronous.py", line 686, in create
    return await AsyncArray.create(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tom/workspace/zarr-python/src/zarr/array.py", line 153, in create
    return await cls._create_v3(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tom/workspace/zarr-python/src/zarr/array.py", line 237, in _create_v3
    chunk_grid=RegularChunkGrid(chunk_shape=chunk_shape),
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tom/workspace/zarr-python/src/zarr/chunk_grids.py", line 51, in __init__
    chunk_shape_parsed = parse_shapelike(chunk_shape)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tom/workspace/zarr-python/src/zarr/common.py", line 145, in parse_shapelike
    raise ValueError("Expected at least one element. Got 0.")
ValueError: Expected at least one element. Got 0.

Additional output

No response

Metadata

Metadata

Assignees

Labels

bugPotential issues with the zarr-python library

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions