Documentation Index
Fetch the complete documentation index at: https://docs.turso.tech/llms.txt
Use this file to discover all available pages before exploring further.
Which package should I use?
| Use case | TypeScript | Python | Go | Rust |
|---|---|---|---|---|
| Local database (embedded, on-device, offline) | @tursodatabase/database | pyturso | tursogo | turso |
| Local database + cloud sync (push/pull) | @tursodatabase/sync | pyturso (with sync) | tursogo (with sync) | turso (with sync feature) |
| Remote access (servers, Docker, serverless, edge — any over-the-wire) | @tursodatabase/serverless | libsql | libsql-client-go | libsql (with remote feature) |
| libSQL — ORM support (Drizzle, Prisma), production-ready, battle-tested | @libsql/client | libsql | go-libsql | libsql |
@tursodatabase/database (TypeScript), pyturso (Python), tursogo (Go), or turso (Rust). These are built on the Turso Database engine — the ground-up rewrite of SQLite with concurrent writes, async I/O, and local-first sync.
Need sync? Use Turso Sync for local reads and writes with explicit push() / pull() to Turso Cloud.
Using an ORM (Drizzle, Prisma)? Use @libsql/client — it has production-ready support from all major ORMs in the ecosystem.
Migrating from SQLite? Turso Database is a drop-in replacement. Your existing SQL, schema, and queries work unchanged.
Already using @libsql/client, libsql, or go-libsql? These packages are built on libSQL, the open-source fork of SQLite that powers Turso Cloud today. They are production-ready and battle-tested. If your workload needs concurrent writes, push/pull sync, or local-first writes (offline / multi-writer / bidirectional), the Turso Database packages are also a good choice — pick the one that fits your workload.
Why multiple packages in TypeScript?
Keeping@tursodatabase/database and @tursodatabase/serverless separate means minimal bundle size. @tursodatabase/serverless uses only fetch — zero native dependencies, so it works in Node.js, Docker containers, serverless functions, edge runtimes, and browsers.
Need sync? For new projects, use Turso Sync — it gives you local reads and writes with explicit
push() / pull() to the cloud. The libSQL-based SDKs below also support Embedded Replicas, where reads are local and writes are sent to the cloud primary.