coala 0,11 travis-ci python

coala provides a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.

3 years after

.. image::

coala: Linting and fixing code for all languages

coala provides a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.

With coala, users can create rules and standards <>__ to be followed in the source code. coala has an user-friendly interface that is completely customizable. It can be used in any environment and is completely modular.

coala has a set of official bears (plugins) for several languages, including popular languages such as C/C++, Python, JavaScript, CSS, Java and many more, in addition to some generic language independent algorithms. To learn more about the different languages supported and the bears themselves, click here. <>__

To see what coala can do for your language, run:

.. code-block:: bash

$ coala --show-bears --filter-by-language Python

|Linux Build Status| |Windows Build status| |Scrutinizer Code Quality| || |Documentation Status| |Gitmate|

.. Start ignoring LineLengthBear

======================================= ================================================= ====================================================== ========================================================= Official Website <>__ Twitter <> Facebook <> Video Demo <>__ ======================================= ================================================= ====================================================== =========================================================

.. Stop ignoring

.. contents:: :local: :depth: 1 :backlinks: none

======== Features

  • Out-of-the-box support for various popular languages <>__, such as C/C++, Python, Javascript, CSS, Java and many others with built-in check routines.
  • User-friendly interfaces such as JSON, interactive CLI or any custom format.
  • Plugins for gedit <>, Sublime Text <>, Atom <>, Vim <> and Emacs <>__.
  • Optimized performace with multi-threading to parallelize the routines - can complete a 26000 line python repository in less than 3 seconds.
  • File caching support - run only on changed files.

============ Installation

To install the latest stable version run:

.. code-block:: bash

$ pip3 install coala


To install the latest development version run:

.. code-block:: bash

$ pip3 install coala --pre

The latest code from the master branch is automatically deployed as the development version in PyPI.

To also install all bears for coala at once run:

.. code-block:: bash

$ pip3 install coala-bears

You can also use cib (coala Installs Bears), which is an experimental bear manager that lets you install, upgrade, uninstall, check dependencies, etc. for bears. To install it, run:

.. code-block:: bash

$ pip3 install cib

For usage instructions, consult this link <>__.

|PyPI| |Windows| |Linux|

===== Usage

There are two options to run coala:

  • using a .coafile, a project specific configuration file that will store all your settings for coala
  • using command-line arguments

Using a .coafile

A sample .coafile will look something like this:

.. code-block:: bash

files = src/**/*.py
bears = SpaceConsistencyBear
use_spaces = True
  • The files key tells coala which files to lint - here we're linting all python files inside the src/ directory by using a glob expression.
  • The bears key specifies which bears (plugins) you want to use. We support a huge number of languages and you can find the whole list here <>. If you don't find your langauge there, we've got some bears that work for all languages <>. Or you can file an issue and we would create a bear for you!
  • use_spaces enforces spaces over tabs in the codebase. use_spaces is a setting for the SpaceConsistencyBear.

[Spacing] is a section. Sections are executed in the order you define them.

Store the file in the project's root directory and run coala:

.. code-block:: bash

$ coala

Please read our coafile specification <>__ to learn more.

Using command-line arguments

However, if you don't want to save your settings, you can also run coala with command line arguments:

.. code-block:: bash

$ coala --bears=SpaceConsistencyBear -S use_spaces=True

Note that this command does the same thing as having a coafile and running coala. The advantage of having a coafile is that you don't need to enter the settings as arguments everytime.

To get the complete list of arguments and their meaning, run:

.. code-block:: bash

$ coala --help

You can find a quick demo of coala here:


.. |asciicast| image:: :target: :width: 100%

================ Getting Involved

If you would like to be a part of the coala community, you can check out our Getting In Touch <>__ page or ask us at our active Gitter channel, where we have maintainers from all over the world. We appreciate any help!

We also have a newcomer guide <> to help you get started by fixing an issue yourself! If you get stuck anywhere or need some help, feel free to contact us on Gitter or drop a mail at our newcomer mailing list <>.


======= Support

Feel free to contact us at our Gitter channel <>__, we'd be happy to help!

You can also drop an email at our mailing list <>__.

======= Authors

coala is maintained by a growing community. Please take a look at the meta information in <>__ for the current maintainers.

======= License


.. |Windows| image:: .. |Linux| image:: .. |Stable| image:: .. |PyPI| image:: :target: .. |Linux Build Status| image:: :target: .. |Windows Build status| image:: :target: .. |Scrutinizer Code Quality| image:: :target: .. || image:: :target: .. |Documentation Status| image:: :target: .. |AGPL| image:: :target: .. |Gitmate| image:: :target: .. |gitter| image:: :target: :alt: Chat on Gitter

Related Repositories



Bears for coala ...



Vim plugin for coala ...



The official documentation for coala ...



coala Landing Page - is needed as backend ...



A binary that generates an initial coala config lightning fast for you! ...

Top Contributors

sils AbdealiJK Makman2 Udayan12167 fneu Adrianzatreanu adtac abhsag24 SanketDG Uran198 tushar-rishav Asnelchristian sudheesh001 srisankethu Redridge WJCode underyx arush0311 komeP aayn mr-karan AhmedKamal1432 mgracer48 nishant-mor arafsheikh shivanipoddariiith simobasso netman92 abhiroyg djkonro


-   v0.1.1-alpha zip tar
-   v0.1.0-alpha zip tar
-   0.8.1 zip tar
-   0.8.0 zip tar
-   0.7.0 zip tar
-   0.6.0 zip tar
-   0.5.2 zip tar
-   0.5.0 zip tar
-   0.4.0 zip tar
-   0.3.0 zip tar
-   0.2.0 zip tar