Skip to content

Zarr backend should avoid checking for invalid encodings #6373

Closed
@dcherian

Description

@dcherian

What is your issue?

The zarr backend has a list of "valid" encodings that needs to be updated any time zarr adds something new (e.g. #6348)

valid_encodings = {
"chunks",
"compressor",
"filters",
"cache_metadata",
"write_empty_chunks",
}
if raise_on_invalid:
invalid = [k for k in encoding if k not in valid_encodings]
if invalid:
raise ValueError(
f"unexpected encoding parameters for zarr backend: {invalid!r}"
)
else:
for k in list(encoding):
if k not in valid_encodings:
del encoding[k]
chunks = _determine_zarr_chunks(

Can we get rid of this? I don't know the backends code well, but won't all our encoding parameters have been removed by this stage? The raise_on_invalid kwarg suggests so.

@tomwhite points out that zarr will raise a warning:

>>> zarr.create((1,), blah=1)
/Users/tom/miniconda/envs/sgkit-3.8/lib/python3.8/site-packages/zarr/creation.py:221: UserWarning: ignoring keyword argument 'blah'
  warn('ignoring keyword argument %r' % k)
<zarr.core.Array (1,) float64>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions