Izumi Project

Izumi (jap. ??, spring) is a set of independent libraries and frameworks allowing you to significantly increase productivity of your Scala development.

including the following components:

  1. distage ? Staged, transparent and debuggable runtime & compile-time Dependency Injection Framework,
  2. logstage ? Automatic structural logs from Scala string interpolations,
  3. idealingua ? API Definition, Data Modeling and RPC Language, optimized for fast prototyping ? like gRPC, but with a human face. Currently generates servers and clients for Go, TypeScript, C# and Scala,
  4. Opinionated SBT plugins ? Reduces verbosity of SBT builds and introduces new features ? inter-project shared test scopes and BOM plugins (from Maven),
  5. Percept-Plan-Execute-Repeat (PPER) ? a pattern that enables modeling very complex domains and orchestrate deadly complex processes a lot easier than you’re used to.


To use, add the following into project/build.sbt,

libraryDependencies ++= Seq( // Core DIStage library "io.7mind.izumi" %% "distage-core" % "0.9.5-M19", // Testkit for ScalaTest "io.7mind.izumi" %% "distage-testkit" % "0.9.5-M19" % Test, // Compile-time checks & reflection-less mode "io.7mind.izumi" %% "distage-static" % "0.9.5-M19", // Typesafe Config support "io.7mind.izumi" %% "distage-config" % "0.9.5-M19", // Classpath discovery support "io.7mind.izumi" %% "distage-plugins" % "0.9.5-M19", // Roles & Application entrypoint framework "io.7mind.izumi" %% "distage-roles" % "0.9.5-M19", // Core LogStage library "io.7mind.izumi" %% "logstage-core" % "0.9.5-M19", // Configure LogStage with Typesafe Config "io.7mind.izumi" %% "logstage-config" % "0.9.5-M19", // LogStage integration with DIStage "io.7mind.izumi" %% "logstage-di" % "0.9.5-M19", // Write logs as JSON "io.7mind.izumi" %% "logstage-rendering-circe " % "0.9.5-M19", // Route Slf4J logs to LogStage "io.7mind.izumi" %% "logstage-adapter-slf4j " % "0.9.5-M19", // Route LogStage logs to Slf4J "io.7mind.izumi" %% "logstage-sink-slf4j " % "0.9.5-M19", // Idealingua Runtime Dependencies (for use with the Idealingua compiler) "io.7mind.izumi" %% "idealingua-v1-runtime-rpc-http4s" % "0.9.5-M19", )


Izumi on GitHub

Latest SNAPSHOT documentation



YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler YourKit .NET Profiler and YourKit YouMonitor.