Skip to main content

A tool that automatically formats Python code to conform to the PEP 8 style guide

Project description

Build status


autopep8 automatically formats Python code to conform to the PEP 8 style guide. It uses the pep8 utility to determine what parts of the code needs to be formatted. autopep8 is capable of fixing most of the formatting issues that can be reported by pep8.


from pip:

pip install --upgrade autopep8

from easy_install:

easy_install -ZU autopep8


autopep8 requires pep8 (>= 1.3.2). Older versions of pep8 will also work, but autopep8 will run pep8 in a subprocess in that case (for compatibility purposes).


execute tool:

$ autopep8


import sys, os;
print(                'hello' );

def someone_likes_semicolons(                             foo  = None                          ,\
    """Hello; bye."""; 1; 2;3
    print( 'A'<>foo)            #<> is a deprecated form of !=
    return 0;
def func11():
    a=(   1,2, 3,"a"  );
    b  =[100,200,300  ,9876543210,'This is my very long string that goes on and on and on'  ]
    return (a, b)
def func2(): total =(324942324324+32434234234234 -23423234243/ 324342342.+324234223432423412191) /12345.
def func22(): return {True: True}.has_key({'foo': 2}.has_key('foo'));
class UselessClass(object):
    def __init__    ( self, bar ):
     if bar : bar+=1;  bar=bar* bar   ; return bar
     else: raise ValueError, 'I am an error'
    def my_method(self):


import sys
import os

def someone_likes_semicolons(foo=None,
    """Hello; bye."""
    print('A' != foo)  # <> is a deprecated form of !=
    return 0

def func11():
    a = (1, 2, 3, "a")
    b = [100, 200, 300, 9876543210,
         'This is my very long string that goes on and on and on']
    return (a, b)

def func2():
    total = (324942324324 + 32434234234234 - 23423234243 / 324342342. +
             324234223432423412191) / 12345.

def func22():
    return ('foo' in {'foo': 2}) in {True: True}

class UselessClass(object):
    def __init__(self, bar):
        if bar:
            bar += 1
            bar = bar * bar
            return bar
            raise ValueError('I am an error')

    def my_method(self):


Usage: autopep8 [options] [filename [filename ...]]

 A tool that automatically formats Python code to conform to the PEP 8 style

  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         print verbose messages; multiple -v result in more
                        verbose messages
  -d, --diff            print the diff for the fixed source
  -i, --in-place        make changes to files in place
  -r, --recursive       run recursively; must be used with --in-place or
  -p PEP8_PASSES, --pep8-passes=PEP8_PASSES
                        maximum number of additional pep8 passes (default:
  --ignore=IGNORE       do not fix these errors/warnings (e.g. E4,W)
  --select=SELECT       fix only these errors/warnings (e.g. E4,W)


Test cases are in test/ They can be run directly via python test/ or via tox. The latter is useful for testing against multiple Python interpreters.

Broad spectrum testing is available via test/ This script runs autopep8 against Python code and checks for correctness and completeness of the code fix transformations. test/ makes use of to test against the latest released packages on PyPi. In a similar fashion, test/ tests against Python code in Github repositories.

Project details

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
autopep8-0.8.1.tar.gz (26.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page