Annotated version of this introductory video
Datasette is a tool for exploring and publishing data. It helps people take data of any shape or size, 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 tools and 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.
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.
28th July 2021 #
The Baked Data architectural pattern describes a pattern commonly used with Datasette where the content for a site is bundled inside a SQLite database file and included alongside templates and application code in a deployment to a serverless hosting provider.
15th July 2021 #
Datasette 0.58 has new plugin hooks, a huge performance improvement for faceting, support for Unix domain sockets and several other improvements. Read the annotated release notes for extra background and context on the release.
5th June 2021 #
Datasette 0.57 is out with an important security patch plus a number of new features and bug fixes. Datasette 0.56.1, also out today, provides the security patch for users who are not yet ready to upgrade to the latest version.
10th May 2021 #
Django SQL Dashboard is a new tool that brings a useful authenticated subset of Datasette to Django projects that are built on top of PostgreSQL.
28th March 2021 #
18th February 2021 #
Datasette 0.55 adds support for cross-database SQL queries. You can now run
datasette --crossdb one.db two.db and then run queries that join data from tables in both of those database files - see cross-database queries in the documentation for more details.
sqlite-utils 3.6 adds similar features: a
db.attach(alias, filepath) Python API method and
--attach alias filepath.db command-line option, both for attaching additional databases in order to execute cross-database queries.
7th February 2021 #
This new Video introduction to Datasette and sqlite-utils provides a full introduction to both Datasette and sqlite-utils in 17 minutes, including a live demo of creating a database from a CSV file and publishing it to Google Cloud Run.
3rd February 2021 #
Serving map tiles from SQLite with MBTiles and datasette-tiles. datasette-tiles is a new plugin that adds a tile server to Datasette, serving map tiles from databases that conform to the MBTiles specification. download-tiles is a tool for building these databases, and datasette-basemap is a plugin that bundles a 22MB SQLite database with OpenStreetMap tiles covering zoom levels 0-6 for the entire world.
25th January 2021 #
Datasette 0.54 is out today. Highlights include the new
24th January 2021 #
Drawing shapes on a map to query a SpatiaLite database introduces the new datasette-leaflet-freedraw plugin, which adds support for drawing shapes on a map to specify a GeoJSON MultiPolygon that can be used to query SpatiaLite databases.
7th January 2021 #
19th December 2020 #
New on this site: a Datasette Tools directory and a search engine that covers documentation, tools, plugins, releases and more. The search engine uses Dogsheep Beta - I wrote about how that works in Building a search engine for datasette.io.
13th December 2020 #
I wrote more about how this site works in Weeknotes: datasette.io, an official project website for Datasette.
24th October 2021
18th October 2021
- Fixed compatibility with Datasette 0.59. #49
15th October 2021
paramplugin configuration option for specifying a query string parameter that can be used instead of the
Authorization: Bearerheader - thanks, Jannis Leidel. (#5)
14th October 2021
- Columns can now have associated metadata descriptions in
metadata.json, see Column descriptions. (#942)
- New register_commands() plugin hook allows plugins to register additional Datasette CLI commands, e.g.
datasette mycommand file.db. (#1449)
?_facet_size=maxto a table page now shows the number of unique values in each facet. (#1423)
- Upgraded dependency httpx 0.20 - the undocumented
allow_redirects=parameter to datasette.client is now
follow_redirects=, and defaults to
Falsewhere it previously defaulted to
--corsoption now causes Datasette to return the
Access-Control-Allow-Headers: Authorizationheader, in addition to
Access-Control-Allow-Origin: *. (#1467)
- Code that figures out which named parameters a SQL query takes in order to display form fields for them is no longer confused by strings that contain colon characters. (#1421)
datasette.databasesproperty is now a documented API. (#1443)
base.htmltemplate now wraps everything other than the
<div class="not-footer">element, to help with advanced CSS customization. (#1446)
- The render_cell() plugin hook can now return an awaitable function. This means the hook can execute SQL queries. (#1425)
- register_routes(datasette) plugin hook now accepts an optional
hide_sqlcanned query option for defaulting to hiding the SQL quey used by a canned query, see Additional canned query options. (#1422)
--cpuoption for datasette publish cloudrun. (#1420)
- If Rich is installed in the same virtual environment as Datasette, it will be used to provide enhanced display of error tracebacks on the console. (#1416)
datasette.utilsparse_metadata(content) function, used by the new datasette-remote-metadata plugin, is now a documented API. (#1405)
- Fixed bug where
?_next=x&_sort=rowidcould throw an error. (#1470)
- Column cog menu no longer shows the option to facet by a column that is already selected by the default facets in metadata. (#1469)
23rd September 2021
- Initial release.
22nd September 2021
- Markdown image tags of the form
![alt text](URL-to-image)are now supported by default. This change could break backwards-compatibility for some installations, hence the 2.0 version number. #10
21st September 2021
twitter-to-sqlite importnow imports
- Small fixes for
twitter-to-sqlite importreflecting changed filenames in the Twitter export.
- Fix for remaining
since_idbug, thanks Ruben Vermeersch! #58
13th September 2021
- Fixed bug where application would not start without a working internet connection. #115
- The "Debug -> Open Chromium DevTools" menu item no longer shows an error if no windows are focused. #113
- Fixed bug where the
datasette-leafletplugin could be uninstalled despite being automatically re-installed. #118
- Time limit for facet calculations increased from 1 second to 3 seconds. #114
The first major update to Datasette Desktop. New features include:
- A new plugin directory for installing new plugins and upgrading or uninstalling existing ones. Open it using the "Plugins -> Install and Manage Plugins..." menu item. #74
- Five plugins are now installed by default: datasette-vega, datasette-cluster-map, datasette-pretty-json, datasette-edit-schema and datasette-configure-fts. #81
- The application loading screen now shows a log of what is going on. #70
- The welcome screen now invites you to try out the application by opening interesting example CSV files, taking advantage of the new "File -> Open CSV from URL..." feature. #91
- .db and .csv files can now be opened in Datasette starting from the Finder using "Right Click -> Open With -> Datasette". #40
- Recently opened
.csvfiles can now be accessed from the new "File -> Open Recent" menu. Thanks, Kapilan M! #54
- A new Debug menu can be enabled using Datasette -> About Datasette -> Enable Debug Menu".
See Datasette Desktop 0.2.0: The annotated release notes for more background on the new features and how they work.
If you have already installed Datasette you should delete
Datasette from your
/Applications folder before installing this.