Metadata-Version: 1.1
Name: pep8
Version: 1.3.4
Summary: Python style guide checker
Home-page: http://github.com/jcrocholl/pep8
Author: Johann C. Rocholl
Author-email: johann@rocholl.net
License: Expat license
Description: pep8 - Python style guide checker
        =================================
        
        pep8 is a tool to check your Python code against some of the style
        conventions in `PEP 8`_.
        
        .. _PEP 8: http://www.python.org/dev/peps/pep-0008/
        
        
        Mailing List
        ------------
        http://groups.google.com/group/pep8
        
        
        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 pep8.py file for this purpose.
        
        * Comes with a comprehensive test suite.
        
        Installation
        ------------
        
        You can install, upgrade, uninstall pep8.py with these commands::
        
          $ pip install pep8
          $ pip install --upgrade pep8
          $ pip uninstall pep8
        
        There's also a package for Debian/Ubuntu, but it's not always the
        latest version::
        
          $ sudo apt-get install pep8
        
        Example usage and output
        ------------------------
        
        ::
        
          $ pep8 --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 pep8.py show the source code for each error, and
        even the relevant text from PEP 8::
        
          $ pep8 --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::
        
          $ pep8 --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
        
        Quick help is available on the command line::
        
          $ pep8 -h
          Usage: pep8 [options] input ...
        
          Options:
            --version            show program's version number and exit
            -h, --help           show this help message and exit
            -v, --verbose        print status messages, or debug with -vv
            -q, --quiet          report only file names, or nothing with -qq
            -r, --repeat         (obsolete) show all occurrences of the same error
            --first              show first occurrence of each error
            --exclude=patterns   exclude files or directories which match these comma
                                 separated patterns (default: .svn,CVS,.bzr,.hg,.git)
            --filename=patterns  when parsing directories, only check filenames matching
                                 these comma separated patterns (default: *.py)
            --select=errors      select errors and warnings (e.g. E,W6)
            --ignore=errors      skip errors and warnings (e.g. E4,W)
            --show-source        show source code for each error
            --show-pep8          show text of PEP 8 for each error (implies --first)
            --statistics         count errors and warnings
            --count              print total number of errors and warnings to standard
                                 error and set exit code to 1 if total is not null
            --max-line-length=n  set maximum allowed line length (default: 79)
            --format=format      set the error format [default|pylint|<custom>]
            --diff               report only lines changed according to the unified diff
                                 received on STDIN
        
            Testing Options:
              --testsuite=dir    run regression tests from dir
              --doctest          run doctest on myself
              --benchmark        measure processing speed
        
            Configuration:
              The project options are read from the [pep8] section of the .pep8 file
              located in any parent folder of the path(s) being processed. Allowed
              options are: exclude, filename, select, ignore, max-line-length,
              count, format, quiet, show-pep8, show-source, statistics, verbose.
        
              --config=path      config file location (default: /home/user/.config/pep8)
        
        Calling `pep8` from Python
        --------------------------
        
        You can also execute `pep8` tests from Python code. For example, this
        can be highly useful for automated testing of coding style conformance
        in your project::
        
          import unittest
          import pep8
        
        
          class TestCodeFormat(unittest.TestCase):
        
              def test_pep8_conformance(self):
                  """Test that we conform to PEP8."""
                  pep8style = pep8.StyleGuide(quiet=True)
                  result = pep8style.check_files(['file1.py', 'file2.py'])
                  self.assertEqual(result.total_errors, 0,
                                   "Found code style errors (and warnings).")
        
        If you are using `nosetests` for running tests, remove `quiet=True`
        since Nose suppresses stdout.
        
        There's also a shortcut for checking a single file::
        
          import pep8
        
          fchecker = pep8.Checker('testsuite/E27.py', show_source=True)
          file_errors = fchecker.check_all()
        
          print("Found %s errors (and warnings)" % file_errors)
        
        Feedback
        --------
        
        Your feedback is more than welcome.  Post bugs and feature requests on github:
        
        http://github.com/jcrocholl/pep8/issues
        
        Source download
        ---------------
        
        .. image:: https://secure.travis-ci.org/jcrocholl/pep8.png?branch=master
           :target: https://secure.travis-ci.org/jcrocholl/pep8
           :alt: Build status
        
        The source code is currently available on github. Fork away!
        
        http://github.com/jcrocholl/pep8/
        
        Then be sure to pass the tests::
        
          $ python pep8.py --testsuite testsuite
          $ python pep8.py --doctest
          $ python pep8.py --verbose pep8.py
        
        
        Changelog
        =========
        
        
        1.3.4 (2012-12-18)
        ------------------
        
        * Fix false positive E124 and E128 with comments. (Issue #100)
        
        * Fix error on stdin when running with bpython. (Issue #101)
        
        * Fix false positive E401. (Issue #104)
        
        * Report E231 for nested dictionary in list. (Issue #142)
        
        * Catch E271 at the beginning of the line. (Issue #133)
        
        * Fix false positive E126 for multi-line comments. (Issue #138)
        
        * Fix false positive E221 when operator is preceded by a comma. (Issue #135)
        
        * Fix ``--diff`` failing on one-line hunk. (Issue #137)
        
        * Fix the ``-exclude`` switch for directory paths. (Issue #111)
        
        * Use ``-`` filename to read from standard input. (Issue #128)
        
        
        1.3.3 (2012-06-27)
        ------------------
        
        * Fix regression with continuation line checker. (Issue #98)
        
        
        1.3.2 (2012-06-26)
        ------------------
        
        * Revert to the previous behaviour for ``--show-pep8``:
          do not imply ``--first``. (Issue #89)
        
        * Add E902 for IO errors. (Issue #87)
        
        * Fix false positive for E121, and missed E124. (Issue #92)
        
        * Set a sensible default path for config file on Windows. (Issue #95)
        
        * Allow ``verbose`` in the configuration file. (Issue #91)
        
        * Show the enforced ``max-line-length`` in the error message. (Issue #86)
        
        
        1.3.1 (2012-06-18)
        ------------------
        
        * Explain which configuration options are expected.  Accept and recommend
          the options names with hyphen instead of underscore. (Issue #82)
        
        * Do not read the user configuration when used as a module
          (except if ``config_file=True`` is passed to the ``StyleGuide`` constructor).
        
        * Fix wrong or missing cases for the E12 series.
        
        * Fix cases where E122 was missed. (Issue #81)
        
        
        1.3 (2012-06-15)
        ----------------
        
        .. warning::
           The internal API is backwards incompatible.
        
        * Remove global configuration and refactor the library around
          a ``StyleGuide`` class; add the ability to configure various
          reporters. (Issue #35 and #66)
        
        * Read user configuration from ``~/.config/pep8``
          and local configuration from ``./.pep8``. (Issue #22)
        
        * Fix E502 for backslash embedded in multi-line string. (Issue #68)
        
        * Fix E225 for Python 3 iterable unpacking (PEP 3132). (Issue #72)
        
        * Enable the new checkers from the E12 series in the default
          configuration.
        
        * Suggest less error-prone alternatives for E712 errors.
        
        * Rewrite checkers to run faster (E22, E251, E27).
        
        * Fixed a crash when parsed code is invalid (too many
          closing brackets).
        
        * Fix E127 and E128 for continuation line indentation. (Issue #74)
        
        * New option ``--format`` to customize the error format. (Issue #23)
        
        * New option ``--diff`` to check only modified code.  The unified
          diff is read from STDIN.  Example: ``hg diff | pep8 --diff``
          (Issue #39)
        
        * Correctly report the count of failures and set the exit code to 1
          when the ``--doctest`` or the ``--testsuite`` fails.
        
        * Correctly detect the encoding in Python 3. (Issue #69)
        
        * Drop support for Python 2.3, 2.4 and 3.0. (Issue #78)
        
        
        1.2 (2012-06-01)
        ----------------
        
        * Add E121 through E128 for continuation line indentation.  These
          checks are disabled by default.  If you want to force all checks,
          use switch ``--select=E,W``.  Patch by Sam Vilain. (Issue #64)
        
        * Add E721 for direct type comparisons. (Issue #47)
        
        * Add E711 and E712 for comparisons to singletons. (Issue #46)
        
        * Fix spurious E225 and E701 for function annotations. (Issue #29)
        
        * Add E502 for explicit line join between brackets.
        
        * Fix E901 when printing source with ``--show-source``.
        
        * Report all errors for each checker, instead of reporting only the
          first occurence for each line.
        
        * Option ``--show-pep8`` implies ``--first``.
        
        
        1.1 (2012-05-24)
        ----------------
        
        * Add E901 for syntax errors. (Issues #63 and #30)
        
        * Add E271, E272, E273 and E274 for extraneous whitespace around
          keywords. (Issue #57)
        
        * Add ``tox.ini`` configuration file for tests. (Issue #61)
        
        * Add ``.travis.yml`` configuration file for continuous integration.
          (Issue #62)
        
        
        1.0.1 (2012-04-06)
        ------------------
        
        * Fix inconsistent version numbers.
        
        
        1.0 (2012-04-04)
        ----------------
        
        * Fix W602 ``raise`` to handle multi-char names. (Issue #53)
        
        
        0.7.0 (2012-03-26)
        ------------------
        
        * Now ``--first`` prints only the first occurence of each error.
          The ``--repeat`` flag becomes obsolete because it is the default
          behaviour. (Issue #6)
        
        * Allow to specify ``--max-line-length``. (Issue #36)
        
        * Make the shebang more flexible. (Issue #26)
        
        * Add testsuite to the bundle. (Issue #25)
        
        * Fixes for Jython. (Issue #49)
        
        * Add PyPI classifiers. (Issue #43)
        
        * Fix the ``--exclude`` option. (Issue #48)
        
        * Fix W602, accept ``raise`` with 3 arguments. (Issue #34)
        
        * Correctly select all tests if ``DEFAULT_IGNORE == ''``.
        
        
        0.6.1 (2010-10-03)
        ------------------
        
        * Fix inconsistent version numbers. (Issue #21)
        
        
        0.6.0 (2010-09-19)
        ------------------
        
        * Test suite reorganized and enhanced in order to check more failures
          with fewer test files.  Read the ``run_tests`` docstring for details
          about the syntax.
        
        * Fix E225: accept ``print >>sys.stderr, "..."`` syntax.
        
        * Fix E501 for lines containing multibyte encoded characters. (Issue #7)
        
        * Fix E221, E222, E223, E224 not detected in some cases. (Issue #16)
        
        * Fix E211 to reject ``v = dic['a'] ['b']``. (Issue #17)
        
        * Exit code is always 1 if any error or warning is found. (Issue #10)
        
        * ``--ignore`` checks are now really ignored, especially in
          conjunction with ``--count``. (Issue #8)
        
        * Blank lines with spaces yield W293 instead of W291: some developers
          want to ignore this warning and indent the blank lines to paste their
          code easily in the Python interpreter.
        
        * Fix E301: do not require a blank line before an indented block. (Issue #14)
        
        * Fix E203 to accept NumPy slice notation ``a[0, :]``. (Issue #13)
        
        * Performance improvements.
        
        * Fix decoding and checking non-UTF8 files in Python 3.
        
        * Fix E225: reject ``True+False`` when running on Python 3.
        
        * Fix an exception when the line starts with an operator.
        
        * Allow a new line before closing ``)``, ``}`` or ``]``. (Issue #5)
        
        
        0.5.0 (2010-02-17)
        ------------------
        
        * Changed the ``--count`` switch to print to sys.stderr and set
          exit code to 1 if any error or warning is found.
        
        * E241 and E242 are removed from the standard checks. If you want to
          include these checks, use switch ``--select=E,W``. (Issue #4)
        
        * Blank line is not mandatory before the first class method or nested
          function definition, even if there's a docstring. (Issue #1)
        
        * Add the switch ``--version``.
        
        * Fix decoding errors with Python 3. (Issue #13 [1]_)
        
        * Add ``--select`` option which is mirror of ``--ignore``.
        
        * Add checks E261 and E262 for spaces before inline comments.
        
        * New check W604 warns about deprecated usage of backticks.
        
        * New check W603 warns about the deprecated operator ``<>``.
        
        * Performance improvement, due to rewriting of E225.
        
        * E225 now accepts:
        
          - no whitespace after unary operator or similar. (Issue #9 [1]_)
        
          - lambda function with argument unpacking or keyword defaults.
        
        * Reserve "2 blank lines" for module-level logical blocks. (E303)
        
        * Allow multi-line comments. (E302, issue #10 [1]_)
        
        
        0.4.2 (2009-10-22)
        ------------------
        
        * Decorators on classes and class methods are OK now.
        
        
        0.4 (2009-10-20)
        ----------------
        
        * Support for all versions of Python from 2.3 to 3.1.
        
        * New and greatly expanded self tests.
        
        * Added ``--count`` option to print the total number of errors and warnings.
        
        * Further improvements to the handling of comments and blank lines.
          (Issue #1 [1]_ and others changes.)
        
        * Check all py files in directory when passed a directory (Issue
          #2 [1]_). This also prevents an exception when traversing directories
          with non ``*.py`` files.
        
        * E231 should allow commas to be followed by ``)``. (Issue #3 [1]_)
        
        * Spaces are no longer required around the equals sign for keyword
          arguments or default parameter values.
        
        
        .. [1] These issues refer to the `previous issue tracker`__.
        .. __:  http://github.com/cburroughs/pep8.py/issues
        
        
        0.3.1 (2009-09-14)
        ------------------
        
        * Fixes for comments: do not count them when checking for blank lines between
          items.
        
        * Added setup.py for pypi upload and easy_installability.
        
        
        0.2 (2007-10-16)
        ----------------
        
        * Loads of fixes and improvements.
        
        
        0.1 (2006-10-01)
        ----------------
        
        * First release.
        
Keywords: pep8
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
