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:
fixorenhancement. 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