Linters
=======

.. index:: linters


flake8
-------

To run flake8:

    $ flake8

The config for flake8 is located in setup.cfg. It specifies:

* Set max line length to 120 chars
* Exclude .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules

pylint
------

This is included in flake8's checks, but you can also run it separately to see a more detailed report:

    $ pylint <python files that you wish to lint>

The config for pylint is located in .pylintrc. It specifies:

* Use the pylint_common and pylint_django plugins. If using Celery, also use pylint_celery.
* Set max line length to 120 chars
* Disable linting messages for missing docstring and invalid name
* max-parents=13

pep8
-----

This is included in flake8's checks, but you can also run it separately to see a more detailed report:

    $ pep8 <python files that you wish to lint>

The config for pep8 is located in setup.cfg. It specifies:

* Set max line length to 120 chars
* Exclude .tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules