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 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.
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.
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.
10th December 2020 #
Datasette 0.53 -
datasette serve --create option,
?column__arraynotcontains= table filter,
?_header=off CSV option and updated links to reflect the new project website.
New Datasette project website - three years after the first release Datasette finally has its own website! The site includes project news, a plugin directory, use-cases and examples. The site is implemented using Datasette custom templates, and the source code is available on GitHub.
28th November 2020 #
Datasette 0.52 -
--config is now
database_actions plugin hook,
datasette publish cloudrun --apt-get-install option and several bug fixes.
31st October 2020 #
Datasette 0.51 - A new visual design, plugin hooks for adding navigation options, better handling of binary data, URL building utility methods and better support for running Datasette behind a proxy. Annotated release notes.
9th October 2020 #
14th September 2020 #
16th August 2020 #
25th February 2021
- Deployments that are configured to check organization membership now use
read:orgscope instead of the more permissive
- Fix ASGI lifespan bug. #1
- First working release
23rd February 2021
- Tool now also works against inputs that are JSON files consisting of a list of objects with identical keys, using
22nd February 2021
--sqlite database.dbexport option. #10
19th February 2021
This release adds the ability to execute queries joining data from more than one database file - similar to the cross database querying feature introduced in Datasette 0.55.
db.attach(alias, filepath)Python method can be used to attach extra databases to the same connection, see db.attach() in the Python API documentation. (#113)
--attachoption attaches extra aliased databases to run SQL queries against directly on the command-line, see attaching additional databases in the CLI documentation. (#236)
Support for cross-database SQL queries and built-in support for serving via HTTPS.
- The new
--crossdbcommand-line option causes Datasette to attach up to ten database files to the same
/_memorydatabase connection. This enables cross-database SQL queries, including the ability to use joins and unions to combine data from tables that exist in different database files. See Cross-database queries for details. (#283)
--ssl-certfileoptions can be used to specify a TLS certificate, allowing Datasette to serve traffic over
https://without needing to run it behind a separate proxy. (#1221)
/:memory:page has been renamed (and redirected) to
/_memoryfor consistency with the new
/_internaldatabase introduced in Datasette 0.54. (#1205)
- Added plugin testing documentation on Using pdb for errors thrown inside Datasette. (#1207)
- The official Datasette Docker image now uses Python 3.7.10, applying the latest security fix for that Python version. (#1235)
18th February 2021
16th February 2021
- Fixed bug in released version caused by unnecessary