Turso Database is an in-process database engine built from the ground up using Rust. Designed for full compatibility with SQLite, it supports the same SQL dialect and file format, while also implementing key portions of the SQLite C API.
Key features:
io_uring on Linux.To install the latest turso CLI, execute the following command:
curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/tursodatabase/turso/releases/latest/download/turso_cli-installer.sh | sh
Once installed, you can launch the shell to run SQL queries:
Turso
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database
turso> CREATE TABLE users (id INT, username TEXT);
turso> INSERT INTO users VALUES (1, 'alice');
turso> INSERT INTO users VALUES (2, 'bob');
turso> SELECT * FROM users;
1|alice
2|bob
To build and run the latest development version from source:
cargo run
Add the dependency to your project:
cargo add turso
Usage example:
let db = Builder::new_local("sqlite.db").build().await?;
let conn = db.connect()?;
let res = conn.query("SELECT * FROM users", ()).await?;
Install the package via npm:
npm i @tursodatabase/turso
Example usage:
import { Database } from '@tursodatabase/turso';
const db = new Database('sqlite.db');
const stmt = db.prepare('SELECT * FROM users');
const users = stmt.all();
console.log(users);
Install the library using pip:
pip install pyturso
Example usage:
import turso
con = turso.connect("sqlite.db")
cur = con.cursor()
res = cur.execute("SELECT * FROM users")
print(res.fetchone())
LD_LIBRARY_PATH to include the Turso target directory:cargo build --package limbo-go
export LD_LIBRARY_PATH=/path/to/limbo/target/debug:$LD_LIBRARY_PATH
go get github.com/tursodatabase/turso
go install github.com/tursodatabase/turso
Example usage:
import (
"database/sql"
_ "github.com/tursodatabase/turso"
)
conn, _ = sql.Open("sqlite3", "sqlite.db")
defer conn.Close()
stmt, _ := conn.Prepare("select * from users")
defer stmt.Close()
rows, _ = stmt.Query()
for rows.Next() {
var id int
var username string
_ := rows.Scan(&id, &username)
fmt.Printf("User: ID: %d, Username: %s\n", id, username)
}
Turso Database provides integration via JDBC. For detailed setup and usage instructions, please refer to bindings/java/README.md.
While both projects aim to modernize the SQLite ecosystem, they use different approaches. Turso Database is a complete rewrite of SQLite in Rust. This allows for a next-generation engine designed for open contributions and future-facing features like native asynchronous support and vector search. In contrast, libSQL evolves the SQLite platform by forking the original C codebase rather than rebuilding it.
LiveMCPBench: Benchmark AI Agents on Real-World MCP Tool Tasks
Kode CLI: A Multi-Model AI Terminal Assistant for Smarter Development
Parlant: Build AI Agents That Follow Rules, Not Prompts
AhaSpeed VPN Review: High-Speed Performance, No Ads, and Unlimited Bandwidth
BuildAdmin: Vue3 ThinkPHP8 Panel With Visual CRUD Builder
Windows-Use: Enabling LLMs to Control the Windows GUI Without Vision Models
Trae Agent: Run Complex Dev Workflows With Plain English Prompts
Easy-AI-CodeReview: LLM-Powered Automated Code Review for GitLab
LeRobot: Train Real-World Robots with Hugging Face's PyTorch Library
HunyuanVideo-Avatar: Emotion-Controlled Multi-Person Video Generation
Tabby Terminal: A Cross-Platform Emulator with SSH, Serial Support, and Plugins
MCP SuperAssistant: Bring MCP Tools to ChatGPT, Gemini, and Beyond