[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, mypyc/doc/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) # E741: Ambiguous variable name extend-ignore = E128,W601,E701,E704,E402,B3,B006,B007,B011,F821,F811,E741 [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__['"]:$