Repolode
tursodatabase

tursodatabase/turso

An in-process SQL database written in Rust, compatible with SQLite's dialect, file format and C API, with an experimental Postgres frontend.

Stars
24,937
Forks
1,474
Open issues
1,404
Last commit
4 hours ago

What is it?

Turso Database is an in-process SQL database written in Rust. It aims for compatibility with SQLite at the SQL dialect, file format and C API levels, so existing SQLite database files can be used directly. It is built on a virtual machine (VDBE) that compiles SQL into bytecode, the same general approach SQLite uses, and the project's goal is to let multiple SQL frontends share that core.

Beyond SQLite compatibility, the project offers BEGIN CONCURRENT with multi-version concurrency control, change data capture, asynchronous I/O on Linux via io_uring, and vector search with exact matching. Bindings are provided for Rust, JavaScript/WebAssembly, Python, Go, Java, and .NET, and the CLI includes an MCP server mode so AI assistants can query and modify a database. Postgres dialect and wire protocol support, encryption at rest, and full-text search are listed as experimental.

The project is not yet at version 1.0, and some SQLite compatibility gaps remain documented in its compatibility reference.

Key features

  • 01Compatible with SQLite SQL dialect, file format and C API
  • 02BEGIN CONCURRENT for higher write throughput via MVCC
  • 03Change data capture for tracking database changes
  • 04Asynchronous I/O on Linux using io_uring
  • 05Bindings for Rust, JavaScript, Python, Go, Java and .NET
  • 06Built-in MCP server mode for AI assistants

Use cases

  • Embedding a SQL database in an application without running a separate server
  • Migrating or extending an existing SQLite-based application in Rust
  • Letting AI assistants read and write a local database through MCP
  • Experimenting with Postgres-style SQL on an embedded engine

Quick start

  1. 1

    Run the official CLI install script from the README

  2. 2

    Launch the interactive shell

    tursodb
  3. 3

    Or add the Rust crate to your project

    cargo add turso

Things to know

  • Postgres compatibility, encryption at rest, full-text search and incremental computation are experimental features.
  • The project describes itself as still on its way to 1.0, so interfaces may change.

Topics

FAQ

What is turso?
An in-process SQL database written in Rust, compatible with SQLite's dialect, file format and C API, with an experimental Postgres frontend. Turso Database is an in-process SQL database written in Rust. It aims for compatibility with SQLite at the SQL dialect, file format and C API levels, so existing SQLite database files can be used directly. It is built on a virtual machine (VDBE) that compiles SQL into bytecode, the same general approach SQLite uses, and the project's goal is to let multiple SQL frontends share that core.
Is turso free to use? What license does it have?
turso is open source under the MIT license. Check the license terms before using it in commercial products.
Is turso still maintained?
Actively maintained. The last commit to turso was on Oct 21, 2026.
What can I use turso for?
Embedding a SQL database in an application without running a separate server Migrating or extending an existing SQLite-based application in Rust Letting AI assistants read and write a local database through MCP Experimenting with Postgres-style SQL on an embedded engine
How do I install turso?
Run the official CLI install script from the README Launch the interactive shell: tursodb Or add the Rust crate to your project: cargo add turso
Where can I get turso?
The source code and installation instructions are on GitHub: https://github.com/tursodatabase/turso

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects