whatisgithub

What is datasette?

simonw/datasette — explained in plain English

Analysis updated 2026-06-24

11,055PythonAudience · dataComplexity · 2/5Setup · easy

In one sentence

Datasette turns any SQLite database file into a browsable website and JSON API with a single command, no web development required, so you can share datasets publicly in minutes.

Mindmap

mindmap
  root((Datasette))
    What it does
      SQLite to website
      JSON API
      One command
    Target audience
      Data journalists
      Archivists
      Scientists
    Deployment
      Local server
      Heroku
      Google Cloud Run
      Browser via WASM
    Features
      Metadata file
      Plugin ecosystem
      Datasette Lite
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Publish a government or research dataset as a public website that anyone can browse and filter without coding.

USE CASE 2

Explore your browser history or any SQLite file interactively in the browser with no setup beyond pip install.

USE CASE 3

Deploy a searchable JSON API from a CSV or spreadsheet by converting it to SQLite and running one command.

USE CASE 4

Share archival data with a permanent public URL by deploying to Google Cloud Run or Heroku in minutes.

What is it built with?

PythonSQLiteWebAssembly

How does it compare?

simonw/datasetteaws/chalicewandb/wandb
Stars11,05511,04611,068
LanguagePythonPythonPython
Setup difficultyeasymoderateeasy
Complexity2/53/53/5
Audiencedatadeveloperdata

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires Python 3.8+ and any SQLite file, point Datasette at the file with one command and a local website starts immediately.

So what is it?

Datasette is an open source tool for exploring and sharing data. You give it a SQLite database file, and it instantly turns that data into a browsable website and a JSON API that others can query. The project is aimed at data journalists, archivists, museum curators, local governments, scientists, and anyone else who has a dataset they want to make accessible to others without building a custom web application. Installation is straightforward. On a Mac you can use Homebrew. Otherwise you install it via pip, which is the standard Python package installer. It requires Python 3.8 or newer. Docker is also supported for those who prefer containers. Once installed, you point it at a database file with one command and a local web server starts on port 8001, ready to browse in any web browser. As a quick example, the README shows that you can point Datasette at your Google Chrome browser history file on a Mac, and it will give you a browsable table of your download history. This shows how the tool works on any SQLite file, not just purpose-built datasets. You can attach a metadata file to control what title, license, and data source information appears on the published site. This is useful when sharing data publicly, so visitors know where the data came from and under what terms they can use it. A single publish command can deploy the database plus the Datasette application to hosting services like Heroku or Google Cloud Run, giving you a public URL within minutes. There is also a version called Datasette Lite that runs entirely inside a web browser using WebAssembly, with no Python server required at all. The project has a Discord community, a newsletter, and extensive documentation at docs.datasette.io for those who want to go deeper with configuration, plugins, or custom deployments.

Copy-paste prompts

Prompt 1
I have a SQLite database of city budget data. Write a Datasette metadata.yml file that adds a title, description, and data source link so visitors know where the data came from.
Prompt 2
Show me how to deploy a Datasette instance with a local SQLite file to Google Cloud Run so I get a permanent public URL.
Prompt 3
Using Datasette Lite, embed a read-only view of a public SQLite dataset in a static HTML page with no server required.
Prompt 4
Write a Datasette custom SQL query that groups rows by month, counts entries per month, and formats the result as a chart using the built-in Vega plugin.
Prompt 5
I want to restrict certain Datasette tables to authenticated users only. Walk me through using the datasette-auth-passwords plugin to add login protection.

Frequently asked questions

What is datasette?

Datasette turns any SQLite database file into a browsable website and JSON API with a single command, no web development required, so you can share datasets publicly in minutes.

What language is datasette written in?

Mainly Python. The stack also includes Python, SQLite, WebAssembly.

How hard is datasette to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is datasette for?

Mainly data.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.