jatkinson1000/archeryutils

Feature Request: Move to ruff for linting

Closed this issue · 0 comments

At the suggestion of @TomHall2020 I have been looking into using ruff for linting purposes.

In terms of formatting it is compatible with black.

For linting there is reasonable compatibility with pylint, though a number of rules are yet to be implemented (see astral-sh/ruff#970 (comment)).
Therefore I would consider using both, or at least encourage checking locally with pylint to maintain quality.

For documentation I note that the pydocstyle project has now been deprecated.
ruff contains tools to cover this, and can be set up for similar monitoring of numpy docstring conventions as are used in archeryutils.

As an all-in-one tool ruff contains a compatible implementation of isort (incompatibilities with other tools were why isort could not be included in #63).

I have been working on a local configuration as part of pyproject.toml that I will upload should I move forward with this.

In terms of workflows I would like to keep checks separate (formatting, linting, docstrings) as I feel this is useful. This will require looking into how to override the pyproject.toml in some way, but ideally without creating a fully separate configuration that must be co-maintained.