Simon Willison has launched datasette-apps, a new Datasette plugin that embeds sandboxed HTML+JavaScript applications directly inside a Datasette instance, giving each app live read-only SQL access to the underlying SQLite data. Apps run inside tightly restricted iframes using a combination of the sandbox attribute and injected Content Security Policy headers, preventing untrusted code from accessing cookies, localStorage, or external hosts. The concept originated from Willison's effort to replicate a Claude Artifacts-style experience inside Datasette Agent, before being promoted to a standalone top-level plugin.
Datasette 1.0a34 ships native CRUD operations in the browser interface, letting users insert, edit, and delete rows directly from table and row pages. The feature was prompted by Datasette Agent, which recently gained SQL write support, creating an awkward asymmetry where the AI chat interface could modify data but the standard UI could not. The release moves Datasette meaningfully closer to a lightweight data-management tool rather than a read-only data publishing layer.
Simon Willison released datasette-tailscale 0.1a0, an experimental alpha plugin that connects a local Datasette server to a Tailscale private network (Tailnet) via a single CLI command. Using a Tailscale auth key and a hostname flag, it starts a localhost server alongside a Tailscale sidecar, making the database reachable at a friendly Tailnet URL. The plugin relies on Python bindings for the experimental tailscale-rs Rust library; Willison has filed an upstream issue about the proxy mechanism, indicating the implementation may change.
The datasette-apps 0.1a2 alpha tightens security by introducing an `apps-set-csp` permission that gates custom Content Security Policy origins, with an optional allow-list for non-privileged users. The Datasette Agent app-creation tool enforces the same rules. Usability improvements include keyboard navigation in the stored query picker, plus fixes for fragment link interception and full-screen mode rendering.
Version 0.3a0 of datasette-agent introduces `execute_write_sql`, a new tool that translates natural language into write SQL statements and prompts the user to confirm before execution. The `datasette agent chat` terminal mode now supports these approval flows, with three new flags — `--root`, `--yes`, and `--unsafe` — to control permission levels and auto-approval. Together these additions enable fully conversational, autonomous modification of SQLite databases via an AI agent.
Simon Willison explored how to programmatically map SQLite query result columns back to their source table and column names — a capability that would let Datasette enrich query results with contextual metadata. He tasked Claude Code (Opus 4.8) with finding solutions, which surfaced three approaches: using the apsw library, calling SQLite's sqlite3_column_table_name() C function via Python ctypes, and parsing EXPLAIN bytecode output. The research is published as a GitHub README and covers the tradeoffs of each technique.
This project provides a CGo-free SQLite/SQLite3 implementation for Go, useful when developers want pure-Go builds and simpler cross-platform deployment. It keeps the familiar SQLite embedded database model while integrating with Go’s database/sql workflow. Recent releases upgraded SQLite, improved text/time scanning performance, added backup progress helpers, and expanded virtual table and sqlite-vec related support.
Mnemo is presented as a Show HN project that provides a local-first AI memory layer for any LLM. The title indicates it is built with Rust, SQLite, and petgraph, suggesting local storage and graph-based memory relationships. Since no article body is available, details such as API design, retrieval methods, maturity, and production readiness cannot be confirmed.
Simon Willison released Datasette 1.0a31, a significant alpha release with two headline features: write SQL execution and stored queries. Users with the right permissions can now run database-changing queries and save queries privately or for other members of a Datasette instance. The new interface can generate templated insert, update, and delete queries for editable tables while blocking unauthorized actions such as creating tables without permission.
SQLite added an AGENTS.md file aimed at people pointing coding agents at its codebase, not at its own internal development. The file says SQLite does not accept agentic code, though it will accept agentic bug reports with reproducible test cases. The project has also split AI-generated bug reports into a new SQLite Bug Forum, where D. Richard Hipp is responding with commits.
Simon Willison announced the release of datasette-fixtures 0.1a0, a new plugin designed to simplify plugin testing. It utilizes the new `datasette.fixtures.populate_fixture_database(conn)` helper introduced in Datasette 1.0a30. Developers can quickly test this functionality using `uvx` to generate mock database tables and retrieve sample JSON data without a full manual installation.
Simon Willison announced the first release of Datasette Agent, merging his 'llm' Python library with Datasette. The tool provides a conversational interface to query SQLite databases, with plugin support for generating charts and running code in sandboxes. It runs efficiently on lightweight models like Gemini 3.1 Flash-Lite and supports local open-weight models via LM Studio.
Simon Willison's open-source AI assistant tool for Datasette, `datasette-agent`, has recently released version 0.1a3 in alpha. Datasette is an open-source…
The Datasette plugin `datasette-llm`, maintained by well-known open-source developer Simon Willison, has released version 0.1a8 today. Datasette is an…
Distributed SQLite database service Turso Cloud has officially announced its addition to the Vercel Marketplace. This partnership brings a more seamless…