Dart / Flutter SDK
For a new Flutter app, start with kalam_sync. It keeps a local Drift cache, works offline, and syncs live SQL through kalam_link.
Use kalam_link alone when you only need HTTP SQL and live rows, with no local cache.
The Dart SDK talks to a running KalamDB. Create the server with kalam init or the server quick start — not from Dart.
Try Flutter in one command
That writes a Flutter starter, schema.sql, and generated KalamTables.* codecs. Then open the cache and subscribe:
watch() and watchWithSyncState() read the local cache, including while offline. Full walkthrough: Kalam Sync.
Packages
| Job | Package | Docs |
|---|---|---|
| Local-first Flutter (recommended) | kalam_sync | Kalam Sync |
| Custom offline actions | kalam_sync + kalam_sync_generator | Offline Actions |
| SQL + live rows only | kalam_link | Setup |
kalam_sync already depends on kalam_link.
Live SQL without a cache
dependencies:kalam_link: ^0.6.0-rc.0Call KalamClient.init() once at startup. Prefer live() / liveTable() for UI lists. Live SQL must stay SELECT ... FROM ... WHERE ....
Next
- Kalam Sync — local cache, subscribe, insert
- Setup —
kalam_linkconnect, query, live rows - Authentication —
Auth.basic, JWT, refresh - Realtime Subscriptions
- Offline Actions — backend-owned writes
Android, iOS, macOS, Windows, and Linux are supported.