Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Feed your code to coala

Feed your code to coala

Robert Kuska (Kiwi.com) at Brno-Moscow Python Meetup

"So you already use linters for your codebase but it still feels like it's not enough. You want to check for more things, and better, use your own checkers but you want it to be as easy as possible! Meet coala.io, it feeds on your code and makes it better at the same time. With (almost*) no cost"

Video: http://www.moscowpython.ru/meetup/1/feed-your-code-to-coala/

Moscow Python Meetup
PRO

March 23, 2017
Tweet

More Decks by Moscow Python Meetup

Other Decks in Programming

Transcript

  1. COALA.IO
    Robert Kuska

    View Slide

  2. RObert kUSKA
    PYTHON BACKEND SOFTWARE MANAGER ENGINEER SPECIALIST
    KIWI.COM, Brno, czech republic
    WE COMBINE FLIGHTS AND MAKE YOUR TICKETS CHEAPER (most of
    the time)!

    View Slide

  3. WHAT’s LINTER
    obligatory audience targeted question
    awesome helper (analyser) to catch and avoid little bugs
    which may cause big problems

    View Slide

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

    View Slide

  5. BUT WHY COALA
    But there is already so many tools around to lint and fix
    your code!

    View Slide

  6. EXACtly! TO UNIFY
    many languages x such tools = many installations and such
    setups
    imagine running one command to check them all

    View Slide

  7. MANY TOOLS -> ONE TOOL
    Pylint ->
    Pyflakes ->
    PySomethingElse ->
    Linter-rust ->
    -> EditorOfYourChoice
    -> Terminal
    -> RandomCoolCI

    View Slide

  8. HAS MANY CHECKS INCLUDED ALREADY
    PYTHON R JAVA HASKELL GO
    Python

    View Slide

  9. HOW MANY?
    C C# C++ CMake CSS CUDA CoffeeScript Dart
    Dockerfile Fortran Git Go HTML Haskell JSON JSP
    JSX Java JavaScript Julia Lua Markdown Matlab Natural
    Language Objective-C Objective-C++ Octave OpenCL
    OpenMP PHP PL/SQL Perl Python 2 Python 3 R RAML
    Ruby SCSS SQL Scala Swift Tex TypeScript VHDL
    Verilog VimScript XML YAML bash dash ksh
    reStructuredText sh

    View Slide

  10. EMBRACE COALA (live demo)

    View Slide

  11. USING CONFIG FILE
    - global wide default_coafile
    - user wide .coarc
    - per project .coafile

    View Slide

  12. I want my own checker!
    except Exception as e:
    print(traceback.format_exc(e))
    more live demos!

    View Slide

  13. I WANT TO USE IT RIGHT NOW!
    local old-school (don’t forget to check for language
    specific dependencies)?
    $ python3 -m pip install coala coala-bears --user
    $ coala
    gitlab-ci? check_code:
    image: coala/base
    script:
    - pip install -r requirements.txt
    - coala-ci
    docker? docker run --volume=$(pwd):/app --workdir=/app coala/base coala-ci

    View Slide

  14. SUMMARIZE

    View Slide

  15. HOW TO CONTRIBUTE
    http://coala.io/#!/getinvolved

    View Slide

  16. QUESTION? OR I AM OUT
    rkuska[at]gmail.com
    rkuska @ Freenode/MozillaIRC
    .

    View Slide

  17. AAAAAND THAT’S IT

    View Slide