Open chrisjkuch opened 3 months ago
I'm in favor of having the default to be Ruff. It's clear that Ruff is the emerging standard, and they describe themselves as production-ready.
There are major projects that are fully using Ruff for linting and formatting.
Lots of other major projects (e.g., pip, matplotlib, PyTorch) are using Ruff for linting over flake8, though are still using black for now.
Closes #374 Closes #388
This PR adds ruff as the default linting and formatting option for new ccds projects.
Implementation notes
pyproject.toml
and removedsetup.cfg
if using ruff since it's no longer needed.Discussion
As mentioned, this PR makes ruff the default option. I think there's good arguments for this that mostly boil down to "it's simpler + faster":
setup.cfg
file so everything can live inpyproject.toml
However, ruff is still (relatively) new, whereas flake8/black/isort is more mature, and most projects won't notice the speed difference until they get quite large. I could be persuaded that we should introduce ruff without making it the default option.