Datasette 1.0a24
- •Datasette 1.0a24 introduces multipart file upload support via a new request form method
- •Development workflow transitions to uv for faster dependency management and automated testing
- •New render_cell JSON parameter enables frontend access to plugin-processed data hooks
Simon Willison has released Datasette 1.0a24, a significant alpha update focusing on developer ergonomics and expanded plugin capabilities. The most notable addition is the Request object's newfound ability to handle multipart/form-data file uploads. By implementing a method that waits for file processing (await request.form(files=True)), Willison is laying the groundwork for a future plugin that will allow users to attach physical files directly to database rows, significantly expanding Datasette's utility as a comprehensive data management tool.
The update also modernizes the project's internal development workflow by adopting uv, an extremely fast Python package manager. This change allows contributors to clone the repository and execute testing suites via a single command (uv run pytest) without the traditional friction of manually creating virtual environments or managing dependencies. By utilizing the dev dependency group pattern, the project ensures that the testing environment remains consistent and reproducible across different local machines, facilitating easier open-source contributions.
Furthermore, a new query parameter (?_extra=render_cell) bridges the gap between back-end logic and front-end displays. This feature allows JSON API pages to return data after it has been processed by plugin hooks, enabling JavaScript interfaces to retrieve formatted or "rendered" values—like color codes or localized dates—directly. This release also stabilizes the continuous integration pipeline by eliminating flaky tests, setting a robust stage for the upcoming 1.0 stable version.