Asynchronous Programming for Scala and Scala.js.



Monix is a high-performance Scala / Scala.js library for composing asynchronous and event-based programs, exposing high-level types, such as observable sequences that are exposed as asynchronous streams, expanding on the observer pattern, strongly inspired by ReactiveX and by Scalaz, but designed from the ground up for back-pressure and made to cleanly interact with Scala’s standard library, compatible out-of-the-box with the Reactive Streams protocol.


Featured presentation:

flatMap(Oslo), 2016

Download and Usage

The packages are published on Maven Central.

In SBT (use the %%% for Scala.js):

libraryDependencies += "io.monix" %% "monix" % "2.3.3"

Or for the 3.x release that works out of the box with Typelevel Cats 1.0:

libraryDependencies += "io.monix" %% "monix" % "3.0.0-M3"

Monix is modular by design, so you can pick and choose:

Optional integrations (for the 2.x series only):

NOTE: for the 3.x series the monix-cats package is no longer needed, support for Typelevel Cats being delivered out of the box and the support for Scalaz has been dropped; if you’re a Scalaz user you can use the shims project for interoperability.

Head over to Usage in SBT and Maven for more details.



Please contribute!

Latest News

  1. Monix: Version 2.3.3, Critical Bug Fixes
  2. Monix: Version 2.3.0, New Features, Bug Fixes
  3. Monix: Version 2.2.4, Bug Fixes, Upgraded Scala.js
  4. Monix: Critical Bug Fix in Version 2.2.3 for Scala 2.12
  5. Monix: Version 2.2.2 Released


YourKit supports the Monix project with its full-featured Java Profiler. YourKit, LLC is the creator YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.

Development of Monix has been initiated by Eloquentix engineers, with Monix being introduced at E.ON Connecting Energies, powering the next generation energy grid solutions.