[flake8] max-line-length = 140 max-complexity = 25 ignore = E251,E252,C901,W292,W503,W504,W605,E722,E741,E126,F541 exclude = mitmproxy/contrib/*,test/mitmproxy/data/*,release/build/* addons = file,open,basestring,xrange,unicode,long,cmp [tool:pytest] testpaths = test addopts = --capture=no --color=yes [coverage:run] branch = False omit = *contrib*, *tnetstring*, *platform*, *main.py [coverage:report] show_missing = True exclude_lines = pragma: no cover raise NotImplementedError raise AssertionError if typing.TYPE_CHECKING: if TYPE_CHECKING: @overload [mypy] ignore_missing_imports = True files = mitmproxy,examples/addons,release [mypy-mitmproxy.contrib.*] ignore_errors = True [mypy-tornado.*] ignore_errors = True [mypy-test.*] ignore_errors = True # https://github.com/python/mypy/issues/3004 [mypy-http-modify-form,http-trailers] ignore_errors = True [tool:full_coverage] exclude = mitmproxy/tools/ release/hooks [tool:individual_coverage] exclude = mitmproxy/addons/onboarding.py mitmproxy/addons/termlog.py mitmproxy/connections.py mitmproxy/contentviews/base.py mitmproxy/contentviews/grpc.py mitmproxy/controller.py mitmproxy/ctx.py mitmproxy/exceptions.py mitmproxy/flow.py mitmproxy/io/io.py mitmproxy/io/tnetstring.py mitmproxy/log.py mitmproxy/master.py mitmproxy/net/check.py mitmproxy/net/http/cookies.py mitmproxy/net/http/message.py mitmproxy/net/http/multipart.py mitmproxy/net/tcp.py mitmproxy/net/tls.py mitmproxy/options.py mitmproxy/proxy/config.py mitmproxy/proxy/server.py mitmproxy/proxy/layers/tls.py mitmproxy/utils/bits.py release/hooks