A Kotlin Multiplatform Client for Supabase. Supported targets:
GoTrue | Realtime | Postgrest | Storage | Functions | Apollo-GraphQL | |
---|---|---|---|---|---|---|
JVM | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Android | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
JS (Browser, NodeJS) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
IOS | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
tvOS (tvosArm64, tvosX64, tvosSimulatorArm64) 🚧 | ☑️ | ✅ | ✅ | ✅ | ✅ | ✅ |
watchOS (watchosArm64, watchosX64, watchosSimulatorArm64) 🚧 | ☑️ | ✅ | ✅ | ✅ | ✅ | ✅ |
MacOS (macosX64 & macosArm64) 🚧 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Windows (mingwX64) 🚧 | ☑️ | ✅ | ✅ | ✅ | ✅ | ❌ |
Linux (linuxX64) 🚧 | ☑️ | ✅ | ✅ | ✅ | ✅ | ❌ |
✅ = full support
☑️ = partial support: no built-in OAuth/OTP link handling. Linux also has no support for persistent storage.
🚧 = experimental/needs feedback
❌ = not supported
Note: WASM planned see issue
Dokka documentation for the latest version
Available modules: gotrue-kt
, postgrest-kt
, functions-kt
, storage-kt
, realtime-kt
, apollo-graphql
dependencies {
implementation("io.github.jan-tennert.supabase:[module]:VERSION")
//add ktor client engine (if you don't already have one, see https://ktor.io/docs/http-client-engines.html for all engines)
//e.g. the CIO engine
implementation("io.ktor:ktor-client-cio:KTOR_VERSION")
}
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]")
- Chat Demo (Desktop/Android/Browser)
- File Upload Demo (Desktop/Android)
- Android Native Google login & in-app OAuth (Android)
- Multi-Factor Authentication (Desktop/Android/Browser)
- Multiplatform Deep Linking (Desktop/Android)
- Groceries Store App (Android)
- Fork the repository
- Create a branch
- Make your changes
- Submit a pull request with your new branch and add one of the following tags:
fix
orenhancement
. You might also add one or more label when you are modifying a specific module:gotrue
,realtime
,functions
,graphql
,storage
,postgrest
,core
- Postgres Syntax inspired by https://github.com/supabase-community/postgrest-kt
- Plugin system inspired by ktor