# 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 # Some rules are considered irrelevant to stub files: # E701 multiple statements on one line (colon) -- disallows "..." on the same line # F401 imported but unused -- does not recognize re-exports # https://github.com/PyCQA/pyflakes/issues/474 # F822 undefined name in __all__ -- flake8 does not recognize 'foo: Any' # https://github.com/PyCQA/pyflakes/issues/533 # 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 # Rules that we'd like to enable in the future: # Y034 Detect common errors where certain methods are annotated as having a fixed # return type, despite returning self at runtime (temporarily disabled for # typing.pyi, enabled elsewhere). # Y037 Use PEP 604 syntax instead of `typing.Union` and `typing.Optional`. # Currently can't be enabled due to a few lingering bugs in mypy regarding # PEP 604 type aliases (see #4819). [flake8] per-file-ignores = *.py: E203, E301, E302, E305, E501 *.pyi: E301, E302, E305, E501, E701, E741, F401, F403, F405, F822, Y037 # 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: E301, E302, E305, E501, E701, E741, F401, F403, F405, F811, F822, Y034, Y037 exclude = .venv*,.git,*_pb2.pyi,stdlib/@python2/*