Not Logged In

autopep8 1.2.4

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

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.

importmath,sys;defexample1():####This is a long comment. This should be wrapped to fit within 72 characters.some_tuple=(1,2,3,'a');some_variable={'long':'Long code lines should be wrapped within 79 characters.','other':[math.pi,100,200,300,9876543210,'This is a long string that goes on'],'more':{'inner':'This whole logical line should be wrapped.',some_tuple:[1,20,300,40000,500000000,60000000000000000]}}return(some_tuple,some_variable)defexample2():return{'has_key() is deprecated':True}.has_key({'f':2}.has_key(''));classExample3(object):def__init__(self,bar):#Comments should have a space after the hash.ifbar:bar+=1;bar=bar*bar;returnbarelse:some_string="""
Indentation in multiline strings should not be touched.
Only actual code should be reindented.
"""return(sys.path,some_string)

After running autopep8.

importmathimportsysdefexample1():# This is a long comment. This should be wrapped to fit within 72# characters.some_tuple=(1,2,3,'a')some_variable={'long':'Long code lines should be wrapped within 79 characters.','other':[math.pi,100,200,300,9876543210,'This is a long string that goes on'],'more':{'inner':'This whole logical line should be wrapped.',some_tuple:[1,20,300,40000,500000000,60000000000000000]}}return(some_tuple,some_variable)defexample2():return(''in{'f':2})in{'has_key() is deprecated':True}classExample3(object):def__init__(self,bar):# Comments should have a space after the hash.ifbar:bar+=1bar=bar*barreturnbarelse:some_string="""
Indentation in multiline strings should not be touched.
Only actual code should be reindented.
"""return(sys.path,some_string)

Options:

usage: autopep8 [-h] [--version] [-v] [-d] [-i] [--global-config filename]
[--ignore-local-config] [-r] [-j n] [-p n] [-a]
[--experimental] [--exclude globs] [--list-fixes]
[--ignore errors] [--select errors] [--max-line-length n]
[--line-range line line]
[files [files ...]]
Automatically formats Python code to conform to the PEP 8 style guide.
positional arguments:
files files to format or '-' for standard in
optional arguments:
-h, --help show this help message and exit
--version show program's version number 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
--global-config filename
path to a global pep8 config file; if this file does
not exist then this is ignored (default:
~/.config/pep8)
--ignore-local-config
don't look for and apply local config files; if not
passed, defaults are updated with any config files in
the project's root directory
-r, --recursive run recursively over directories; must be used with
--in-place or --diff
-j n, --jobs n number of parallel jobs; match CPU count if value is
less than 1
-p n, --pep8-passes n
maximum number of additional pep8 passes (default:
infinite)
-a, --aggressive enable non-whitespace changes; multiple -a result in
more aggressive changes
--experimental enable experimental fixes
--exclude globs exclude file/directory names that match these comma-
separated globs
--list-fixes list codes for fixes; used by --ignore and --select
--ignore errors do not fix these errors/warnings (default: E24)
--select errors fix only these errors/warnings (e.g. E4,W)
--max-line-length n set maximum allowed line length (default: 79)
--line-range line line, --range line line
only fix errors found within this inclusive range of
line numbers (e.g. 1 99); line numbers are indexed at
1

E112/E113 for non comments are reports of bad indentation that break
syntax rules. These should not be modified at all.

E265, which refers to spacing after comment hash, is ignored if the
comment looks like code. autopep8 avoids modifying these since they are not
real comments. If you really want to get rid of the pep8 warning, consider
just removing the commented-out code. (This can be automated via eradicate.)

By default autopep8 only makes whitespace changes. Thus, by default, it does
not fix E711 and E712. (Changing x == None to x is None may
change the meaning of the program if x has its __eq__ method
overridden.) Nor does it correct deprecated code W6. To enable these
more aggressive fixes, use the --aggressive option:

$ autopep8 --aggressive <filename>

Use multiple --aggressive to increase the aggressiveness level. For
example, E712 requires aggressiveness level 2 (since x == True could be
changed to either x or x is True, but autopep8 chooses the former).

--aggressive will also shorten lines more aggressively. It will also remove
trailing whitespace more aggressively. (Usually, we don’t touch trailing
whitespace in docstrings and other multiline strings. And to do even more
aggressive changes to docstrings, use docformatter.)

To enable only a subset of the fixes, use the --select option. For example,
to fix various types of indentation issues:

$ autopep8 --select=E1,W1 <filename>

Similarly, to just fix deprecated code:

$ autopep8 --aggressive --select=W6 <filename>

The above is useful when trying to port a single code base to work with both
Python 2 and Python 3 at the same time.

If the file being fixed is large, you may want to enable verbose progress
messages:

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. (We currently test against
CPython versions 2.6, 2.7, 3.2, and 3.3. We also test against PyPy.)

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 fixes. It can check that the bytecode remains identical.
test/acid_pypi.py makes use of acid.py to test against the latest
released packages on PyPI.