{"id":13659692,"url":"https://github.com/supabase-community/supabase-kt","last_synced_at":"2026-04-09T05:32:13.747Z","repository":{"id":41435201,"uuid":"495084592","full_name":"supabase-community/supabase-kt","owner":"supabase-community","description":"A Kotlin Multiplatform Client for Supabase. ","archived":false,"fork":false,"pushed_at":"2026-04-02T13:10:41.000Z","size":6613,"stargazers_count":790,"open_issues_count":39,"forks_count":87,"subscribers_count":14,"default_branch":"master","last_synced_at":"2026-04-03T02:29:40.640Z","etag":null,"topics":["android","auth","authentication","community","compose","compose-multiplatform","jetpack-compose","kotlin","kotlin-android","kotlin-js","kotlin-multiplatform","kotlin-native","postgres","supabase"],"latest_commit_sha":null,"homepage":"https://supabase.com/docs/reference/kotlin/introduction","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/supabase-community.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"ko_fi":"jantennert","github":"jan-tennert"}},"created_at":"2022-05-22T14:31:33.000Z","updated_at":"2026-04-02T13:10:42.000Z","dependencies_parsed_at":"2023-11-01T00:29:31.735Z","dependency_job_id":"a0496014-f442-46f5-b060-26acee265e2f","html_url":"https://github.com/supabase-community/supabase-kt","commit_stats":{"total_commits":1738,"total_committers":19,"mean_commits":91.47368421052632,"dds":0.1754890678941312,"last_synced_commit":"123d2e2515e59bfa5fc0fc6b9fade3bc84469aae"},"previous_names":["jan-tennert/supacompose"],"tags_count":217,"template":false,"template_full_name":null,"purl":"pkg:github/supabase-community/supabase-kt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fsupabase-kt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fsupabase-kt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fsupabase-kt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fsupabase-kt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supabase-community","download_url":"https://codeload.github.com/supabase-community/supabase-kt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fsupabase-kt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31587804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","auth","authentication","community","compose","compose-multiplatform","jetpack-compose","kotlin","kotlin-android","kotlin-js","kotlin-multiplatform","kotlin-native","postgres","supabase"],"created_at":"2024-08-02T05:01:11.342Z","updated_at":"2026-04-09T05:32:13.731Z","avatar_url":"https://github.com/supabase-community.png","language":"Kotlin","funding_links":["https://ko-fi.com/jantennert","https://github.com/sponsors/jan-tennert","https://www.paypal.com/donate/?hosted_button_id=SR3YJS5CZFS9L"],"categories":["Libraries","Kotlin"],"sub_categories":["🧩 Service SDK"],"readme":"# supabase-kt\n\nA Kotlin Multiplatform Client for Supabase.\n\nFor information about supported Kotlin targets, see the corresponding module README.\n\n[Migrating from version 2.X to 3.0.0](/MIGRATION.md)\n\n*Note: The `WASM-JS` target for supported modules is only available for version 3.0.0 and above*\n\n[![](https://img.shields.io/github/release/supabase-community/supabase-kt?label=stable)](https://github.com/supabase-community/supabase-kt/releases) \n[![](https://badgen.net/github/release/supabase-community/supabase-kt?label=prerelease)](https://central.sonatype.com/search?q=io.github.jan.supabase\u0026smo=true) \n[![Kotlin](https://img.shields.io/badge/kotlin-2.3.20-blue.svg?logo=kotlin)](http://kotlinlang.org) \n[![Ktor](https://img.shields.io/badge/ktor-3.4.2-blue)](https://ktor.io/)\n[![slack](https://img.shields.io/badge/slack-%23supabase--kt-purple.svg?logo=slack)](https://kotlinlang.slack.com/archives/C06QXPC7064)\n\n[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/jantennert)\n\n### Links\n\n[Documentation](https://supabase.com/docs/reference/kotlin/introduction)\n\n[Samples](#samples)\n\n[Getting started with Android and Supabase [Video]](https://www.youtube.com/watch?v=_iXUVJ6HTHU)\n\n[Quickstart](https://supabase.com/docs/guides/getting-started/quickstarts/kotlin)\n\n[Tutorial: Build a Product Management Android App with Jetpack Compose](https://supabase.com/docs/guides/getting-started/tutorials/with-kotlin)\n\n[Dokka documentation for the latest version](https://supabase-community.github.io/supabase-kt/)\n\n[Troubleshooting](/TROUBLESHOOTING)\n\n# Installation\n\n### Add one or more modules to your project\n\n**Available modules**: `auth-kt`*, `postgrest-kt`, `functions-kt`, \n`storage-kt`, `realtime-kt`, `apollo-graphql`, `compose-auth`, \n`compose-auth-ui`, `coil-integration`, `coil3-integration`, `imageloader-integration`\n\n```kotlin\ndependencies {\n    implementation(\"io.github.jan-tennert.supabase:[module]:VERSION\")\n}\n```\n\n\\* Before version 3.0.0, the module was called `gotrue-kt`.\n\nIf you use multiple modules, you can use the bom dependency to get the correct versions for all\nmodules:\n\n```kotlin\nimplementation(platform(\"io.github.jan-tennert.supabase:bom:VERSION\"))\nimplementation(\"io.github.jan-tennert.supabase:[module]\")\n```\n\n*Note that the minimum Android SDK version is 26. For lower versions, you need to enable [core library desugaring](https://developer.android.com/studio/write/java8-support#library-desugaring).*\n\n### Add a Ktor Client Engine to each of your Kotlin targets\n\nYou can find a list of available engines [here](https://ktor.io/docs/http-client-engines.html).\nIf you plan to use the Realtime dependency, make sure to check if the engine supports WebSockets. See the [Ktor docs](https://ktor.io/docs/http-client-engines.html#limitations) for more information.\n\n\n```kotlin\nimplementation(\"io.ktor:ktor-client-[engine]:VERSION\")\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eMultiplatform Example\u003c/summary\u003e\n\nFor targets: `jvm`, `android`, `js`, `ios`\n\n```kotlin\nsourceSets {\n    commonMain {\n        dependencies {\n            //Supabase modules\n        }\n    }\n    jvmMain {\n        dependencies {\n            implementation(\"io.ktor:ktor-client-cio:KTOR_VERSION\")\n        }\n    }\n    androidMain {\n        dependsOn(jvmMain.get())\n    }\n    jsMain {\n        dependencies {\n            implementation(\"io.ktor:ktor-client-js:KTOR_VERSION\")\n        }\n    }\n    iosMain {\n        dependencies {\n            implementation(\"io.ktor:ktor-client-darwin:KTOR_VERSION\")\n        }\n    }\n}\n```\n\u003c/details\u003e\n\n**Note:** It is recommended to use the same Ktor version as supabase-kt:\n\n__For 3.0.0 and above:__\n[![Ktor](https://img.shields.io/badge/ktor-3.4.0-blue)](https://ktor.io/)\n\n__For versions below 3.0.0:__\n[![Ktor](https://img.shields.io/badge/ktor-2.3.12-blue)](https://ktor.io/)\n\n## Main Modules\n\n- [Authentication](/Auth)\n- [Database/Postgrest](/Postgrest)\n- [Storage](/Storage)\n- [Realtime](/Realtime)\n- [Functions (Edge Functions)](/Functions)\n\n### Plugins\n\nThere are several plugins available to extend the functionality of supabase-kt. They can be installed in the `createSupabaseClient` function.\n\nSome highlights include:\n\n- [Apollo GraphQL integration](https://github.com/supabase-community/supabase-kt-plugins/tree/main/ApolloGraphQL) - Creates an [Apollo GraphQL Client](https://github.com/apollographql/apollo-kotlin) for interacting with the Supabase API.\n- [Compose Auth](https://github.com/supabase-community/supabase-kt-plugins/tree/main/ComposeAuth) - Provides easy Native Google \u0026 Apple Auth for Compose Multiplatform targets.\n- [Compose Auth UI](https://github.com/supabase-community/supabase-kt-plugins/tree/main/ComposeAuthUI) - Provides UI Components for Compose Multiplatform.\n- [Coil3 Integration](https://github.com/supabase-community/supabase-kt-plugins/tree/main/Coil3Integration) - Provides a [Coil3](https://github.com/coil-kt/coil) Integration for displaying images stored in Supabase Storage. Supports all Compose Multiplatform targets.\n\nFor more information, checkout [supabase-kt-plugins](https://github.com/supabase-community/supabase-kt-plugins).\n\n### Miscellaneous\n- [Supabase Edge Functions Kotlin](https://github.com/manriif/supabase-edge-functions-kt) - Build, serve and deploy Supabase Edge Functions with Kotlin and Gradle.\n\n# Samples\n\n### Multiplatform Applications\n\n**Official Samples**\n\n- [Chat Demo](/sample/chat-demo-mpp) *(Desktop/Android/iOS/Browser)* - A simple chat application using the Auth, Postgrest and Realtime module.\n- [File Upload Demo](/sample/file-upload) *(Desktop/Android)* - A simple bulk file upload application using the Storage module.\n- [Multi-Factor Authentication](/sample/multi-factor-auth) *(Desktop/Android/Browser)* - A simple application showcasing Multi-Factor Authentication.\n\n**Community Samples**\n\n- [Groceries Store App](https://github.com/hieuwu/android-groceries-store) *(Android)* - An e-commerce app using Auth, Postgrest and Storage\n- [Supa Sketcher](https://github.com/hieuwu/supa-sketcher) *(Android)* - An real-time white board app using anonymous sign-ins Auth, Postgrest and Realtime\n \n### Server-side Applications\n\n**Community Samples**\n\n- [RESTful Service](https://github.com/hieuwu/supa-spring-kt) *(Spring Boot)*\n\n# Need help?\n\n- Join the [#supabase-kt](https://kotlinlang.slack.com/archives/C06QXPC7064) Kotlin Slack channel\n- [Join the Supabase Discord](https://discord.supabase.com) and create a new post with the 'Kotlin' tag under `help-and-questions`\n- [Create a discussion](https://github.com/supabase-community/supabase-kt/discussions/new/choose)\n- [Create an issue](https://github.com/supabase-community/supabase-kt/issues/new/choose)\n\n# Guides\n\n- [Building Secure User Sign Up With Email Confirmation with Supabase on Android](https://hieuwu.medium.com/supadroid-building-secure-user-sign-up-with-email-confirmation-with-supabase-on-android-72f3172d6049)\n- [Getting started with Android and Supabase](https://www.youtube.com/watch?v=_iXUVJ6HTHU) by the official Supabase YouTube channel\n- [Sign in with Google on Android using Credential Manager](https://www.youtube.com/watch?v=P_jZMDmodG4) by the official Supabase YouTube channel\n\n# Contribution\n\nCheckout the [contribution guidelines](/CONTRIBUTING.md) for more information.\n\n# Credits\n\n- Postgres Syntax inspired by https://github.com/supabase-community/postgrest-kt\n- Plugin system inspired by ktor\n\n## Sponsoring\n\nIf you like the project and want to support it, consider sponsoring me on [Ko-fi](https://ko-fi.com/jantennert) or directly on [PayPal](https://www.paypal.com/donate/?hosted_button_id=SR3YJS5CZFS9L).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupabase-community%2Fsupabase-kt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupabase-community%2Fsupabase-kt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupabase-community%2Fsupabase-kt/lists"}