A Kotlin Multiplatform Client for Supabase.
See the codeA 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-questionsA community series on building Android features with Supabase:
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.
581 followers · starred Apr 2023
1,172 followers · starred Oct 2023
723 followers · starred Aug 2024
1,720 followers · starred Jan 2023
A Kotlin Multiplatform Client for Supabase.
See the codeA 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-questionsA community series on building Android features with Supabase:
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.
581 followers · starred Apr 2023
1,172 followers · starred Oct 2023
723 followers · starred Aug 2024
1,720 followers · starred Jan 2023