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
Currently, this package has a fixed set of known codecs, which are all implemented right here. It is possible for other packages to register codecs, but this is done by external code (e.g., imagecodecs.numcodecs.register_codecs). This means, that if you try to load a zarr dataset that needs one of those, but you haven't made the right import first (including on all dask workers, if distributed), you'll get a mysterious missing codec error.
I propose that we allow for a plugin system, as Intake and fsspec do, so that a package can declare any codecs it has in the package metadata (setup.py), and numcodecs is able to import that package on demand. This should be lazy, so we don't import more than we need to, and existing functionality is unaffected. Then, users only need make sure that the providing package is in the environment, a much easier ask.
Example entrypoint declaration: Intake , adlfs
The text was updated successfully, but these errors were encountered:
Currently, this package has a fixed set of known codecs, which are all implemented right here. It is possible for other packages to register codecs, but this is done by external code (e.g.,
imagecodecs.numcodecs.register_codecs
). This means, that if you try to load a zarr dataset that needs one of those, but you haven't made the right import first (including on all dask workers, if distributed), you'll get a mysterious missing codec error.I propose that we allow for a plugin system, as Intake and fsspec do, so that a package can declare any codecs it has in the package metadata (setup.py), and numcodecs is able to import that package on demand. This should be lazy, so we don't import more than we need to, and existing functionality is unaffected. Then, users only need make sure that the providing package is in the environment, a much easier ask.
Example entrypoint declaration: Intake , adlfs
The text was updated successfully, but these errors were encountered: