Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

GitHub issues License Bintray Travis AppVeyor


Koma is a scientific computing environment for Kotlin.

Project goals:

  • Create a scientific programming environment that is similar in style to NumPy or MATLAB
  • Enable writing numerical applications which can be deployed on JVM, JS, and native platforms
  • Support using said applications from Python, MATLAB, Java, and other pre-existing codebases
  • Use pluggable back-ends to enable optimized computation via pre-existing platform libraries

Project documentation

For more information on using Koma, please see the documentation


To build from source, use one of the following commands:

# Java
./gradlew buildJvm
# Javascript
./gradlew buildJs
# Native (example executable, see examples/native/main.kt)
./gradlew buildNative

Output artifacts are left in the ./build folder. For more information see building from source.

Koma has backends that wrap several other numerical projects on the JVM:

For a data analysis library similar to pandas, check out

For Kotlin statistical methods, check out