Metadata-Version: 1.2
Name: multilint
Version: 2.3.0
Summary: Run multiple python linters easily
Home-page: https://github.com/adamchainz/multilint
Author: Adam Johnson
Author-email: me@adamj.eu
License: ISC license
Description: =========
        multilint
        =========
        
        .. image:: https://img.shields.io/pypi/v/multilint.svg
                :target: https://pypi.python.org/pypi/multilint
        
        .. image:: https://img.shields.io/travis/adamchainz/multilint.svg
                :target: https://travis-ci.org/adamchainz/multilint
        
        Run multiple python linters easily.
        
        Installation and Usage
        ----------------------
        
        Install with **pip**:
        
        .. code-block:: sh
        
            pip install multilint
        
        Run with:
        
        .. code-block:: sh
        
            multilint
        
        How It Works
        ------------
        
        I like to keep my projects tidy with a standard set of linters. Running them
        all turned out to be easier with a wrapper script, which I ended up
        copy-pasting between them all. This project stops me needing to copy/paste,
        centralizing running all these neat tools.
        
        In order, it will check if these linters are installed, and if so, run them:
        
        * ``flake8``, to check code quality
        * ``isort``, in 'diff' mode to show where imports aren't sorted
        * ``modernize``, in 'diff' mode to show where python 2/3 compatibility with
          ``six`` is missing
        * ``python setup.py check``, to check your ``setup.py`` is well
          configured. This will require ``docutils``, and also ``Pygments`` if your
          ``long_description`` uses any code highlighting.
        
        If any of them fail, ``multilint`` stops and dies with a non-zero exit code.
        Otherwise it succeeds!
        
        You need to configure the paths that will be linted (by default, only
        ``setup.py`` is linted). Put a section in your ``setup.cfg`` like:
        
        .. code-block:: ini
        
            [tool:multilint]
            paths = my_package
                    tests
                    setup.py
        
        Usage With ``tox``
        ------------------
        
        I normally run my tests with ``tox``. An example ``tox.ini`` to use
        ``multilint`` to do your linting on both Python 2.7 and 3.5 would look like:
        
        .. code-block:: ini
        
            [tox]
            envlist =
                py{27,35},
                py{27,35}-codestyle
        
            [testenv]
            deps = -rrequirements.txt
            commands = pytest
        
            [testenv:py27-codestyle]
            commands = multilint
        
            [testenv:py35-codestyle]
            commands = multilint
        
        Then just put ``multilint``, plus the linters you want it to run (e.g.
        ``flake8``) in your ``requirements.txt``.
        
        
        =======
        History
        =======
        
        Pending
        -------
        
        * New notes here
        
        2.3.0 (2018-04-28)
        ------------------
        
        * Fix for modernize 0.6.1+
        * Run modernize on the multilint codebase itself, so it now requires six
        
        2.2.1 (2018-03-08)
        ------------------
        
        * Fix crash when setup.cfg doesn't exist.
        
        2.2.0 (2017-09-19)
        ------------------
        
        * Add ``--skip`` argument which can be used to skip particular linters even
          though they're installed.
        
        2.1.0 (2017-06-02)
        ------------------
        
        * Use ``entry_points`` in ``setup.py`` instead of ``scripts``
        * Support ``python -m multilint``
        
        2.0.2 (2016-12-06)
        ------------------
        
        * Don't invoke ``python setup.py check`` if there is no ``setup.py``.
        
        2.0.1 (2016-10-20)
        ------------------
        
        * Remove default for `paths` in ``setup.cfg``.
        * Check that paths exist before running the linters.
        
        2.0.0 (2016-09-24)
        ------------------
        
        * Use the config header ``tool:multilint`` in ``setup.cfg``, rather than
          ``multilint``, to avoid clashing with any potential ``setup.py`` commands.
          Your ``setup.cfg`` will need updating.
        
        1.0.2 (2016-07-26)
        ------------------
        
        * Work with ``flake8`` 3.0+ which changed the way its ``main`` function worked.
        
        1.0.1 (2016-07-16)
        ------------------
        
        * Fix modernize running on Python 2.
        * Run ``isort`` in the same Python process rather than with ``subprocess``
        * Properly gate ``flake8`` and ``isort`` so that they run only if they are
          installed.
        
        1.0.0 (2016-06-19)
        ------------------
        
        * First release on PyPI.
        
Keywords: l,i,n,t,,, ,f,l,a,k,e,8,,, ,p,e,p,8,,, ,p,y,c,o,d,e,s,t,y,l,e,,, ,c,o,d,e,s,t,y,l,e,,, ,m,c,c,a,b,e,,, ,s,e,t,u,p,.,p,y
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: ISC License (ISCL)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
