Apache Pekko is an open-source framework for building applications that are concurrent, distributed, resilient and elastic. Pekko uses the Actor Model to provide more intuitive high-level abstractions for concurrency. Using these abstractions, Pekko also provides libraries for persistence, streams, HTTP, and more.
Pekko is a fork of Akka 2.6.x, prior to the Akka project's adoption of the Business Source License.
See https://pekko.apache.org for the documentation including the API docs. The docs for all the Apache Pekko modules can be found there.
The CI build is Linux based (Ubuntu) and most Pekko developers use Macs or Linux machines. There have been reports of issues when building with Windows (#829).
build.sbt
in this directory)sbt compile
compiles the main source for project default version of Scala (2.13)
sbt +compile
will compile for all supported versions of Scalasbt test
will compile the code and run the unit testssbt testQuick
similar to test but when repeated in shell mode will only run failing testssbt testQuickUntilPassed
similar to testQuick but will loop until tests pass.sbt package
will build the jars
actor/target/scala-2.13/
sbt publishLocal
will push the jars to your local Apache Ivy repositorysbt publishM2
will push the jars to your local Apache Maven repositorysbt docs/paradox
will build the docs (the ones describing the module features)
sbt docs/paradoxBrowse
does the same but will open the docs in your browser when completeindex.html
file will appear in target/paradox/site/main/
sbt unidoc
will build the Javadocs for all the modules and load them to one place (may require Graphviz, see Prerequisites above)
index.html
file will appear in target/scala-2.13/unidoc/
sbt sourceDistGenerate
will generate source release to target/dist/
sbt "set ThisBuild / version := \"1.0.0\"; sourceDistGenerate"
version.sbt
to the same directory that has the build.sbt
containing something like
ThisBuild / version := "1.0.0"
There are several ways to interact with the Pekko community:
Contributions are very welcome. If you have an idea on how to improve Pekko, don't hesitate to create an issue or submit a pull request.
See CONTRIBUTING.md for details on the development workflow and how to create your pull request.
Apache Pekko is governed by the Apache code of conduct. By participating in this project you agree to abide by its terms.
Apache Pekko is available under the Apache License, version 2.0. See LICENSE file for details.