New linting and Python builder
My goals here were to
- simplify the build specification processing into a single
pyproject.toml
using hatch (rather than setuptools). - Simplify (and improve) formatting + linting using
ruff
as the one tool to rule them all.
I've also added support for pre-commit
to keep us devs inline with liner rules, plus I've added
spinifex[dev,docs,test]
to the dependency options.