Productivity-oriented collection of lightweight fancy stuff for Scala toolchain
Clone or download

README.md

Build Status codecov CodeFactor Latest Release Maven Central Sonatype releases Sonatype snapshots License Gitter Awesome Latest version :3 :3 :3 :3 :3 :3 :3

What is it?

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 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) pattern, allowing you to model very complex domains and orchestrate deadly complex processes lot easier than you get used to.

Docs

  1. Documentation Latest release Latest snapshot
  2. Scaladoc Latest release Latest snapshot
  3. Slides: https://github.com/7mind/slides

Key goals

We aim to provide tools that:

  1. Boost productivity and reduce code bloat
  2. Are as non-invasive as possible
  3. Are introspectable
  4. Are better than anything else out there :3

Current state and future plans

We are looking for early adopters, contributors and sponsors.

This project is currently a work in progress.

In the future we are going to (or may) implement more tools based on PPER approach:

  1. Best in the world build system
  2. Best in the world cluster orchestration tool
  3. Best in the world load testing/macro-benchmark tool

Contributors

See: