gitmyhub

datasette

Python ★ 11k updated 17h ago

An open source multi-tool for exploring and publishing data

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.

PythonSQLiteWebAssemblysetup: easycomplexity 2/5

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.

Where it fits