Skip to main content

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

Project description

Build status

About

autopep8 formats Python code based on the output of the pep8 utility.

Installation

from pip:

pip install --upgrade autopep8

from easy_install:

easy_install -ZU autopep8

Requirements

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

Usage

execute tool:

$ autopep8 TARGET.py

before:

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

def someone_likes_semicolons(                             foo  = None                          ,\
bar='bar'):
    """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):
      print(self);

after:

import sys
import os
print('hello')


def someone_likes_semicolons(foo=None,
                             bar='bar'):
    """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 ('foo' in {'foo': 2}) in {True: True}


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):
        print(self)

options:

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

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

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         print 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
                        --diff
  -p PEP8_PASSES, --pep8-passes=PEP8_PASSES
                        maximum number of additional pep8 passes (default:
                        100)
  --ignore=IGNORE       do not fix these errors/warnings (e.g. E4,W)
  --select=SELECT       select errors/warnings (e.g. E4,W)

Testing

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

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

Project details


Release history Release notifications | RSS feed

This version

0.8

Download files

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

Source Distribution

autopep8-0.8.tar.gz (26.3 kB view details)

Uploaded Source

File details

Details for the file autopep8-0.8.tar.gz.

File metadata

  • Download URL: autopep8-0.8.tar.gz
  • Upload date:
  • Size: 26.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for autopep8-0.8.tar.gz
Algorithm Hash digest
SHA256 b363982590c9f764c1614464a13b1820421e72ddf6d32bb0bbbc5bc3bf14d1a8
MD5 968f7749aa6c8d65489b81b56ad57dea
BLAKE2b-256 549bcd2418767c9ac4f70b35ffe886c4849328c35215c62d69177b8fc8da2ab3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page