86 lines (57 sloc) 4.41 KB


Jenkins Build Status AppVeyor Build Status GitHub (pre-)release GitHub (Pre-)Release Date GitHub last commit License

Ballerina is a compiled, type safe, concurrent programming language designed to make it simple to write microservices that integrate APIs.

Integration Syntax

A compiled, transactional, statically and strongly typed programming language with textual and graphical syntaxes. Ballerina incorporates fundamental concepts of distributed system integration and offers a type safe, concurrent environment to implement microservices.

Networked Type System

A type system that embraces network payload variability with primitive, object, union, and tuple types.


An execution model composed of lightweight parallel worker units that are non-blocking where no function can lock an executing thread manifesting sequence concurrency.

Table of contents

Getting started

You can use one of the following options to try out Ballerina.

Download and install

Download the binary

You can download the Ballerina distribution at

Install from source

Alternatively, you can install Ballerina from the source using the following instructions.


Building the source

  1. Clone this repository using the following command.

    git clone --recursive

    If you download the sources, you need to update the git submodules using the following command.

    git submodule update --init 
  2. Run the Maven command mvn clean install from the repository root directory.

  3. Extract the Ballerina distribution created at distribution/zip/ballerina-tools/target/ballerina-tools-<version>

Contributing to Ballerina

As an open source project, Ballerina welcomes contributions from the community. To start contributing, read these contribution guidelines for information on how you should go about contributing to our project.

Check the issue tracker for open issues that interest you. We look forward to receiving your contributions.


Ballerina code is distributed under Apache license 2.0.

Useful links