# Recommended flake8 settings while editing WebOb, we use Black for the final linting/say in how code is formatted # # pip install flake8 flake8-bugbear # # This will warn/error on things that black does not fix, on purpose. # # Run: # # tox -e run-flake8 # # To have it automatically create and install the appropriate tools, and run # flake8 across the source code/tests [flake8] # max line length is set to 88 in black, here it is set to 80 and we enable bugbear's B950 warning, which is: # # B950: Line too long. This is a pragmatic equivalent of pycodestyle’s E501: it # considers “max-line-length” but only triggers when the value has been # exceeded by more than 10%. You will no longer be forced to reformat code due # to the closing parenthesis being one character too far to satisfy the linter. # At the same time, if you do significantly violate the line length, you will # receive a message that states what the actual limit is. This is inspired by # Raymond Hettinger’s “Beyond PEP 8” talk and highway patrol not stopping you # if you drive < 5mph too fast. Disable E501 to avoid duplicate warnings. max-line-length = 80 max-complexity = 12 select = E,F,W,C,B,B9 ignore = # E123 closing bracket does not match indentation of opening bracket’s line E123 # E203 whitespace before ‘:’ (Not PEP8 compliant, Python Black) E203 # E501 line too long (82 > 79 characters) (replaced by B950 from flake8-bugbear, https://github.com/PyCQA/flake8-bugbear) E501 # W503 line break before binary operator (Not PEP8 compliant, Python Black) W503