Is your feature request related to a problem? Please describe.
We really should be running this on Python 3.12, as the most recent active version. We currently can't because pytest-flake8 is not compatible, but having flake8 and mypy in pytest is overkill anyway - we enforce that with pre-commit.
Generally, moving to ruff also greatly simplifies our QA chain and is miles faster.
Describe the solution you'd like
A grab bag of QA improvements:
Add Python 3.12 to pyproject.toml
Simplify the pytest config to ditch flake8 and mypy
Simplify the pre-commit config to replace isort, flake8, black, pyupgrade etc. with ruff.
Describe alternatives you've considered
We could leave things as they are but this is going to be faster and more robust.
Is your feature request related to a problem? Please describe.
We really should be running this on Python 3.12, as the most recent active version. We currently can't because
pytest-flake8
is not compatible, but havingflake8
andmypy
inpytest
is overkill anyway - we enforce that withpre-commit
.ruff
also greatly simplifies our QA chain and is miles faster.Describe the solution you'd like
A grab bag of QA improvements:
pyproject.toml
pytest
config to ditchflake8
andmypy
pre-commit
config to replaceisort
,flake8
,black
,pyupgrade
etc. withruff
.Describe alternatives you've considered
We could leave things as they are but this is going to be faster and more robust.