zarr-python icon indicating copy to clipboard operation
zarr-python copied to clipboard

Slim dependencies

Open jhamman opened this issue 1 year ago • 1 comments

This PR implements the main ideas from #2391, removing crc32c and fsspec as core dependencies and adding them to the sharding and remote groups respectively. Imports are adjusted in minor ways and we now take advantage of pytest.importorskip in a few new places.

TODO: if we decide to go this route, we should have a separate part of the test matrix that includes optional dependencies.

Closes #2391 Fixes https://github.com/zarr-developers/zarr-python/issues/735

TODO:

  • [ ] Add unit tests and/or doctests in docstrings
  • [ ] Add docstrings and API docs for any new/modified user-facing classes and functions
  • [ ] New/modified features documented in docs/tutorial.rst
  • [ ] Changes documented in docs/release.rst
  • [ ] GitHub Actions have all passed
  • [ ] Test coverage is 100% (Codecov passes)

jhamman avatar Oct 17 '24 16:10 jhamman

Something I learned over the weekend is that crc32c is LGPL Licensed. Regardless of whether we get crc32c into numcodecs, we may want to pick a different implementation (googleapis/python-crc32c is Apache 2.0 licenced).

jhamman avatar Oct 21 '24 20:10 jhamman