Super-linter: Flake8 support

Created on 18 Jun 2020  ·  6Comments  ·  Source: github/super-linter

Is your feature request related to a problem? Please describe.
I prefer flake8 over pylint and would love flake8 support for Python3 linting

Describe the solution you'd like
Flake8 support

Additional context
Documentation here: https://flake8.pycqa.org/en/latest/

enhancement

Most helpful comment

Giving this a go, will be a large change in order to allow pylint and flake, like we do for eslint and standard in JS

All 6 comments

This issue has been automatically marked as stale because it has not had recent activity.
It will be closed in 14 days if no further activity occurs.
Thank you for your contributions.

If you think this issue should stay open, please remove the O: stale 🤖 label or comment on the issue.

Changing the Python linter default from Pylint to Flake8 would indeed be a welcome improvement. Having just set up the Super-Linter to lint several of my Python projects, I am reminded why I haven't been using Pylint: the annoying number of false positives. As it stands, the Super-Linter is pretty useless for Python projects.

From a quantitative analysis of the problem at https://lukeplant.me.uk/blog/posts/pylint-false-positives/

The Good:Bad ratio here is very low in my book. If Pylint was a co-worker doing code review, I’d be praying for him to leave

To fix the false positives you could silence the entire class of errors (which increasingly makes using Pylint pointless), or add special comments to your code individually. I’m reluctant to do the latter: [...]

With these figures, I feel my previous estimates about the usefulness of Pylint (in the context of a code base where I’m already using flake8) were about right. The false positive rate would have to be massively reduced for me to consider using it.

In addition to the time and visual noise needed to deal with false positives, I would be reluctant to add something like this to a project because of the problem that junior devs may take a more slavish approach to keeping Pylint happy. This could result in them breaking working code because they didn’t understand that Pylint had got it wrong, or doing big code refactors just to enable Pylint to understand the code.

Yes I agree with @artob. I find pylint to be utterly useless since to have it have any level of usefulness one needs to heavily configure the rules and manually weed out all the false positives as one discovers them over a rather large time frame. Flake8 on the other hand is MUCH more sensible with reasonable defaults that require minimal configuration and babysitting

Giving this a go, will be a large change in order to allow pylint and flake, like we do for eslint and standard in JS

Dope work!

Was this page helpful?
0 / 5 - 0 ratings