Databases for all TypeScript and JS multi-tenant apps.
Turso Β· Docs Β· Quickstart Β· SDK Reference Β· Blog & Tutorials
- π Works offline with Embedded Replicas
- π Works with remote Turso databases
- β¨ Works with Turso AI & Vector Search
- π Supports encryption at rest
npm install @libsql/client
The example below uses Embedded Replicas and syncs every minute from Turso.
import { createClient } from "@libsql/client"; export const turso = createClient({ url: "file:local.db", syncUrl: process.env.TURSO_DATABASE_URL, authToken: process.env.TURSO_AUTH_TOKEN, syncInterval: 60000, }); await turso.batch( [ "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)", { sql: "INSERT INTO users(name) VALUES (?)", args: ["Iku"], }, ], "write", ); await turso.execute({ sql: "SELECT * FROM users WHERE id = ?", args: [1], });
Example | Description |
---|---|
local | Uses libsql with a local SQLite file. Creates database, inserts data, and queries. |
remote | Connects to a remote database. Requires environment variables for URL and auth token. |
sync | Demonstrates synchronization between local and remote databases. |
batch | Executes multiple SQL statements in a single batch operation. |
transactions | Shows transaction usage: starting, performing operations, and committing/rolling back. |
memory | Uses an in-memory SQLite database for temporary storage or fast access. |
vector | Works with vector embeddings, storing and querying for similarity search. |
encryption | Creates and uses an encrypted SQLite database, demonstrating setup and data operations. |
ollama | Similarity search with Ollama and Mistral. |
Visit our official documentation.
Join us on Discord to get help using this SDK. Report security issues via email.
See the contributing guide to learn how to get involved.