Replace Flake8 checks with Ruff (except for flake8-pyi) (#11496)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
Avasam
2024-03-10 10:35:45 -04:00
committed by GitHub
parent 55205a4ce6
commit 1a942aa36d
8 changed files with 63 additions and 50 deletions

53
.flake8
View File

@@ -1,44 +1,19 @@
# The following rules come from plugins that are not used by typeshed.
# Since typeshed stubs them, they can still be expected to be found in a
# developer's venv for intellisense and reference reasons
# A flake8-builtins
# B flake8-bugbear
# D flake8-docstrings
# N8 pep8-naming
# SIM flake8-simplify
# RST flake8-rst-docstrings
# TYP flake8-typing-imports
# The following rules are incompatible with or enforced by Black:
# E203 whitespace before ':' -- scripts only
# E301 expected 1 blank line
# E302 expected 2 blank lines
# E305 expected 2 blank lines
# E501 line too long
# E701 Multiple statements on one line (colon) -- disallows "..." on the same line
# Some rules are considered irrelevant to stub files:
# F401 imported but unused -- does not recognize re-exports
# https://github.com/PyCQA/pyflakes/issues/474
# Rules that are out of the control of stub authors:
# E741 ambiguous variable name
# F403 import *' used; unable to detect undefined names
# F405 defined from star imports
[flake8]
extend-ignore = A, B, D, N8, SIM, RST, TYP, E301, E302, E305, E501, E701
# NQA: Ruff won't warn about redundant `# noqa: Y`
# Y: Flake8 is only used to run flake8-pyi, everything else is in Ruff
# F821: Until https://github.com/astral-sh/ruff/issues/3011 is fixed, we need flake8-pyi's monkeypatching
select = NQA, Y, F821
# Ignore rules normally excluded by default
extend-ignore = Y090
per-file-ignores =
*.py: E203
*.pyi: E741, F401, F403, F405
# Since typing.pyi defines "overload" this is not recognized by Flake8 as typing.overload.
# Unfortunately, Flake8 does not allow to "noqa" just a specific error inside the file itself.
# https://github.com/PyCQA/flake8/issues/1079
# F811 redefinition of unused '...'
stdlib/typing.pyi: E741, F401, F403, F405, F811
# Generated protobuf files include docstrings,
# and import some things from typing_extensions that could be imported from typing
*_pb2.pyi: E741, F401, F403, F405, Y021, Y023, Y026, Y053, Y054
# We should only need to noqa Y and F821 codes in .pyi files
*.py: NQA
# Generated protobuf files:
# Y021: Include docstrings
# Y023: Alias typing as typing_extensions
# Y026: Have implicit type aliases
# Y053: have literals >50 characters long
*_pb2.pyi: Y021, Y023, Y026, Y053
exclude = .venv*,.git
noqa_require_code = true