Esta página se muestra en inglés. Una traducción al español está en curso.
ScriptsMay 11, 2026·4 min de lectura

Datasette — Explore SQLite Data as Web UI + JSON API

Datasette turns any SQLite database into a browseable web UI + JSON API in one command. Publish to Vercel/Fly.io. Faceted + full-text search.

Introducción

Datasette is Simon Willison's open-source tool that turns any SQLite database into an instantly browseable web UI plus a full JSON API. Faceted filters, full-text search, pluggable rendering, and one-command publishing to Vercel, Fly.io, or Cloud Run. Best for: open-data publishing, internal data exploration, journalism investigations, anywhere CSV-as-tables beats hand-building dashboards. Works with: any SQLite file (or CSV via sqlite-utils ingestion). Setup time: 2 minutes.


Install + run

pip install datasette
datasette serve fixtures.db --host 0.0.0.0 --port 8001
# open http://localhost:8001

Publish to the cloud

# Vercel
datasette publish vercel fixtures.db --project=my-data

# Fly.io
datasette publish fly fixtures.db --app=my-data

# Cloud Run
datasette publish cloudrun fixtures.db --service=my-data

JSON API on every table

curl http://localhost:8001/fixtures/products.json | jq '.rows[0]'
# Filters, sort, search:
curl 'http://localhost:8001/fixtures/products.json?category=Electronics&_sort_desc=price&_size=20'
# Full-text search:
curl 'http://localhost:8001/fixtures/products.json?_search=laptop'

Useful plugins

Plugin Adds
datasette-vega Charts directly from query results
datasette-auth-github GitHub OAuth gate
datasette-block-robots robots.txt blocking
datasette-render-images Inline image preview from blob columns
datasette-search-all Cross-table search

Why Simon's tool stack is influential

Datasette has 9,700+ GitHub stars, powers public data portals from government and journalism orgs, and is the second-most-cited tool on simonwillison.net behind the LLM CLI.


FAQ

Q: Can it handle Postgres, not just SQLite? A: Not directly — Datasette is SQLite-first by design. For Postgres, use db-to-sqlite to mirror a subset, or use Datasette's plugin datasette-postgres for read-only views. Simon's stance: SQLite is enough for 95% of data publishing cases.

Q: How does it differ from Streamlit or Metabase? A: Datasette is read-only by default, no JS to write, generates clean URLs for every row/filter (perfect for sharing). Streamlit is a Python app builder; Metabase is a self-hosted BI. Datasette is the tightest tool when 'just let me share this table' is the actual need.

Q: Plugins or full custom UI? A: Both. Plugins extend rendering, auth, and query types via a documented API. For deeper customization, Datasette ships a Jinja-overridable template system. Most teams never need more than the built-in UI + 2-3 plugins.


Quick Use

  1. pip install datasette
  2. datasette serve your.db — UI on localhost:8001
  3. datasette publish vercel your.db to ship a public read-only data portal

Intro

Datasette is Simon Willison's open-source tool that turns any SQLite database into an instantly browseable web UI plus a full JSON API. Faceted filters, full-text search, pluggable rendering, and one-command publishing to Vercel, Fly.io, or Cloud Run. Best for: open-data publishing, internal data exploration, journalism investigations, anywhere CSV-as-tables beats hand-building dashboards. Works with: any SQLite file (or CSV via sqlite-utils ingestion). Setup time: 2 minutes.


Install + run

pip install datasette
datasette serve fixtures.db --host 0.0.0.0 --port 8001
# open http://localhost:8001

Publish to the cloud

# Vercel
datasette publish vercel fixtures.db --project=my-data

# Fly.io
datasette publish fly fixtures.db --app=my-data

# Cloud Run
datasette publish cloudrun fixtures.db --service=my-data

JSON API on every table

curl http://localhost:8001/fixtures/products.json | jq '.rows[0]'
# Filters, sort, search:
curl 'http://localhost:8001/fixtures/products.json?category=Electronics&_sort_desc=price&_size=20'
# Full-text search:
curl 'http://localhost:8001/fixtures/products.json?_search=laptop'

Useful plugins

Plugin Adds
datasette-vega Charts directly from query results
datasette-auth-github GitHub OAuth gate
datasette-block-robots robots.txt blocking
datasette-render-images Inline image preview from blob columns
datasette-search-all Cross-table search

Why Simon's tool stack is influential

Datasette has 9,700+ GitHub stars, powers public data portals from government and journalism orgs, and is the second-most-cited tool on simonwillison.net behind the LLM CLI.


FAQ

Q: Can it handle Postgres, not just SQLite? A: Not directly — Datasette is SQLite-first by design. For Postgres, use db-to-sqlite to mirror a subset, or use Datasette's plugin datasette-postgres for read-only views. Simon's stance: SQLite is enough for 95% of data publishing cases.

Q: How does it differ from Streamlit or Metabase? A: Datasette is read-only by default, no JS to write, generates clean URLs for every row/filter (perfect for sharing). Streamlit is a Python app builder; Metabase is a self-hosted BI. Datasette is the tightest tool when 'just let me share this table' is the actual need.

Q: Plugins or full custom UI? A: Both. Plugins extend rendering, auth, and query types via a documented API. For deeper customization, Datasette ships a Jinja-overridable template system. Most teams never need more than the built-in UI + 2-3 plugins.


Source & Thanks

Built by Simon Willison. Licensed under Apache-2.0.

simonw/datasette — ⭐ 9,700+

🙏

Fuente y agradecimientos

Built by Simon Willison. Licensed under Apache-2.0.

simonw/datasette — ⭐ 9,700+

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados