A GitHub integration to automatically review Python code style over Pull Requests
"PEP8 unto thyself, not unto others" - Raymond Hettinger
- Go to the homepage of the Integration
- Click on Install button
- Add the repositories you want this service for
- The bot makes a single comment on the PR and keeps updating it on new commits. No hustle on emails !
- The bot comments only if Python files are involved. So, install the integration on all of your repositories. The bot won't speak where it should not
- Comment
@pep8speaks suggest diff
in a comment of the PR, and it will comment a gist of diff suggesting fixes for the PR. Example - You can also comment
@pep8speaks suggest the diff
or anything you wish, as long as you mention the bot and havesuggest
anddiff
keywords. - Comment
@pep8speaks pep8ify
on the PR and it will create a Pull Request with changes suggested byautopep8
against the branch of the author of the PR.autopep8
fixes most of the errors reported bypycodestyle
. - Add
[skip pep8]
anywhere in the commit message, PR title or PR description to prohibit pep8speaks to comment on the Pull Request. - To pause the bot on a PR, comment
@pep8speaks Keep Quiet.
- Comment
@pep8speaks Resume now.
to resume. - The keywords are
quiet
andresume
and the mention of the bot.
A config file is not required for the integration to work. However it can be configured additionally by adding a .pep8speaks.yml
file to the base directory of the repo. Here are the available options of the config file :
# File : .pep8speaks.yml
message: # Customize the comment made by the bot
opened: # Messages when a new PR is submitted
header: "Hello @{name}, Thank you for submitting the Pull Request !"
# The keyword {name} is converted into the author's username
footer: "Do see the [Hitchhiker's guide to code style](https://goo.gl/hqbW4r)"
# The messages can be written as they would over GitHub
updated: # Messages when new commits are added to the PR
header: "Hello @{name}, Thank you for updating !"
footer: "" # Why to comment the link to the style guide everytime? :)
no_errors: "Cheers ! There are no PEP8 issues in this Pull Request. :beers: "
scanner:
diff_only: False # If True, errors caused by only the patch are shown
pycodestyle:
max-line-length: 100 # Default is 79 in PEP8
ignore: # Errors and warnings to ignore
- W391
- E203
only_mention_files_with_errors: True # If False, a separate status comment for each file is made.
descending_issues_order: False # If True, PEP8 issues in message will be displayed in descending order of line numbers in the file
Check out the default configuration options.
Note : See more pycodestyle options
- Check the errors locally by the command line tool pycodestyle (previously known as
pep8
). - autopep8 is another command line tool to fix the issues.
Pandas |
SunPy |
Astropy |
Scikit Learn Contrib |
Scikit Image |
Spyder IDE |
The integration only works for publicly hosted repositories. So if you are looking to deploy a fork of it or use the integration for private repositories, here are the instructions.
This is a very young project. If you have got any suggestions for new features or improvements, please comment over here. Pull Requests are most welcome !
❤️
Created using commits.io
This project does not endorse all of the rules of the original PEP8 and thus believes in customizing the pycodestyle.