-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Disable flake8-bugbear errors (if installed) #2629
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Which specific ones did you find not useful?
…--
Best regards,
Łukasz Langa
On Jan 2, 2017, at 3:57 PM, Guido van Rossum ***@***.***> wrote:
These bit me since the typeshed tests now install flake8-bugbear. We're not interested in these.
You can view, comment on, or merge this pull request online at:
#2629
Commit Summary
Disable flake8-bugbear errors (if installed)
File Changes
M setup.cfg (3)
Patch Links:
https://github.com/python/mypy/pull/2629.patch
https://github.com/python/mypy/pull/2629.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
All of them. Or rather, I don't feel like fixing them since this is mature code and they feel like nagging. I want these silenced now because typeshed has this in I also generally don't like "cleanup" PRs since they obscure true authorship of the code in git blame, so I discourage you from even thinking about submitting a PR that fixes these. |
The additional checks are mostly to aid with diff reviews. This is how bugbear got started, to help contributors avoid some typical mistakes and make their code more obvious to the reader. In this sense it's supposed to make the reviewer's job easier. I understand your concern about
B001 is just a single case. It would need to get fixed regardless because there will be a built-in warning for the same problem in the next version of flake8. So, my advice here:
Do you think that's reasonable? |
I'd be happy to review a PR that implements your proposal. |
Done, see #2638. |
This change is a step towards removing `runtests.py` (see #1673). The exclusion list in the flake8 configuration in `setup.cfg` has been updated to enable running the linter from the root of the project by simply invoking `flake8`. This enables it to leverage its own file discovery and its own multiprocessing queue without excessive subprocessing for linting every file. This gives a minor speed up in local test runs. Before: total time in lint: 130.914682 After: total time in lint: 20.379915 There's an additional speedup on Travis because linting is now only performed on Python 3.6. More importantly, this means flake8 is now running over all files unless explicitly excluded in `setup.cfg`. This will help avoiding unintentional omissions in the future (see comments on #2637). Note: running `flake8` as a single lazy subprocess in `runtests.py` doesn't sacrifice any parallelism because the linter has its own process pool. Minimal whitespace changes were required to `mypy_extensions.py` but in return flake8 will check it now exactly like it checks the rest of the `mypy/*` codebase. Those are also done on #2637 but that hasn't landed yet. Finally, flake8-bugbear and flake8-pyi were added to test requirements to make the linter configuration consistent with typeshed. I hope the additional checks will speed up future pull requests by automating bigger parts of the code review. The pyi plugin enables forward reference support when linting .pyi files. That means it's now possible to run `flake8` inside the typeshed submodule or on arbitrary .pyi files during development (which your editor could do for you), for example on fixtures. See discussion on #2629 on checks that are disabled and why.
These bit me since the typeshed tests now install flake8-bugbear. We're not interested in these.