
Client library for Supabase. Enables authentication, database interactions, storage, real-time features, and edge functions. Provides Apollo GraphQL integration, Compose Auth, and image loading with Coil. Includes various demos and tutorials.
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]")Note that the minimum Android SDK version is 26. For lower versions, you need to enable core library desugaring.
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
sourceSets {
commonMain {
dependencies {
//Supabase modules
}
}
jvmMain {
dependencies {
implementation("io.ktor:ktor-client-cio:KTOR_VERSION")
}
}
androidMain {
dependsOn(jvmMain.get())
}
jsMain {
dependencies {
implementation("io.ktor:ktor-client-js:KTOR_VERSION")
}
}
iosMain {
dependencies {
implementation("io.ktor:ktor-client-darwin:KTOR_VERSION")
}
}
}Note: It is recommended to use the same Ktor version as supabase-kt:
There are several plugins available to extend the functionality of supabase-kt. They can be installed in the createSupabaseClient function.
Some highlights include:
For more information, checkout supabase-kt-plugins.
Official Samples
Community Samples
Community Samples
help-and-questions
Checkout the contribution guidelines for more information.
If you like the project and want to support it, consider sponsoring me on Ko-fi or directly on PayPal.
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]")Note that the minimum Android SDK version is 26. For lower versions, you need to enable core library desugaring.
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
sourceSets {
commonMain {
dependencies {
//Supabase modules
}
}
jvmMain {
dependencies {
implementation("io.ktor:ktor-client-cio:KTOR_VERSION")
}
}
androidMain {
dependsOn(jvmMain.get())
}
jsMain {
dependencies {
implementation("io.ktor:ktor-client-js:KTOR_VERSION")
}
}
iosMain {
dependencies {
implementation("io.ktor:ktor-client-darwin:KTOR_VERSION")
}
}
}Note: It is recommended to use the same Ktor version as supabase-kt:
There are several plugins available to extend the functionality of supabase-kt. They can be installed in the createSupabaseClient function.
Some highlights include:
For more information, checkout supabase-kt-plugins.
Official Samples
Community Samples
Community Samples
help-and-questions
Checkout the contribution guidelines for more information.
If you like the project and want to support it, consider sponsoring me on Ko-fi or directly on PayPal.