The IOOS Python Package Skeleton: Not just for IOOS!

We’d love some feedback on it too. So far we covered:

  • GH actions for pre-commit hooks and PyPI deployment;
  • doctr documentation deployment;
  • pre-commit for code quality and standards (black, interrogate, flake8, isort, codespell, etc);
  • pep 517/518 compliance via a simple pyproject.toml;
  • version handling with setuptools_scm;
  • reduction of setup.py code execution with a setup.cfg file.

The repository is meant to be an up-to-date copy-what-you-need resource. For example: we used to recommend versioneer, which a lot of pangeo project still use, but now we recommend setuptools_scm* and that was the main fix we had to do in xarray-spatial. We also had to apply some of fixes these on xlayers and xcape recently.

The docs are still a WIP and we are writing a session on how to publish wheels and conda-forge packages.

  • versioneer is unmaintained and deprecated due to PEPs 517/518.
3 Likes