Skip to content

No imagecodecs registered in zarr-python. #534

Description

@sharkinsspatial

With our conversion to using the ArrayV3Metadata for our internal ManifestArray representation we also needed to adopt Zarr v3 style codec pipelines rather than the pure numcodecs list we used previously.

IIUC Because the Zarr v3 spec only contains a small number of native codecs zarr-python uses an entrypoint system to register a suite of numcodecs so they can be discovered via the zarr-python registry and used as a Zarr v3 style codec (from this PR zarr-developers/numcodecs#524).

When we converted to ArrayV3Metadata we did not have any test coverage that was exercising the zarr-python codec registry lookup for an imagecodec. @maxrjones is working on the TiffVirtualBackend that requires the use of imagecodecs and was hitting a failure related to this. I've made a simplified reproduction of the issue with this test bb13a2c which fails when using the fixture parameterized with compressor that needs to be represented by an imagecodec like imagecodecs_lz4h5 rather than a numcodec.

I'm don't have a great grasp of how the entrypoint system works for zarr-python and what the next steps are. Are we able to perform entrypoint registration for codecs from within our own pyproject.toml or does this need to be done upstream in zarr-python? To complicate matters it appears that there are also some underlying compatibility issues with imagecodecs and Zarr v3 style codec conversion zarr-developers/zarr-python#2735

Metadata

Metadata

Labels

bugSomething isn't workingzarr-pythonRelevant to zarr-python upstream

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions