* feat: migrate from pylint/black to ruff
Linked Epic: overhangio/tutor#1251
Some new rules that have been added are:
I: sort imports
N: check for pep8-naming standards
W292: check for missing extra line at EOF
Some of our lines, particularly in config break the 88 character line length limit. For that, we add a # noqa: E501 to let ruff know to ignore the rule for that line
* test: python package distribution build when running make test
Pushing to pypi would occasionally fail because of breaking distribution build.
We verify the build in the github CI now so that we can mitigate those errors later on.
* fix: install ruff instead of pylint/black as optional dev dependency
With the latest Docker upgrade, we got the following warnings during
build:
FromAsCasing: 'as' and 'FROM' keywords' casing do not match
LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format
pkg_resources is a package that is unavailable in python 3.12, unless
setuptools is explicitely installed. Turns out, there are replacement
functions coming from importlib_resources, which can be obtained from
the importlib-resources pypi package. This package will be installed
with tutor starting from 17.0.2.