Skip to content
Simple Python style checker in one Python file
Branch: master
Clone or download
sigmavirus24 Merge pull request #859 from anntzer/e302decorator
Fix E302 false negative in presence of decorators.
Latest commit 3b258c3 Mar 26, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Add check for over-indented blocks Jan 25, 2019
testsuite Fix E302 false negative in presence of decorators. Mar 26, 2019
.gitattributes Added .gitattributes to prevent auto-munging intentional line endings May 30, 2017
.gitignore - Added venv/ (virtualenv) to list of git ignored filename patterns Jun 2, 2016
.travis.yml Use 'dist: xenial' in Travis to simplify configuration Jan 25, 2019
CHANGES.txt Tiny typo fix Jan 30, 2019
CONTRIBUTING.rst Correct ReStructuredText inline literal syntax in CONTRIBUTING.rst Jan 17, 2019
LICENSE Updated License / copyright date Feb 8, 2018
MANIFEST.in Include license file in the generated packages Oct 17, 2017
Makefile Added Makefile to handle proper permissions in releases Nov 14, 2016
README.rst Update all pypi.python.org URLs to pypi.org Jun 10, 2018
dev-requirements.txt Updated developer documentation for testing Jun 6, 2016
pycodestyle.py
setup.cfg Pydoc fixes to support W505 in self-checks May 11, 2018
setup.py Add testing and document support for Python 3.7 Sep 10, 2018
tox.ini

README.rst

pycodestyle (formerly called pep8) - Python style guide checker

Build status Documentation Status Wheel Status Join the chat at https://gitter.im/PyCQA/pycodestyle

pycodestyle is a tool to check your Python code against some of the style conventions in PEP 8.

Note

This package used to be called pep8 but was renamed to pycodestyle to reduce confusion. Further discussion can be found in the issue where Guido requested this change, or in the lightning talk at PyCon 2016 by @IanLee1521: slides video.

Features

  • Plugin architecture: Adding new checks is easy.
  • Parseable output: Jump to error location in your editor.
  • Small: Just one Python file, requires only stdlib. You can use just the pycodestyle.py file for this purpose.
  • Comes with a comprehensive test suite.

Installation

You can install, upgrade, and uninstall pycodestyle.py with these commands:

$ pip install pycodestyle
$ pip install --upgrade pycodestyle
$ pip uninstall pycodestyle

There's also a package for Debian/Ubuntu, but it's not always the latest version.

Example usage and output

$ pycodestyle --first optparse.py
optparse.py:69:11: E401 multiple imports on one line
optparse.py:77:1: E302 expected 2 blank lines, found 1
optparse.py:88:5: E301 expected 1 blank line, found 0
optparse.py:222:34: W602 deprecated form of raising exception
optparse.py:347:31: E211 whitespace before '('
optparse.py:357:17: E201 whitespace after '{'
optparse.py:472:29: E221 multiple spaces before operator
optparse.py:544:21: W601 .has_key() is deprecated, use 'in'

You can also make pycodestyle.py show the source code for each error, and even the relevant text from PEP 8:

$ pycodestyle --show-source --show-pep8 testsuite/E40.py
testsuite/E40.py:2:10: E401 multiple imports on one line
import os, sys
         ^
    Imports should usually be on separate lines.

    Okay: import os\nimport sys
    E401: import sys, os

Or you can display how often each error was found:

$ pycodestyle --statistics -qq Python-2.5/Lib
232     E201 whitespace after '['
599     E202 whitespace before ')'
631     E203 whitespace before ','
842     E211 whitespace before '('
2531    E221 multiple spaces before operator
4473    E301 expected 1 blank line, found 0
4006    E302 expected 2 blank lines, found 1
165     E303 too many blank lines (4)
325     E401 multiple imports on one line
3615    E501 line too long (82 characters)
612     W601 .has_key() is deprecated, use 'in'
1188    W602 deprecated form of raising exception

Links

You can’t perform that action at this time.