The first question is do we want to actually enable Pylint? This linter provides additional linting, such as telling us when a class/method/function is too big or pointing to a class that maybe shouldn't be a class, among others. Of note is that this shouldn't be added to Pylama, but executed standalone.
Hi Juraj, Adding feedback on my personal experience with such tools. Pylint is far more than just a style and/or complexity checker like flake8 or pycodestyle. It can do type inference based on heuristics and type annotations in the code. This allows (for example) failing during CI checks when accessing a non-existent object field or referencing an undefined symbol. A more complete static type checking is https://mypy-lang.org/. However, it requires a lot more involvement since you need to add type annotations everywhere for it to be worth it. Cheers
I didn't reply to the original question: YES I think using pylint (or mypy if you are really motivated) is a must have.
Thanks for the feedback, Robin. We already use Mypy with type annotations, so the value of adding Pylint would be in the extra linting capabilities on top of mccabe, pycodestyle and pyflakes which we also already use.
Oh my bad, I didn't know mypy was already in use. Then pylint is probably redundant. I find that too much linting only introduces noise for little benefit.
There is an exciting, fast linter written in Rust called Ruff: https://docs.astral.sh/ruff/ The linter should cover everything already covered by our linters. The benefits are faster linting (which will be appreciated when we have more code) and familiarity with just one tool.