datasette 1.0a28

· Source: Simon Willison's Weblog · Field: Technology & Digital — Software Development & Engineering, Data Science & Analytics, Cloud Computing & IT Infrastructure · Depth: Intermediate, quick

Summary

Datasette 1.0a28, an open-source data exploration and publishing tool, was released on April 17, 2026, addressing several critical bugs introduced in the previous 1.0a27 alpha version. Key fixes include resolving a compatibility issue with `execute_write_fn()` callbacks that used parameter names other than `conn`, and enhancing resource management by ensuring `database.close()` also shuts down write connections. A new `datasette.close()` method was added to close all resources associated with a Datasette instance, which is automatically invoked during server shutdown. Additionally, Datasette now features a pytest plugin for automatic cleanup of temporary instances in test suites, preventing file descriptor exhaustion, particularly with the `Database(is_temp_disk=True)` feature from 1.0a27. Most of these changes were implemented using Claude Code and Claude Opus 4.7.

Key takeaway

For DevOps Engineers managing Datasette deployments or plugin development, upgrading to Datasette 1.0a28 is crucial to resolve compatibility bugs with `execute_write_fn()` and benefit from improved resource management. The new `datasette.close()` method and pytest plugin simplify testing and prevent resource leaks, especially when using temporary database instances. Ensure your test suites leverage the automatic cleanup features to maintain stability.

Key insights

Datasette 1.0a28 fixes critical bugs and enhances resource management, with most changes implemented using Claude Code and Claude Opus 4.7.

Principles

Method

Development utilized Claude Code and Claude Opus 4.7 for implementing fixes and new features in Datasette 1.0a28.

In practice

Topics

Code references

Best for: Software Engineer, Data Engineer, DevOps Engineer

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by Simon Willison's Weblog.