# NOTE: following list of exceptions are from typeshed
# Some PEP8 deviations are considered irrelevant to stub files:
#       E301 expected 1 blank line
#       E302 expected 2 blank lines
#       E305 expected 2 blank lines
#       E701 multiple statements on one line (colon)
#       E741 ambiguous variable name
#       F401 imported but unused
#       F403 import *' used; unable to detect undefined names
#       F405 defined from star imports
#       F822 undefined name in __all__

[flake8]
copyright-check = True
# A: flake8-builtins
# ANN: flake8-annotations
# B: flake8-bugbear
# C: flake8-copyright, flake8-comprehensions
# FS: flake8-use-fstring
# B902: flake8-bugbear optional warning
# PT: flake8-pytest-style
select = A,ANN,B,C.E,F,FS,PT,W,B902
# ignore type annotations on self/cls
# ignore f-string missing prefix
# W503 (line break before binary operator) violates PEP8, so we ignore.
ignore = ANN101,ANN102,FS003,W503
max-line-length = 100
per-file-ignores =
  *.pyi: E301, E302, E305, E701, E741, F401, F403, F405, F822
exclude =
    .git,
    .venv,
    _build,
    __pycache__,
    .mypy_cache,
    pybind11
