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:
- distage – Staged, transparent runtime & compile-time Dependency Injection Framework,
- logstage – Automatic structural logs from Scala string interpolations,
- 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,
- Opinionated SBT plugins – Reduces verbosity of SBT builds and introduces new features – inter-project shared test scopes and BOM plugins (from Maven),
- 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
- Documentation Latest release Latest snapshot
- distage Sample Project
- Idealingua Sample Project
- Slides from previous Presentations
- Scaladoc Latest release Latest snapshot
Key goals
We aim to provide tools that:
- Boost productivity and reduce code bloat
- Are as non-invasive as possible
- Are introspectable
- 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:
- Best in the world build system
- Best in the world cluster orchestration tool
- Best in the world load testing/macro-benchmark tool
Contributors
See: