/coala

Easy to use COde AnaLysis Application - yes! For all languages!

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

                                                     .o88Oo._
                                                    d8P         .ooOO8bo._
                                                    88                  '*Y8bo.
                                      __            YA                      '*Y8b   __
                                    ,dPYb,           YA                        68o68**8Oo.
                                    IP'`Yb            "8D                       *"'    "Y8o
                                    I8  8I             Y8     'YB                       .8D
                                    I8  8P             '8               d8'             8D
                                    I8  8'              8       d8888b          d      AY
     ,gggo,    ,ggggo,    ,gggo,gg  I8 dP    ,gggo,gg   Y,     d888888         d'  _.oP"
    dP"  "Yb  dP"  "Y8go*8P"  "Y8I  I8dP    dP"  "Y8I    q.    Y8888P'        d8
   i8'       i8'    ,8P i8'    ,8I  I8P    i8'    ,8I     "q.  `Y88P'       d8"
  ,d8,_    _,d8,   ,d8' d8,   ,d8b,,d8b,_ ,d8,   ,d8b,       Y           ,o8P
ooP""Y8888PP*"Y8888P"   "Y8888P"`Y88P'"Y88P"Y8888P"`Y8            oooo888P"

Get coala to lint all your languages in your project with one tool and config!

About

coala is a simple COde AnaLysis Application. Its goal is to make static code analysis easy while remaining completely modular and therefore extendable and language independent. coala is written with a lower case "c".

Read more at our documentation.

Why use coala?

  • coala provides built-in checking routines (named bears in coala).
  • Serves your requirement: You can easily write your own checks (using bears).
  • coala provides user-friendly interfaces like json, formatted and interactive output in the CLI and plugins for various editors are available as well.
  • Optimal performance: coala manages parallelizing the checking-routines without you having to worry.
  • Unified interface: One tool for all programming languages.

If you want to learn more about coala, its functionality and its usage, please take a look at our tutorial.

Installation

To install coala with the official set of analysis routines you can simply run pip3 install coala-bears.

coala only, without the official bears, can be installed with pip3 install coala. If you need more information about the installation and dependencies, take a look at our installation documentation.

The latest code from master is automatically deployed to PyPI as a development version. Get it with pip3 install coala --pre.

PyPI

Authors

coala is maintained by a growing community. Please take a look at the meta information in setup.py for current maintainers.

Project Status

Linux Build Status Windows Build status OSX Build status

Scrutinizer Code Quality codecov.io

Documentation Status Gitmate

Newcomers Guide and Getting Involved

If you are new and would like to contribute, read our Getting Involved Site!

We appreciate any help! Feel free to message us on gitter. If you have any questions we're happy to help you!

License

AGPL

This code falls under the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Please note that some files or content may be copied from other places. Most of them are GPL compatible. There is a small portion of code in the tests that falls under the Creative Commons license, see https://creativecommons.org/licenses/by-sa/3.0/deed.de for more information.