kosi-libs/Kodein
kosi-libs/Kodein has 3,335 GitHub stars and 177 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-06 18:39 UTC. Last push 2026-10-20.
Painless Kotlin Dependency Injection
Measured star growth
- in 24h
- +1
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original[!IMPORTANT]
Kodein DI is now in maintenance mode
Kodein DI will no longer receive new features. We will keep maintaining the current version and fix issues when necessary, but nothing more.
What we are focusing on: Inara
Our focus is now on Inara, a Kotlin Symbol Processor that brings compile-time dependency injection to Kotlin Multiplatform, with no runtime overhead.
Moving to Koin
If you like how Kodein works, we warmly encourage you to migrate to Koin. It supports everything Kodein does, and much more. See Introducing the Koin migration skills to get started.
KOtlin DEpendency INjection
KODEIN is a straightforward and yet very useful dependency retrieval container. it is effortless to use and configure.
KODEIN works on all Kotlin Multiplatform targets:
- JVM / Android.
- all Native platforms (iOS, macOS, Linux, Windows, WebAssembly).
- Javascript / WasmJs.
KODEIN allows you to:
- Lazily instantiate your dependencies when needed
- Stop caring about dependency initialization order
- Bind classes or interfaces to their instance or provider
- Debug your dependency bindings and recursions
KODEIN provides extensions to be integrable into:
An example is always better than a thousand words:
val di = DI {
bindProvider<Dice> { RandomDice(0, 5) }
bindSingleton<DataSource> { SqliteDS.open("path/to/file") }
}
class Controller(private di: DI) {
private val ds: DataSource by di.instance()
}
KODEIN is a good choice because:
- It proposes a very simple and readable declarative DSL
- It is not subject to type erasure (as Java is)
- It integrates nicely with Android
- It proposes a very kotlin-esque idiomatic API
- It is fast and optimized (makes extensive use of
inline)
Installation
Kodein is available on Maven Central.
repositories {
mavenCentral()
}
kotlin {
sourceSets {
commonMain {
dependencies {
implementation("org.kodein.di:kodein-di:{version}")
}
}
}
}
KODEIN 7+ is the current major version, but documentation is available for previous versions.
Kotlin & JVM compatibility
| Kodein | Kotlin | JDK |
|---|---|---|
| 7.27 | 2.2.+ | min 17 |
| 7.26 | 2.1.+ | min 17 |
| 7.23 | 2.0.+ | min 17 |
| 7.22 | 2.0.+ | min 11 |
| 7.21 | 1.9.+ | min 1.8 |
| 7.20 | 1.8.10 | min 1.8 |
| 7.19 | 1.8.10 | min 1.8 |
| 7.18 | 1.8.0 | min 1.8 |
| 7.17 | 1.8.0 | min 1.8 |
Full table can be found here
Support
Support is held in the Kodein Slack channel (you can get an invitation to the Kotlin Slack here).
If you are using KODEIN, please let us know!
Developped by
Supported by
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,541 starspublic-apis/public-apis
A collective list of free APIs
496,818 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
438,945 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,094 stars