Skip to main content

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 caseTypeScriptPythonGoRust
Local database (embedded, on-device, offline)@tursodatabase/databasepytursotursogoturso
Local database + cloud sync (push/pull)@tursodatabase/syncpyturso (with sync)tursogo (with sync)turso (with sync feature)
Remote access (servers, Docker, serverless, edge — any over-the-wire)@tursodatabase/serverlesslibsqllibsql-client-golibsql (with remote feature)
libSQL — ORM support (Drizzle, Prisma), production-ready, battle-tested@libsql/clientlibsqlgo-libsqllibsql
Starting a new project? Use @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.

Official SDKs

TypeScript

Rust

Go

Python

Android

Swift

PHP

Ruby

Ruby on Rails

C

Community SDKs

These SDKs are community-driven and don’t come with official Turso support.

Flutter / Dart

Capacitor

React Native / OP-SQLite

Laravel

.NET

Java

Stateless libSQL

SQL over HTTP

SQL over HTTP