PEP 8 Speaks is a GitHub integration which detects Python code style issues on new Pull Requests. You can install it on your Python projects and configure with your own code style. Check out the project on GitHub.
A single comment on Pull Requests. No hustle on emails for new commits
Customize with additional pycodestyle/flake8 options
Stays silent if there is no Python involved in the Pull Request
# File : .pep8speaks.yml scanner: diff_only: True # If False, the entire file touched by the Pull Request is scanned for errors. If True, only the diff is scanned. linter: pycodestyle # Other option is flake8 pycodestyle: # Same as scanner.linter value. Other option is flake8 max-line-length: 100 # Default is 79 in PEP 8 ignore: # Errors and warnings to ignore - W504 # line break after binary operator - E402 # module level import not at top of file - E731 # do not assign a lambda expression, use a def no_blank_comment: True # If True, no comment is made on PR without any errors.
Need to ask something? Create an issue on the GitHub project.
Maintainers of Python projects have a difficult time reviewing Pull Requests by new contributors who may not be aware of the code style. This project makes reviewing Pull Requests a little bit easier.
Style issues get lost in the long CI build logs and the authors of the Pull Requests are not notified about them (unless flake8 is strict about failing the build). Thus, new issues are overlooked and introduced in the project. PEP 8 Speaks can read the setup.cfg file and adopt your already existing flake8/pycodestyle settings.
Yes, PEP 8 Speaks is free of cost. By default, it can not work on private repositories. Check out the README of the project to know how to use a fork of it.