// the find
simonw/datasette
An open source multi-tool for exploring and publishing data
Datasette turns any SQLite database into a browsable website and JSON/CSV API with zero code — point it at a .db file and get filtering, faceting, full-text search, and a query editor for free. It's aimed at data journalists, archivists, and anyone who needs to publish a dataset without standing up a backend, and it doubles as a plugin platform (500+ plugins) for people who want to extend that base.
The plugin hook system (hookspecs.py) is the real architecture here — auth, rendering, permissions, and even SQL functions are all pluggable, which is why the ecosystem around it (datasette-vega, datasette-cluster-map, etc.) is so large. `datasette publish` to Cloud Run/Heroku is genuinely useful: it bakes the SQLite file into a Docker image so you get a real deployed API with one command. SQLite-first design means read replication and backups are just file copies, and the immutable-mode flag lets you serve a DB safely without lock contention.
It's fundamentally single-writer SQLite — the `execute_write.py` view exists but this is not a multi-writer production database backend, and people occasionally try to use it as one. The permissions system (default_permissions/) is powerful but has enough moving parts (actor, restrictions, root, tokens) that getting auth right for a public instance takes real reading, not a five-minute setup. Faceting and full-text search are SQLite FTS under the hood, so performance on large tables depends entirely on you having built the right indexes beforehand — there's no query planner hand-holding.