Repolode
simonw

simonw/datasette

An open source multi-tool for exploring and publishing SQLite and other data as an interactive website with a JSON API.

Stars
11,544
Forks
951
Open issues
703
Last commit
12 hours ago

What is it?

Datasette takes data of any shape or size and publishes it as an interactive, explorable website along with a matching API. It is aimed at data journalists, museum curators, archivists, local governments, scientists and researchers who want to share datasets with the public.

You point the command-line tool at one or more SQLite database files and it starts a local web server with a browsable interface for tables and queries. Metadata such as title, license and source can be added through a metadata.json file, and that information is shown on the site and included in API output.

Datasette can be installed with Homebrew, pip or pipx, and it runs on Python 3.11 or higher. The publish command can package databases into a Docker image and deploy it to Heroku or Google Cloud Run. A separate project, Datasette Lite, runs the tool entirely in the browser via WebAssembly.

Key features

  • 01Turns SQLite database files into a browsable web interface
  • 02Provides an automatic JSON API for the underlying data
  • 03Supports adding license and source metadata via metadata.json
  • 04Can package and deploy databases to Heroku or Google Cloud Run
  • 05Runs entirely in the browser through Datasette Lite

Use cases

  • Publishing a public dataset as an explorable website with an API for researchers or journalists
  • Quickly browsing a local SQLite file such as application or browser history data
  • Sharing archival or museum collection data with the public
  • Deploying small read-only databases to a cloud platform with a single command

Quick start

  1. 1

    Install Datasette on a Mac with Homebrew

    brew install datasette
  2. 2

    Install Datasette with pip

    pip install datasette
  3. 3

    Start the web server against a SQLite database

    datasette serve path/to/database.db
  4. 4

    Open http://localhost:8001/ in your browser

Things to know

  • Requires Python 3.11 or higher.

In collections

Topics

FAQ

What is datasette?
An open source multi-tool for exploring and publishing SQLite and other data as an interactive website with a JSON API. Datasette takes data of any shape or size and publishes it as an interactive, explorable website along with a matching API. It is aimed at data journalists, museum curators, archivists, local governments, scientists and researchers who want to share datasets with the public.
Is datasette free to use? What license does it have?
datasette is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is datasette still maintained?
Actively maintained. The last commit to datasette was on Nov 6, 2026.
What can I use datasette for?
Publishing a public dataset as an explorable website with an API for researchers or journalists Quickly browsing a local SQLite file such as application or browser history data Sharing archival or museum collection data with the public Deploying small read-only databases to a cloud platform with a single command
How do I install datasette?
Install Datasette on a Mac with Homebrew: brew install datasette Install Datasette with pip: pip install datasette Start the web server against a SQLite database: datasette serve path/to/database.db Open http://localhost:8001/ in your browser
Where can I get datasette?
The source code and installation instructions are on GitHub: https://github.com/simonw/datasette

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects