Overview

The Alpakka project is an open source initiative to implement stream-aware and reactive integration pipelines for Java and Scala. It is built on top of Akka Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. Akka Streams is a Reactive Streams and JDK 9+ java.util.concurrent.Flow-compliant implementation and therefore fully interoperable with other implementations.

If you’d like to know what integrations with Alpakka look like, have a look at our self-contained examples section.

There are a few blog posts and presentations about Alpakka out there, we’ve collected some.

Versions

The code in this documentation is compiled against:

  • Alpakka 2.0.0-RC1 (Github, API docs)
  • Scala 2.12 (all modules are available for Scala 2.13, and most are available for Scala 2.11)
  • Akka Streams 2.5.30 (all modules are compatible with Akka 2.6.0+, few require 2.6.4) (Reference, Github)
  • Akka Http 10.1.11 (Reference, Github)

See Alpakka versioning for more details.

Release notes are found at Release Notes.

If you want to try out a connector that has not yet been released, give snapshots a spin which are published after every merged PR.

Contributing

Please feel free to contribute to Alpakka by reporting issues you identify, or by suggesting changes to the code. Please refer to our contributing instructions and our contributor advice to learn how it can be done. The target structure for Alpakka connectors is illustrated by the Reference connector.

We want Akka and Alpakka to strive in a welcoming and open atmosphere and expect all contributors to respect our code of conduct.

alpakka Feel free to tag your project with akka-streams keyword in Scaladex for easier discoverability.

Found an error in this documentation? The source code for this page can be found here. Please feel free to edit and contribute a pull request.