Simon Willison’s Weblog

Subscribe
Atom feed for datasette Random

1,459 posts tagged “datasette”

Datasette is an open source tool for exploring and publishing data.

2024

dclient 0.3. dclient is my CLI utility for working with remote Datasette instances—in particular for authenticating with them and then running both read-only SQL queries and inserting data using the new Datasette write JSON API. I just picked up work on the project again after a six month gap—the insert command can now be used to constantly stream data directly to hosted Datasette instances such as Datasette Cloud.

# 25th February 2024, 8:06 pm / projects, datasette-cloud, datasette, cli

Release datasette-events-forward 0.1a1 — Forward Datasette analytical events on to another Datasette instance
Release datasette-events-forward 0.1a0 — Forward Datasette analytical events on to another Datasette instance
Release datasette-auth-tokens 0.4a9 — Datasette plugin for authenticating access using API tokens
Release datasette 1.0a11 — An open source multi-tool for exploring and publishing data
Release datasette-edit-schema 0.8a0 — Datasette plugin for modifying table schemas

datasette-studio. I've been thinking for a while that it might be interesting to have a version of Datasette that comes bundled with a set of useful plugins, aimed at expanding Datasette's default functionality to cover things like importing data and editing schemas.

This morning I built the very first experimental preview of what that could look like. Install it using pipx:

pipx install datasette-studio

I recommend pipx because it will ensure datasette-studio gets its own isolated environment, independent of any other Datasette installations you might have.

Now running datasette-studio instead of datasette will get you the version with the bundled plugins.

The implementation of this is fun - it's a single pyproject.toml file defining the dependencies and setting up the datasette-studio CLI hook, which is enough to provide the full set of functionality.

Is this a good idea? I don't know yet, but it's certainly an interesting initial experiment.

# 18th February 2024, 8:38 pm / datasette, python, pypi, plugins, projects, cli

Release datasette-studio 0.1a0 — Datasette pre-configured with useful plugins. Experimental alpha.

Datasette 1.0a10. The only changes in this alpha release concern the way Datasette handles database transactions. The database.execute_write_fn() internal method used to leave functions to implement transactions on their own—it now defaults to wrapping them in a transaction unless they opt out with the new transaction=False parameter.

In implementing this I found several places inside Datasette—in particular parts of the JSON write API—which had not been handling transactions correctly. Those are all now fixed.

# 18th February 2024, 5:10 am / projects, transactions, datasette, sqlite

Release datasette 1.0a10 — An open source multi-tool for exploring and publishing data

Datasette 1.0a9. A new Datasette alpha release today. This adds basic alter table support API support, so you can request Datasette modify a table to add new columns needed for JSON objects submitted to the insert, upsert or update APIs.

It also makes some permission changes—fixing a minor bug with upsert permissions, and introducing a new rule where every permission plugin gets consulted for a permission check, with just one refusal vetoing that check.

# 16th February 2024, 11:20 pm / projects, datasette

Release datasette 1.0a9 — An open source multi-tool for exploring and publishing data
Release datasette-enrichments-opencage 0.1.1 — Geocoding and reverse geocoding using OpenCage
Release datasette-auth-tokens 0.4a8 — Datasette plugin for authenticating access using API tokens

Weeknotes: a Datasette release, an LLM release and a bunch of new plugins

I wrote extensive annotated release notes for Datasette 1.0a8 and LLM 0.13 already. Here’s what else I’ve been up to this past three weeks.

[... 1,074 words]

Release datasette-enrichments-quickjs 0.1a0 — Enrich data with a custom JavaScript function
Release datasette-events-db 0.1a0 — Log Datasette events to a database table

Datasette 1.0a8: JavaScript plugins, new plugin hooks and plugin configuration in datasette.yaml

I just released Datasette 1.0a8. These are the annotated release notes.

[... 1,709 words]

Release datasette 1.0a8 — An open source multi-tool for exploring and publishing data
Release datasette-homepage-table 0.2 — Show a specific Datasette table on the homepage
Release datasette-homepage-table 0.1 — Show a specific Datasette table on the homepage
Release datasette-upload-csvs 0.9 — Datasette plugin for uploading CSV files and converting them to database tables
Release datasette-granian 0.1 — Run Datasette using the Granian HTTP server
Release datasette-proxy-url 0.1.1 — Proxy a URL through a Datasette instance
Release datasette-proxy-url 0.1 — Proxy a URL through a Datasette instance

Weeknotes: datasette-test, datasette-build, PSF board retreat

I wrote about Page caching and custom templates in my last weeknotes. This week I wrapped up that work, modifying datasette-edit-templates to be compatible with the jinja2_environment_from_request() plugin hook. This means you can edit templates directly in Datasette itself and have those served either for the full instance or just for the instance when served from a specific domain (the Datasette Cloud case).

[... 757 words]

Release datasette-edit-templates 0.4.3 — Plugin allowing Datasette templates to be edited within Datasette
Release datasette-edit-templates 0.4.2 — Plugin allowing Datasette templates to be edited within Datasette
Release datasette-test 0.2 — Utilities to help write tests for Datasette plugins and applications
Release datasette-test 0.1.1 — Utilities to help write tests for Datasette plugins and applications