You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think it's not very good user experience to spam with warnings when reading a non-spec codec e.g. from numcodecs. The warning on write makes sense, but currently there is no way for an end user to read a numcodecs store without warnings.
importwarningsimportzarrfromzarr.codecsimportnumcodecswarnings.simplefilter("always")
# Warns on both write and reada=zarr.create_array({}, shape=(10,), chunks=(10,), dtype="uint8", compressors=[numcodecs.Zstd(level=1)])
zarr.open_array(a.store, mode="r")
imo for someone creating data, the warning is reasonable. It says "use these at your own risk, they're not fully supported everywhere". For a data user, what can they possibly do with this warning? The existence of the store is usually out of their control, and they just want to read it.
For a data user, what can they possibly do with this warning? The existence of the store is usually out of their control, and they just want to read it.
I think when we added these warnings, we anticipated making breaking changes that would break the ability to read from data saved with these codecs. But realistically, we can pretty easily be permissible about what stuff we support for reading -- we can always make breaking changes to writing behavior, but read the old data -- so I think re-evaluating our warning strategy here makes sense.
Activity
d-v-b commentedon Mar 25, 2026
I kind of do think it's important to warn people when they are reading from data that's off-spec. Maybe we can do that in a less annoying way?
d-v-b commentedon Mar 25, 2026
fwiw my preferred approach for reducing the warnings is to write specs for these codecs
slevang commentedon Mar 25, 2026
imo for someone creating data, the warning is reasonable. It says "use these at your own risk, they're not fully supported everywhere". For a data user, what can they possibly do with this warning? The existence of the store is usually out of their control, and they just want to read it.
d-v-b commentedon Mar 25, 2026
I think when we added these warnings, we anticipated making breaking changes that would break the ability to read from data saved with these codecs. But realistically, we can pretty easily be permissible about what stuff we support for reading -- we can always make breaking changes to writing behavior, but read the old data -- so I think re-evaluating our warning strategy here makes sense.