libsql
libSQL is a fork of SQLite that is both Open Source, and Open Contributions.
An open source fork of SQLite maintained by Turso that adds remote hosting, embedded read replicas, and WebAssembly user-defined functions, extending SQLite beyond its original single-file design while accepting outside contributions.
libSQL is an open source fork of SQLite, the small embedded database that runs inside many phones, browsers, and apps. It is created and maintained by Turso. The point of forking is twofold. First, SQLite is open source but does not accept outside contributions, and the libSQL team wants a project where the community can send pull requests. Second, they want to grow it beyond what SQLite was originally designed for, adding modern features and pulling in third-party open source code where useful.
The headline additions over plain SQLite are an embedded replica system that lets your application carry a local replicated copy of a remote database for fast reads, and a separate libSQL server that exposes a SQLite-style database over the network, similar to how PostgreSQL or MySQL are accessed remotely. There are also smaller engine improvements: an extended ALTER TABLE that can modify column types, randomized ROWIDs, user-defined functions written in WebAssembly so they can be sandboxed, passing SQL text down to virtual tables, and a virtual write-ahead log interface.
libSQL ships official drivers for TypeScript, Rust and Go, with experimental drivers for Python and C. Several GUI tools, including Beekeeper Studio, Outerbase, TablePlus and libSQL Studio, can connect to it. The README is clear that libSQL inherits SQLite's single-writer limitation, and points new projects toward Turso's separate Rust rewrite if they need concurrent writes and offline sync. You'd use libSQL when you want SQLite that you can replicate, host remotely, or extend with WebAssembly functions. The primary language is C, with Rust used for tooling. The full README is longer than what was provided.
Where it fits
- Add a replicated local database to a mobile or desktop app so reads are instant even without an internet connection.
- Host a SQLite-style database over the network and connect to it from multiple services using the TypeScript or Go driver.
- Extend SQLite with a sandboxed WebAssembly user-defined function to run custom logic safely inside the database engine.
- Replace a plain SQLite file with a remote libSQL server so multiple services can share the same database.