Registry / web-framework / datasette

datasette

JSON →
library0.65.2pypypi✓ verified 90d ago

An open source multi-tool for exploring and publishing data, providing a web interface to SQLite databases. Current version 0.65.2, released regularly.

pip install datasette
INSTALL
IMPORT
SIG · DATASETTE
D
datasette
web-frameworkpythonv0.65.2
Install
3.9s avg
Import
444ms
Disk
34MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v0.65.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.460s · 31.4MB
glibc
py 3.10–3.95 runs
installs and imports cleanly · install 3.9s · import 0.428s · 33MB
34MB installed
● package 34MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

datasette
✓ import datasette
Direct import of the package; typical usage is via CLI or as a library

Basic usage: create a Datasette instance pointing to an existing SQLite database and serve it.

import datasette import asyncio async def quickstart(): app = datasette.Datasette(files=["my_database.db"]) await app.serve() asyncio.run(quickstart())
datasette --version
Debug
Known issues
breakingIn version 0.63, the `datasette publish cloudrun` command was removed. Use `datasette cloudrun` or `datasette publish fly` instead.
fix
Use `datasette cloudrun` or consider using `datasette publish fly` for deployment.
affects: >=0.63
deprecatedThe `--config` CLI flag is deprecated. Use `-c` or `--settings` in newer versions.
fix
Replace `--config myconfig.json` with `-c myconfig.json` or use `--settings`.
affects: >=0.60
gotchaDatasette uses asyncio; calling blocking functions will hang the server. Ensure all custom plugins and hooks are async.
fix
Define custom render functions and hooks as async functions (e.g., `async def render_custom(request, datasette)`).
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'asyncio'
Trying to import 'asyncio' which is a built-in module; error occurs if Python is too old (pre-3.3).
fix
Upgrade to Python 3.9+ as required by datasette; asyncio is part of the standard library.
datasette.exceptions.Error: No such table: ...
Database file does not contain the expected table, or the file path is incorrect.
fix
Verify the database file exists and contains the correct tables using `sqlite3 my.db .tables`.
Upgrade
Version history
0.65.2latest on PyPI · released Nov 5, 2025
Audit
Dependencies
sqlite-utilsoptionalOptional dependency for database management
Agent activity
5 hits · last 30 days
node
4
OpenAI (training)
1
Resources
datasette — pip install datasette · libregistry