Closed
Description
Zarr version
3.0.0a7
Numcodecs version
0.13.0
Python Version
3.12
Operating System
All
Installation
pip install --pre
Description
When open zarr dataset using image = zarr.open(store=path)
ends with error ValueError: Invalid value. Expected 'array'. Got group.
This guard is expecting key error, not value error:
zarr-python/src/zarr/api/asynchronous.py
Lines 248 to 251 in c258b27
napari_builtins/_tests/test_io.py:121:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
napari_builtins/io/_read.py:225: in magic_imread
image, zarr_shape = read_zarr_dataset(filename)
napari_builtins/io/_read.py:140: in read_zarr_dataset
image = zarr.open(store=path)
/tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/_compat.py:43: in inner_f
return f(*args, **kwargs)
/tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/api/synchronous.py:77: in open
obj = sync(
/tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/sync.py:91: in sync
raise return_result
/tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/sync.py:50: in _runner
return await coro
/tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/api/asynchronous.py:249: in open
return await open_array(store=store_path, zarr_format=zarr_format, **kwargs)
/tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/api/asynchronous.py:966: in open_array
return await AsyncArray.open(store_path, zarr_format=zarr_format)
/tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/array.py:405: in open
return cls(store_path=store_path, metadata=metadata_dict)
/tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/array.py:181: in __init__
metadata = ArrayV3Metadata.from_dict(metadata)
/tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/metadata/v3.py:270: in from_dict
_ = parse_node_type_array(_data.pop("node_type"))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
data = 'group'
def parse_node_type_array(data: object) -> Literal["array"]:
if data == "array":
return "array"
> raise ValueError(f"Invalid value. Expected 'array'. Got {data}.")
E ValueError: Invalid value. Expected 'array'. Got group.
/tmp/.tox/py312-linux-pyqt5-no_cov/lib/python3.12/site-packages/zarr/core/metadata/v3.py:45: ValueError
Steps to reproduce
Run test_zarr_multiscale
from napari_builtins/_tests/test_io.py
Additional output
followup to #2158
required for napari/napari#7215