A Kotlin Multiplatform Client for Supabase.
For information about supported Kotlin targets, see the corresponding module README.
Migrating from version 2.X to 3.0.0
Note: The WASM-JS
target for supported modules is only available for version 3.0.0 and above
Getting started with Android and Supabase [Video]
Tutorial: Build a Product Management Android App with Jetpack Compose
Dokka documentation for the latest version
Available modules: auth-kt
*, postgrest-kt
, functions-kt
,
storage-kt
, realtime-kt
, apollo-graphql
, compose-auth
,
compose-auth-ui
, coil-integration
, coil3-integration
, imageloader-integration
dependencies {
implementation("io.github.jan-tennert.supabase:[module]:VERSION")
}
* Before version 3.0.0, the module was called gotrue-kt
.
If you use multiple modules, you can use the bom dependency to get the correct versions for all modules:
implementation(platform("io.github.jan-tennert.supabase:bom:VERSION"))
implementation("io.github.jan-tennert.supabase:[module]")
You can find a list of available engines here. If you plan to use the Realtime dependency, make sure to check if the engine supports WebSockets. See the Ktor docs for more information.
implementation("io.ktor:ktor-client-[engine]:VERSION")
For targets: jvm
, android
, js
, ios
val commonMain by getting {
dependencies {
//supabase modules
}
}
val jvmMain by getting {
dependencies {
implementation("io.ktor:ktor-client-cio:KTOR_VERSION")
}
}
val androidMain by getting {
dependsOn(jvmMain)
}
val jsMain by getting {
dependencies {
implementation("io.ktor:ktor-client-js:KTOR_VERSION")
}
}
val iosMain by getting {
dependencies {
implementation("io.ktor:ktor-client-darwin:KTOR_VERSION")
}
}
Note: It is recommended to use the same Ktor version as supabase-kt:
For 3.0.0 and above:
For versions below 3.0.0:
Official Samples
Community Samples
Community Samples
help-and-questions
Checkout the contribution guidelines for more information.