khanchi97 / pep8speaks

A GitHub :octocat: integration to automatically review Python code style over Pull Requests

Home Page:https://pep8speaks.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PEP8 Speaks Build Status Code Health

A GitHub :octocat: integration to automatically review Python code style over Pull Requests

Example

How to Use?

  • Go to the homepage of the Integration
  • Click on Install button
  • Add the repositories you want this service for

Features

  • The bot makes a single comment on the PR and keeps updating it on new commits. No hustle on emails !
  • 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 and resume and the mention of the bot.
  • Mention @pep8speaks in a review summary while creating a review of a PR, and it will comment a gist of diff suggesting fixes for the PR. Example
  • In the review summary, you can also write @pep8speaks suggest diff or anything you wish, as long as you mention the bot and have suggest and diff keywords.
  • Write @pep8speaks pep8ify in a review summary and it will create a Pull Request with changes suggested by autopep8 against the branch of the author of the PR. autopep8 fixes most of the errors reported by pycodestyle.
  • @pep8speaks along with pep8ify in a single review summary rules out the diff feature.
  • Comment only if Python files are involved. So, install the integration on all of your repositories. The bot won't speak where it should not

Configuration

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

How to fix?

  • Check the errors locally by the command line tool pycodestyle (previously known as pep8).
  • autopep8 is another command line tool to fix the issues.

Popular Users


Pandas

SunPy

Astropy

Scikit Learn Contrib

Scikit Image

Spyder IDE

Private repos

Deploy

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.

Contribute

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.

About

A GitHub :octocat: integration to automatically review Python code style over Pull Requests

https://pep8speaks.com

License:GNU Affero General Public License v3.0


Languages

Language:Python 99.5%Language:HTML 0.5%