Metadata-Version: 1.0
Name: pytest-pep8
Version: 1.0.6
Summary: pytest plugin to check PEP8 requirements
Home-page: http://bitbucket.org/hpk42/pytest-pep8/
Author: Holger Krekel and Ronny Pfannschmidt
Author-email: holger.krekel@gmail.com
License: MIT license
Description: py.test plugin for efficiently checking PEP8 compliance 
        ========================================================================
        
        Usage
        ---------
        
        install via::
        
            pip install pytest-pep8
        
        if you then type::
        
            py.test --pep8
            
        every file ending in ``.py`` will be discovered and pep8-checked, 
        starting from the command line arguments. 
        
        .. warning::
        
            Running pep8 tests on your project is likely to cause a lot of 
            issues.  This plugin allows to configure on a per-project and
            per-file basis which errors or warnings to care about, see
            pep8ignore_.  As a preliminary advise, if you have 
            projects where you don't want to care at all about pep8 checks, 
            you can put configure it like this::
        
                # content of setup.cfg (or pytest.ini)
                [pytest]
                pep8ignore = * ALL
        
        
        A little example 
        -----------------------
        
        If you have a pep8-violating file like this::
        
            # content of myfile.py
         
            somefunc( 123,456)
        
        you can run it with the plugin installed::
        
            $ py.test --pep8
            =========================== test session starts ============================
            platform linux2 -- Python 2.7.3 -- pytest-2.2.5.dev2
            pep8: performing checks
            collecting ... collected 1 items
            
            myfile.py F
            
            ================================= FAILURES =================================
            ________________________________ PEP8-check ________________________________
            /home/hpk/tmp/doc-exec-259/myfile.py:2:10: E201 whitespace after '('
            somefunc( 123,456)
                     ^
            /home/hpk/tmp/doc-exec-259/myfile.py:2:14: E231 missing whitespace after ','
            somefunc( 123,456)
                         ^
            
            ========================= 1 failed in 0.01 seconds =========================
        
        For the meaning of (E)rror and (W)arning codes, see the error
        output when running against your files or checkout `pep8.py
        <https://github.com/jcrocholl/pep8/blob/master/pep8.py>`_.
        
        Let's not now fix the PEP8 errors::
        
            # content of myfile.py
            somefunc(123, 456)
        
        and run again::
        
            $ py.test --pep8
            =========================== test session starts ============================
            platform linux2 -- Python 2.7.3 -- pytest-2.2.5.dev2
            pep8: performing checks
            collecting ... collected 1 items
            
            myfile.py .
            
            ========================= 1 passed in 0.01 seconds =========================
        
        the pep8 check now is passing. Moreover, if
        you run it once again (and report skip reasons)::
        
            $ py.test --pep8 -rs 
            =========================== test session starts ============================
            platform linux2 -- Python 2.7.3 -- pytest-2.2.5.dev2
            pep8: performing checks
            collecting ... collected 1 items
            
            myfile.py s
            ========================= short test summary info ==========================
            SKIP [1] /home/hpk/p/pytest-pep8/pytest_pep8.py:63: file(s) previously passed PEP8 checks
            
            ======================== 1 skipped in 0.01 seconds =========================
        
        you can see that the pep8 check was skipped because
        the file has not been modified since it was last checked.
        As the pep8 plugin uses the 
        `pytest-cache plugin <http://pypi.python.org/pypi/pytest-cache>`_
        to implement its caching, you can use its ``--clearcache`` option to 
        remove all pytest caches, among them the pep8 related one, which 
        will trigger the pep8 checking code to run once again::
        
            $ py.test --pep8 --clearcache
            =========================== test session starts ============================
            platform linux2 -- Python 2.7.3 -- pytest-2.2.5.dev2
            pep8: performing checks
            collecting ... collected 1 items
            
            myfile.py .
            
            ========================= 1 passed in 0.01 seconds =========================
        
        .. _pep8ignore:
        
        Configuring PEP8 options per project and file
        ---------------------------------------------
        
        You may configure PEP8-checking options for your project
        by adding an ``pep8ignore`` entry to your ``setup.cfg``
        or ``setup.cfg`` file like this::
        
            # content of setup.cfg
            [pytest]
            pep8ignore = E201 E231
        
        This would globally prevent complaints about two whitespace issues.
        Rerunning with the above example will now look better::
        
            $ py.test -q  --pep8
            collecting ... collected 1 items
            .
            1 passed in 0.01 seconds
        
        If you have some files where you want to specifically ignore 
        some errors or warnings you can start a pep8ignore line with 
        a glob-pattern and a space-separated list of codes::
        
            # content of setup.cfg
            [pytest]
            pep8ignore = 
                *.py E201
                doc/conf.py ALL
        
        So if you have a conf.py like this::
        
            # content of doc/conf.py
        
            func (  [1,2,3]) #this line lots pep8 errors :)
        
        then running again with the previous example will show a single
        failure and it will ignore doc/conf.py alltogether::
        
            $ py.test --pep8 -v # verbose shows what is ignored
            =========================== test session starts ============================
            platform linux2 -- Python 2.7.3 -- pytest-2.2.5.dev2 -- /home/hpk/venv/1/bin/python
            pep8: performing checks
            cachedir: /home/hpk/tmp/doc-exec-259/.cache
            collecting ... collected 1 items
            
            myfile.py:0: PEP8-check(ignoring E201) PASSED
            
            ========================= 1 passed in 0.01 seconds =========================
        
        Note that doc/conf.py was not considered or imported.
        
        If you'ld like to have longer lines than 79 chars (which is the default for the
        pep8 checker), you can configure it like this::
        
            # content of setup.cfg
            [pytest]
            pep8maxlinelength = 99
        
        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 -m pep8
        
        This will only run test items with the "pep8" marker which this
        plugins adds dynamically.
        
        Notes
        -------------
        
        The repository of this plugin is at http://bitbucket.org/hpk42/pytest-pep8
        
        For more info on py.test see http://pytest.org
        
        The code is partially based on Ronny Pfannschmidt's pytest-codecheckers plugin.
        
        
Platform: UNKNOWN
