Skip to main content

pytest plugin to check source code against PEP8 requirements

Project description

py.test plugin for checking PEP8 source code compliance using the pep8 module.


install via:

easy_install pytest-pep8 # or
pip install pytest-pep8

and then type:

py.test --pep8

to activate source code checking. Every file ending in .py will be discovered and checked, starting from the command line arguments. For example, if you have a file like this:

# content of

somefunc( 123,456)

you can run it with:

$ py.test --pep8
=========================== test session starts ============================
platform linux2 -- Python 2.6.5 -- pytest-2.0.1.dev1
pep8 ignore opts: E202 E221 E222 E241 E301 E302 E401 E501 E701 W293 W391 W601 W602
collecting ... collected 1 items F

================================= FAILURES =================================
________________________________ PEP8-check ________________________________
/tmp/doc-exec-12/ E201 whitespace after '('
somefunc( 123,456)
/tmp/doc-exec-12/ E231 missing whitespace after ','
somefunc( 123,456)

========================= 1 failed in 0.01 seconds =========================

Note that in the testing header you see the current list of default “ignores”. For the meaning of these error and warning codes, see the error output when running against your files or checkout

Configuring PEP8 options per-project

Lastly, you may configure PEP8-checking options for your project by adding an pep8options entry to your pytest.ini or setup.cfg file like this:

pep8options = +W293 -E200

Running PEP8 checks and no other tests

You can also restrict your test run to only perform “pep8” tests and not any other tests by typing:

py.test --pep8 -k pep8

This will only run tests that are marked with the “pep8” keyword which is added for the pep8 test items added by this plugin.


The repository of this plugin is at

For more info on py.test see

The code is partially based on Ronny Pfannschmidt’s pytest-codecheckers plugin.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pytest-pep8, version 0.5
Filename, size File type Python version Upload date Hashes
Filename, size (6.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page