SpatialData 0.8.0 permits Zarr versions that do not provide ArrayNotFoundError
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 74/100
Direzione di ricerca
Inizia controllando i metadati delle dipendenze pubblicati e il modulo di persistenza utilizzato da read_zarr. Riproduci il problema con i comandi Python isolati forniti usando Zarr 3.1.1 e 3.1.2. Il lavoro è completato quando la risoluzione delle dipendenze non consente più versioni in cui manca ArrayNotFoundError e l’importazione di read_zarr ha esito positivo nell’ambiente documentato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Report
Hej everyone,
I found and error while working.
SpatialData 0.8.0 declares zarr>=3.0.0, but its persistence module imports ArrayNotFoundError from zarr.errors.
That exception is unavailable in Zarr 3.0.0 through 3.1.1 and was added in Zarr 3.1.2.
Consequently, dependency resolution can produce a valid environment according to the published package metadata in which importing read_zarr fails.
Minimal reproduction
In a clean environment:
$ uv run --isolated --python 3.12 \
--with 'spatialdata==0.8.0' \
--with 'zarr==3.1.1' \
python -c 'from spatialdata import read_zarr'
ImportError: cannot import name 'ArrayNotFoundError' from 'zarr.errors'
The same failure occurs with Zarr 3.0.0 and 3.1.0. The import succeeds with
Zarr 3.1.2:
$ uv run --isolated --python 3.12 \
--with 'spatialdata==0.8.0' \
--with 'zarr==3.1.2' \
python -c 'from spatialdata import read_zarr; print(read_zarr.__name__)'
read_zarr
Versions
| Package | Version |
| ----------- | ------- |
| spatialdata | 0.8.0 |
| zarr | 3.1.1 |
| Dependency | Version |
| ------------------------ | ---------------------- |
| google-crc32c | 1.8.0 |
| wrapt | 2.1.2 |
| dask | 2026.8.0 |
| numcodecs | 0.16.5 |
| typing_extensions | 4.15.0 |
| natsort | 8.4.0 |
| scipy | 1.17.1 |
| packaging | 26.2 |
| six | 1.17.0 |
| array-api-compat | 1.14.0 |
| typing-inspection | 0.4.2 |
| crc32c | 2.9.post0 |
| pandas | 2.3.3 |
| charset-normalizer | 3.4.7 |
| transformnd | 0.7.2 |
| zstandard | 0.25.0 |
| legacy-api-wrap | 1.5 |
| Deprecated | 1.3.1 |
| pydantic | 2.12.5 |
| pytz | 2026.2 |
| scikit-image | 0.26.0 |
| shapely | 2.1.2 |
| setuptools | 82.0.1 |
| tblib | 3.2.2 |
| pydantic_core | 2.41.5 |
| certifi | 2026.4.22 (2026.04.22) |
| Jinja2 | 3.1.6 |
| lazy-loader | 0.5 |
| scverse-misc | 0.1.6 |
| pyarrow | 24.0.0 |
| pyproj | 3.7.2 |
| cloudpickle | 3.1.2 |
| fsspec | 2026.4.0 |
| numpy | 2.4.5 |
| PyYAML | 6.0.3 |
| xarray | 2026.4.0 |
| ome-zarr-models | 1.8.1 |
| session-info2 | 0.4.1 |
| toolz | 1.1.0 |
| spatial_image | 1.2.3 |
| rich | 15.0.0 |
| xarray-dataclass | 3.0.0 |
| python-dateutil | 2.9.0.post0 |
| MarkupSafe | 3.0.3 |
| annotated-types | 0.7.0 |
| psutil | 7.2.2 |
| networkx | 3.6.1 |
| h5py | 3.16.0 |
| anndata | 0.12.14 |
| pydantic-zarr | 0.10.0 |
| geopandas | 1.1.3 |
| ome-zarr | 0.19.2 |
| donfig | 0.8.1.post1 |
| multiscale_spatial_image | 2.0.3 |
| msgpack | 1.1.2 |
| Component | Info |
| --------- | ------------------------------------------------------------- |
| Python | 3.12.3 (main, Aug 31 2026, 10:18:26) [GCC 13.3.0] |
| OS | Linux-6.18.33.2-microsoft-standard-WSL2-x86_64-with-glibc2.39 |
| Updated | 2026-09-21 20:54 |
- Lingua principale
- Python
- Stelle
- 397
- Fork
- 98
- Merge medio
- 1g 13h
- PR unite (30g)
- 2
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di scverse/spatialdata
-
bug 🚨 element: labels 🏷️ method: aggregation 🔢 needs: triage priority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
scverse/spatialdata#1249 ·
I maintainer di solito rispondono entro 1 giorno
-
bug 🚨 element: images 🌌 element: labels 🏷️ needs: triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
scverse/spatialdata#1239 ·
I maintainer di solito rispondono entro 1 giorno
-
bug 🚨 element: shapes ▲ models needs: triage priority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
scverse/spatialdata#1234 ·
I maintainer di solito rispondono entro 1 giorno
-
bug 🚨 element: labels 🏷️ method: aggregation 🔢 needs: triage priority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
scverse/spatialdata#1230 ·
I maintainer di solito rispondono entro 1 giorno
-
TableModel rejects int8/uint8 instance-key columns although the error message promises 'uint equivalents' (breaks aggregate/to_circles on uint8 labels)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug 🚨 element: labels 🏷️ element: table 📑 models needs: triage priority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
scverse/spatialdata#1229 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di scverse/spatialdata
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
rpm-software-management/mock#1824 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
jpata/particleflow#520 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue hacktoberfest
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
gridhead/gi-loadouts#699 ·
I maintainer di solito rispondono entro 13 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
FinanceFlash/unvibecode#206 ·
I maintainer di solito rispondono entro 1 giorno