datasette
An open source multi-tool for exploring and publishing data
What it is and what it does
Datasette is a command-line tool and web application framework that serves SQLite databases as interactive websites with built-in REST APIs. It eliminates the need to write custom web code: point it at a database file, and it automatically generates a browsable interface with search, filtering, and sorting, plus JSON endpoints for programmatic access. The tool is built on modern Python async infrastructure (uvicorn, asgiref) and includes templating (Jinja2), form handling (itsdangerous), and plugin support (pluggy).
It's designed for data journalists, researchers, archivists, and anyone publishing datasets—from CSV uploads to complex multi-table databases. Datasette can also publish databases to cloud platforms (Heroku, Google Cloud Run) via Docker, and offers a browser-based WebAssembly version (Datasette Lite) for client-side exploration. The project is actively developed, supports Python 3.9 through 3.14, and has a permissive Apache 2.0 license.
Use it for:
- Publish a CSV or SQLite database as a searchable, filterable website with zero custom backend code.
- Create a read-only REST API from an existing database for third-party integrations or data journalism.
- Deploy a data exploration interface to the cloud with a single command for sharing datasets with stakeholders.
- Build interactive dashboards for archival or museum collections without writing HTML or JavaScript.
- Analyze local application data (e.g., browser history, logs) through a web interface without manual SQL queries.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Datasette is a web server and CLI tool that transforms SQLite databases into interactive, queryable websites with a REST API, designed for exploring and publishing data without writing custom code.
Yes. Datasette is worth installing if you need to quickly publish or explore SQLite data as a web interface or API. It is actively maintained, has low install friction, carries a permissive license, and solves a real problem for data sharing and exploration. One known vulnerability (PYSEC-2023-154) exists; verify its severity and whether a patch is available before deploying to production.
Install
datasette on PyPI
pip
pip install datasetteuv
uv add datasettepoetry
poetry add datasetteInstalling datasette
Before you install
Installation is straightforward with low friction—a pure Python wheel with no compiled dependencies. The project is actively maintained with recent releases and strong community engagement (11383 GitHub stars), though it carries 20 runtime dependencies including web frameworks (uvicorn, asgiref) and utilities (click, Jinja2, PyYAML).
License in practice
Licensed under Apache License 2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—suitable for most projects including proprietary applications.
Quickstart
pip install datasette
datasette serve path/to/database.db
# Visit http://localhost:8001/ to explore the database interactively
Requires Python 3.9 or higher; SQLite database file must exist and be readable.
Verify before relying
- Performance characteristics and scalability limits for large databases are not documented in the fact sheet.
- Details on plugin/extension ecosystem and customization capabilities beyond the core tool.
- Specific remediation status and impact of PYSEC-2023-154 vulnerability.
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 20 — asgiref, click, click-default-group, Jinja2, hupper, httpx, pluggy, uvicorn, aiofiles, janus, asgi-csrf, PyYAML, mergedeep, itsdangerous, setuptools, pip, platformdirs, typing_extensions, flexcache, flexparser |
| Maintenance | actively maintained — 8 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 171,402/month — #10,368 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | 1 — PYSEC-2023-154 |
Evidence: datasette-0.65.3-py3-none-any.whl
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
sqlite-utilsCLI tool and Python library for creating,…
permissive · top 5,000 on PyPI
litecliA command-line client for SQLite databases with…
permissive · top 15,000 on PyPI
shillelaghShillelagh lets you query APIs, files,…
permissive · top 5,000 on PyPI
dash-tableProvides an interactive DataTable component for…
permissive · top 5,000 on PyPI
collate-data-diffCompares rows across two SQL databases or…
permissive · top 5,000 on PyPI
django-sql-explorerA Django-based SQL query editor and business…
permissive · top 15,000 on PyPI
django-data-browserProvides an interactive web interface for…
permissive · top 15,000 on PyPI
django-herokuConfigures Django applications for Heroku…
permissive · top 15,000 on PyPI
dtaleD-Tale is a Flask-backed web interface for…
copyleft · top 15,000 on PyPI
shot-scraperA CLI tool that automates taking screenshots of…
permissive · top 15,000 on PyPI