An open source multi-tool for exploring and publishing data

PyPI Changelog Python 3.x License

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.

Try a demo and explore 33,000 power plants around the world, then take a look at some other examples of Datasette in action.

Then read how to get started with Datasette, subscribe to the weekly-ish newsletter and consider signing up for office hours for an in-person conversation about the project.

Exploratory data analysis

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.

Instant data publishing

datasette publish lets you instantly publish your data to hosting providers like Google Cloud Run, Heroku or Vercel.

Rapid prototyping

Spin up a JSON API for any data in minutes. Use it to prototype and prove your ideas without building a custom backend.

Latest news

7th January 2021 #

APIs from CSS without JavaScript: the datasette-css-properties plugin introduces datasette-css-properties, a highly experimental plugin that can output table rows and SQL query results as CSS stylesheets defining custom properties that can then be used to customize a static HTML page.

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 --setting, new 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 #

Datasette 0.50 - New column actions menu. datasette.client object for plugins to make internal API requests. Improved documentation on deploying Datasette. Annotated release notes.

14th September 2020 #

Datasette 0.49 - JSON API for writable canned queries, path parameters for custom pages. See also Datasette 0.49: The annotated release notes.

16th August 2020 #

Datasette 0.48 - Documentation now lives at docs.datasette.io, improvements to the extra_template_vars, extra_css_urls, extra_js_urls and extra_body_script plugin hooks.

11th August 2020 #

Datasette 0.47 - Datasette can now be installed using Homebrew! brew install simonw/datasette/datasette. Also new: datasette install name-of-plugin and datasette uninstall name-of-plugin commands, and datasette --get '/-/versions.json' to output the result of Datasette HTTP calls on the command-line.

9th August 2020 #

Datasette 0.46 - security fix relating to CSRF protection for writable canned queries, a new logo, new debugging tools, improved file downloads and more.

6th August 2020 #

GraphQL in Datasette with the new datasette-graphql plugin

24th July 2020 #

Two new plugins: datasette-copyable and datasette-insert-api. datasette-copyable adds copy-and-paste export options, and datasette-insert-api lets you create tables and insert or update data by POSTing JSON directly to Datasette.

1st July 2020 #

Datasette 0.45 - Magic parameters for canned queries, a log out feature, improved plugin documentation and four new plugin hooks. See also Datasette 0.45: The annotated release notes.

All news

Latest releases

18th January 2021

datasette-cluster-map 0.15

  • Fixed bug where foreign key labels were displayed as [object Object]. #26

sqlite-transform 0.3.1

  • Better --help for sqlite-transform lambda. #7

swarm-to-sqlite 0.3.3

  • Fixed bug where tool could crash with an error about missing columns. #11

sqlite-utils 3.3

14th January 2021

markdown-to-sqlite 0.2

  • Upgraded tests for latest dependencies
  • Switched CI to GitHub Actions

12th January 2021

sqlite-utils 3.2.1

  • Fixed a bug where .add_missing_columns() failed to take case insensitive column names into account. (#221)

11th January 2021

datasette-export-notebook 0.2

  • Observable export instructions are only shown if Datasette is run with the --cors option. #5
  • Export notebook page links back to view the rows. #6
  • CSV streaming export instructions are provided, if available. #7

9th January 2021

datasette-export-notebook 0.1.1

Improved README with links to a live demo.

7th January 2021

datasette-css-properties 0.2

  • .css pages now send the x-content-type-options: nosniff header, to protect against browsers incorrectly rendering the CSS as HTML which could be an XSS security hole. #1

datasette-css-properties 0.1.1

  • Improved README

All releases