[flake8]
max-line-length = 99
# typeshed and unit test fixtures have .pyi-specific flake8 configuration
exclude =
  # from .gitignore: directories, and file patterns that intersect with *.py
  build,
  bin,
  lib,
  include,
  @*,
  env,
  docs/build,
  out,
  .venv,
  .mypy_cache,
  .git,
  .cache,
  # Sphinx configuration is irrelevant
  docs/source/conf.py,
  # conflicting styles
  misc/*,
  # conflicting styles
  scripts/*,
  # tests have more relaxed styling requirements
  # fixtures have their own .pyi-specific configuration
  test-data/*,
  mypyc/test-data/*,
  # typeshed has its own .pyi-specific configuration
  mypy/typeshed/*,
  .tox
  .eggs
  .Python

# Things to ignore:
#   E128: continuation line under-indented (too noisy)
#   W601: has_key() deprecated (false positives)
#   E701: multiple statements on one line (colon) (we use this for classes with empty body)
#   E704: multiple statements on one line (def)
#   E402: module level import not at top of file
#   B3??: Python 3 compatibility warnings
#   B006: use of mutable defaults in function signatures
#   B007: Loop control variable not used within the loop body.
#   B011: Don't use assert False
#   F821: Name not defined (generates false positives with error codes)
#   F811: Redefinition of unused function (causes annoying errors with overloads)
extend-ignore = E128,W601,E701,E704,E402,B3,B006,B007,B011,F821,F811

[coverage:run]
branch = true
source = mypy
parallel = true

[coverage:report]
show_missing = true
skip_covered = True
omit = mypy/test/*
exclude_lines =
    \#\s*pragma: no cover
    ^\s*raise AssertionError\b
    ^\s*raise NotImplementedError\b
    ^\s*return NotImplemented\b
    ^\s*raise$
    ^if __name__ == ['"]__main__['"]:$
