Getting Started

Add the following dependency to your build.sbt file:

libraryDependencies += "io.github.endless4s" %% "endless-core" % "0.30.0"

This will pull in the core endless module, containing typeclasses and interpreters. You should add this dependency to the project that contains your business domain logic (typically “domain”).

Pekko runtime is available in endless-runtime-pekko (for Akka, use endless-runtime-akka). There are also helpers for defining protobuf protocols in endless-protobuf-helpers, scodec in endless-scodec-helpers and circe in endless-circe-helpers. Add those dependencies to the project where your application wiring code resides (typically “infrastructure”).

You can also clone this repository and run the example application with sbt run.


Since Akka/Pekko does not allow mixed versions in a project, Akka/Pekko dependencies of endless-runtime-akka and endless-runtime-pekko respectively are marked a Provided. This means that your application libraryDependencies needs to directly include Akka or Pekko as a dependency. The minimal supported Akka version is 2.6.20, and Pekko version is 1.0.2.