GitHub issues License Bintray Travis AppVeyor


Koma is a scientific computing environment for Kotlin that emphasizes language/platform interop, performance, and flexibility.

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 build
# Javascript
./gradlew build -Ptarget=js
# Native (example executable, see examples/native/main.kt)
./gradlew compileKonanKomaExample -Ptarget=native
# Native (.dll/.h) (**requires building kotlin-native from master**)
./gradlew compileKonanLibkoma -Ptarget=native -Pkonan.home=/path/to/kotlin-native/dist
# Native (.klib)
./gradlew compileKonanKoma -Ptarget=native

For more information see building from source.

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

  • Pure Java linear algebra:
  • Pluggable native libs:
  • Blas wrapper:

For a data analysis library similar to pandas, check out

For Kotlin statistical methods, check out

compile "koma:core:0.11"

Related Libraries


Idiomatic statistical operators for Kotlin

Last updated 3 mins ago


Set of extensions for Kotlin that provides Discrete math functionalities

Last updated 3 mins ago


A scientific computing library for Kotlin. https -//

Last updated 3 mins ago


krangl is a {K}otlin DSL for data w{rangl}ing

Last updated 3 mins ago