rusqlite

An ergonomic, safe Rust wrapper around SQLite with typed rows and prepared statement caching.

Library
Cargo
v0.40.2
4,446 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
88 /100 Excellent
Development Activity 96
Maintenance 84
Community 72
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
86 /100 Excellent
Architecture 88
Code Quality 90
Innovation 82
Learning Curve 85

rusqlite is the de facto standard Rust binding for SQLite, wrapping the C API in a safe, idiomatic interface built on top of the companion libsqlite3-sys crate. It exposes connections, prepared statements, transactions, and typed row/parameter conversion via FromSql/ToSql traits, letting applications read and write SQLite databases without hand-rolling FFI calls.

The crate is feature-gated so consumers only pay for what they use: optional support for blobs, backups, user-defined functions, collations, virtual tables, tracing hooks, and a bundled feature that compiles and statically links an up-to-date SQLite from source, sidestepping mismatched system library versions. This design has made it the go-to embedded-database driver across CLI tools, desktop apps, and services built in Rust.

What You Get

  • A safe Connection type wrapping SQLite’s C API with automatic resource cleanup
  • Typed row and parameter conversion via FromSql/ToSql, including support for chrono, time, jiff, uuid, and serde_json types behind feature flags
  • Prepared statement execution and caching for repeated queries
  • Transactions and savepoints with RAII-style commit/rollback semantics
  • A bundled feature that compiles SQLite (or SQLCipher) from source, avoiding system library version mismatches
  • Optional support for blobs, online backup, user-defined functions, collations, virtual tables, and tracing/profiling hooks

Common Use Cases

  • Embedding a zero-configuration relational database in CLI tools and desktop applications
  • Local caching or offline-first data storage for services that sync to a remote database
  • Prototyping data models with a real SQL engine before migrating to Postgres/MySQL
  • Building custom SQLite extensions or virtual tables directly in Rust

Under The Hood

Architecture — rusqlite is a thin, safe façade over libsqlite3-sys, a sibling crate in the same Cargo workspace that generates raw FFI bindings to SQLite’s C API. Connection wraps a raw sqlite3* handle (inner_connection.rs), Statement/raw_statement.rs wrap prepared statements, and row.rs/column.rs provide zero-copy row access with lazy column decoding. Unsafe FFI calls are isolated to a small surface (errmsg_to_string, unsafe impl Send for Connection, blob/backup/session modules) so application code never touches raw pointers directly. Tech Stack — pure Rust (99.5% of the codebase) targeting the 2024 edition, with the bundled feature invoking the cc crate to compile SQLite/SQLCipher from vendored C source at build time; optional integrations add chrono, time, jiff, uuid, and serde_json conversions behind Cargo features so unused dependencies aren’t compiled in. Code Quality — the tests/ directory and inline #[test] modules throughout src/ cover connection lifecycle, transactions, virtual tables, and extension loading; CI badges (GitHub Actions, AppVeyor, Codecov, deps.rs) indicate active cross-platform testing and dependency monitoring. Errors are modeled via a dedicated error.rs with a rich Error enum rather than panics, and the crate has maintained API stability across 40+ releases since 2014. API Design — the API mirrors rust-postgres idioms (query_map, execute, positional/named parameters via tuples or &[&dyn ToSql]), keeping the learning curve low for Rust developers already familiar with that ecosystem; the README’s quickstart example demonstrates a working CREATE/INSERT/SELECT round-trip in under 20 lines, and cargo feature flags let users opt into exactly the surface area (blobs, hooks, vtab, bundled builds) their project needs.

Used by 22 apps in this directory

Rust
56%
Other

Jan

AI Assistants

45,052

Run LLMs 100% locally with full privacy, or connect to cloud AI — your machine, your data, your control.

View details
90
Repo Health
81
Technical
65
Dependency
Built with
Rust 56%
TypeScript 40%
Updated 6 days ago
TypeScript
44%
MIT

Kuku

Note Taking

230

A local-first, open-source Markdown knowledge workspace for macOS — plain files, personal wiki and Second Brain workflows, AI-assisted diffs, and encrypted sync, built as an Obsidian alternative.

View details
77
Repo Health
67
Technical
67
Dependency
Built with
TypeScript 44%
Rust 41%
Updated 1 weeks ago
JavaScript
55%
Other

Lokus

Knowledge Management · Note Taking

829

Local-first note-taking with graph view, canvas & AI plugins—your Markdown files, zero telemetry, blazing-fast Rust performance.

View details
75
Repo Health
75
Technical
64
Dependency
Built with
JavaScript 55%
HTML 21%
Rust 12%
Updated 2 months ago
Rust
86%
Apache 2.0

mesh-llm

AI Agents · AI Development

3,551

Mesh LLM pools GPUs and memory across every machine you own into one OpenAI-compatible API, so agents tap distributed compute instead of a single GPU box or a metered cloud bill.

View details
85
Repo Health
91
Technical
69
Dependency
Built with
Rust 86%
TypeScript 10%
Updated 6 days ago
Rust
43%
BSD 3

MicroBin

File Storage

4,622

A self-contained, encrypted paste bin and file-sharing app in Rust with animal-name URLs, burn-after-read, and one-command Docker deployment.

View details
53
Repo Health
67
Technical
71
Dependency
Built with
Rust 43%
HTML 28%
JavaScript 20%
Updated 1 months ago
Rust
59%
GPL 3.0

openfootmanager

Game Development

1,161

A free and open source football management simulation game built with Rust and Tauri, inspired by Football Manager.

View details
94
Repo Health
79
Technical
73
Dependency
Built with
Rust 59%
TypeScript 40%
Updated 1 weeks ago
Python
73%
AGPL 3.0

OpenViking

AI Development · AI Memory · Databases

40,705

An open-source context database that gives AI agents a unified filesystem for memory, resources, and skills with hierarchical tiered retrieval.

View details
85
Repo Health
75
Technical
64
Dependency
Built with
Python 73%
TypeScript 12%
Rust 11%
Updated 6 days ago
Rust
72%
Apache 2.0

Rivet

AI Agents · Developer Tools

6,326

Stateful actors as a primitive for AI agents, real-time collaboration, and durable execution — with in-memory state, WebSockets, queues, and scheduling built in.

View details
87
Repo Health
81
Technical
64
Dependency
Built with
Rust 72%
TypeScript 25%
Updated 6 days ago
Rust
79%
AGPL 3.0

Spacedrive

Collaboration · File Storage

39,292

One file manager for all your devices and clouds — powered by a Virtual Distributed File System built in Rust.

View details
84
Repo Health
84
Technical
63
Dependency
Built with
Rust 79%
TypeScript 18%
Updated 2 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers