Monix
Asynchronous Programming for Scala and Scala.js.
Overview
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.
Highlights:
- exposes the kick-ass
Observable,TaskandCoeval - modular, only use what you need
- the base library has no third-party dependencies
- strives to be idiomatic Scala and encourages referential transparency, but is built to be faster than alternatives
- designed for true asynchrony, running on both the JVM and Scala.js
- really good test coverage and API documentation as a project policy
- it’s a Typelevel project
Featured presentation:
Download and Usage
The packages are published on Maven Central.
- Current 2.x release:
2.3.0(download source archive)
In SBT (use the %%% for Scala.js):
libraryDependencies += "io.monix" %% "monix" % "2.3.0"
Monix 2.0 is modular by design, so you can pick and choose:
- monix-execution: the low-level execution environment, or more precisely
Scheduler,Cancelable,CancelableFutureandAtomic - monix-eval: for controlling evaluation by means of
Task,Coevaland primitives built on them - monix-reactive: async
Observablestreams - monix: provides all of the above
Optional integrations:
- monix-cats: exposes Typelevel Cats type-class instances, see the intro
- monix-scalaz-72: exposes Scalaz type-class instances, see the intro
Head over to Usage in SBT and Maven for more details.
Documentation
Links:
Please contribute!
Latest News
- Monix: Version 2.3.0, New Features, Bug Fixes
- Monix: Version 2.2.4, Bug Fixes, Upgraded Scala.js
- Monix: Critical Bug Fix in Version 2.2.3 for Scala 2.12
- Monix: Version 2.2.2 Released
- Monix: Version 2.2.1 Final Release
Acknowledgements
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.
Offers commercial support.
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.