GitHub integration for Python code style

A GitHub app to automatically review Python code style over Pull Requests

About

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.

Main features

# 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.

FAQs

Need to ask something? Create an issue on the GitHub project.

What problems does this project solve?

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.

Why not just use flake8 or pycodestyle with Continuous Integration?

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.

Is PEP 8 Speaks Free? Does the app work on Private repositories?

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.

Statistics

111 Organizations - 158 Individual maintainers - 1200+ Projects

Popular users

Screenshot of application

Silver Sponsors

CCExtractor

Sudhanshu Mishra

Built With Launchaco
Built With Launchaco