skillfed

datasette

An open source multi-tool for exploring and publishing data

datasette v0.65.3 171.4K downloads/30d#10,368 on PyPI11,383
Permissive license Apache License, Version 2.0 Active released

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 datasette

uv

uv add datasette

poetry

poetry add datasette

Installing 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

Development Status :: 4 - BetaFramework :: DatasetteIntended Audience :: DevelopersIntended Audience :: End Users/DesktopIntended Audience :: Science/ResearchProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Database

Tags

sqlite web interfacedata exploration toolpublish database as apiinteractive data dashboardcsv to web appdatabase publishingdata sharing platform
data-publishingsqlite-toolsrest-api-generator

More Database packages