Annotated version of this introductory video
Datasette is a tool for exploring and publishing data. It helps people take data of any shape, analyze and explore it, and publish it as an interactive website and accompanying API.
Datasette is aimed at data journalists, museum curators, archivists, local governments, scientists, researchers and anyone else who has data that they wish to share with the world. It is part of a wider ecosystem of 40 tools and 104 plugins dedicated to making working with structured data as productive as possible.
New: Datasette Desktop - a macOS desktop application for easily running Datasette on your own computer!
Import data from CSVs, JSON, database connections and more. Datasette will automatically show you patterns in your data and help you share your findings with your colleagues.
datasette publish lets you instantly publish your data to hosting providers like Google Cloud Run, Heroku or Vercel.
Spin up a JSON API for any data in minutes. Use it to prototype and prove your ideas without building a custom backend.
2nd December 2022 #
Datasette’s new JSON write API: The first alpha of Datasette 1.0 introduces the new write API shipped in the first of the Datasette 1.0 alpha series of releases, including detailed descriptions of two demos that show how the API can be used.
27th October 2022 #
8th September 2022 #
Exploring the training data behind Stable Diffusion describes the process of building and deploying a 4GB searchable SQLite database using Datasette, starting with Parquet data that was used to train the Stable Diffusion image generation model. See also Exploring 12 Million of the 2.3 Billion Images Used to Train Stable Diffusion’s Image Generator.
21st August 2022 #
Analyzing ScotRail audio announcements with Datasette—from prototype to production provides a detailed walk-through of the process of constructing an initial rapid prototype using Datasette Lite, extending it with a custom plugin and then deploying it as a full Datasette instance using GitHub Actions and Vercel.
14th August 2022 #
31st July 2022 #
New tutorial and accompanying ten minute video: Cleaning data with sqlite-utils and Datasette.
30th June 2022 #
s3-ocr is a new tool which can run OCR (via Amazon Textract) against every PDF file in an S3 bucket and write the results to a searchable SQLite database, ready to use with Datasette. Read more about it in s3-ocr: Extract text from PDF files stored in an S3 bucket.
5th May 2022 #
Datasette Lite is a new way to run Datasette: entirely in your browser, thanks to the Pyodide project which provides a full Python environment compiled to WebAssembly. You can use it to explore any SQLite database file hosted on a CORS-enabled static hosting provider, which includes GitHub and GitHub Pages. Read more about this project in Datasette Lite: a server-side Python web application running in a browser.
12th April 2022 #
Datasette for geospatial analysis describes how Datasette can be used in conjunction with SpatiaLite to work with geospatial data, including details of several geospatial plugins and tools from the Datasette ecosystem.
23rd March 2022 #
Datasette 0.61 introduces two potentially backwards-incompatible changes in preparation for the forthcoming 1.0 release: hashed URL mode has been moved to a new plugin, and the way URLs are generated to tables or databases containing special characters such as
/ has changed. Datasette 0.61.1 fixes a small bug in that release. See also the annotated release notes for these two versions.
27th February 2022 #
The first two of an ongoing series of official Datasette tutorials are now available: Exploring a database with Datasette introduces the Datasette web interface and shows how it can be used to explore a new database, and Learn SQL with Datasette provides an introduction to SQL using Datasette as a learning environment.
13th January 2022 #
Datasette 0.60 adds a new
filters_from_request plugin hook, new internal methods for writing to the database, better performance and various faceting improvements. See also the annotated release notes.
5th December 2021 #
14th October 2021 #
Datasette 0.59 adds column descriptions in metadata, a new
register_command plugin hook, enhanced
--cors support and a bunch of other fixes and documentation improvements. See also the annotated release notes.
8th September 2021 #
Datasette Desktop is a new macOS desktop application version of Datasette, which supports opening SQLite files on your computer, importing CSV files and installing plugins. I wrote more about how it works in Datasette Desktop—a macOS desktop application for Datasette.
2nd December 2022
datasette-public 0.2.2 - Make specific Datasette tables visible to the public
- Plugin can now be used to make SQL views public in addition to SQL tables. #5
datasette-ephemeral-tables 0.2.2 - Provide tables that expire after a time limit
- Fix for bug where tables with names that contained hyphens were not correctly dropped. #5
1st December 2022
datasette 1.0a1 - An open source multi-tool for exploring and publishing data
- Write APIs now serve correct CORS headers if Datasette is started in
--corsmode. See the full list of CORS headers in the documentation. (#1922)
- Fixed a bug where the
_memorydatabase could be written to even though writes were not persisted. (#1917)
- The https://latest.datasette.io/ demo instance now includes an
ephemeraldatabase which can be used to test Datasette's write APIs, using the new datasette-ephemeral-tables plugin to drop any created tables after five minutes. This database is only available if you sign in as the root user using the link on the homepage. (#1915)
- Fixed a bug where hitting the write endpoints with a
GETrequest returned a 500 error. It now returns a 405 (method not allowed) error instead. (#1916)
- The list of endpoints in the API explorer now lists mutable databases first. (#1918)
"replace": trueoptions for the insert API are now documented. (#1924)
30th November 2022
datasette-ephemeral-tables 0.2.1 - Provide tables that expire after a time limit
- Table page now shows a countdown timer indicating how long until the table expires. #3
29th November 2022
- Initial release. Plugin creates an
ephemeralnamed in-memory database - any tables added to that database will be automatically dropped after 5 minutes (configurable). #1
datasette 1.0a0 - An open source multi-tool for exploring and publishing data
This first alpha release of Datasette 1.0 introduces a brand new collection of APIs for writing to the database (#1850), as well as a new API token mechanism baked into Datasette core. Previously, API tokens have only been supported by installing additional plugins.
This is very much a preview: expect many more backwards incompatible API changes prior to the full 1.0 release.
Signed API tokens
/-/create-tokenpage allowing authenticated users to create signed API tokens that can act on their behalf, see API Tokens. (#1852)
datasette create-tokencommand for creating tokens from the command line: datasette create-token.
- New allow_signed_tokens setting which can be used to turn off signed token support. (#1856)
- New max_signed_tokens_ttl setting for restricting the maximum allowed duration of a signed token. (#1858)
- New API explorer at
/-/apifor trying out the API. (#1871)
/db/-/createAPI for Creating a table. (#1882)
/db/table/-/insertAPI for Inserting rows. (#1851)
/db/table/-/dropAPI for Dropping tables. (#1874)
/db/table/pk/-/updateAPI for Updating a row. (#1863)
/db/table/pk/-/deleteAPI for Deleting a row. (#1864)
27th November 2022
datasette-export 0.1a0 - Export pages from Datasette to files on disk
- Initial alpha release.
datasette exportcommand for exporting paths to files on disk. #1
22nd November 2022
dclient 0.1a2 - A client CLI utility for Datasette instances
19th November 2022
datasette-graphql 2.1.2 - Datasette plugin providing an automatic GraphQL API for your SQLite databases
- Fixed bug where columns with names starting with a double underscore would cause errors. #91
datasette 0.63.2 - An open source multi-tool for exploring and publishing data
- Fixed a bug in
datasette publish herokuwhere deployments failed due to an older version of Python being requested. (#1905)
datasette publish heroku --generate-dir <dir>option for generating a Heroku deployment directory without deploying it.
18th November 2022
datasette-edit-schema 0.5.2 - Datasette plugin for modifying table schemas
- Improved breadcrumbs for compatibility with Datasette 0.63+.
datasette-indieauth 1.2.2 - Datasette authentication using IndieAuth and RelMeAuth
- Fix breadcrumbs for compatibility with Datasette 0.63+.