Shared some notes on Python 3.15, using it with uv, and features from Python 3.11 I'm excited to use now that 3.10 is no longer the minimum supported version for my own projects https://simonwillison.net/2026/Oct/12/python-3-15/
Simon Willison
Simon Willison
@simon.fedi.simonwillison.net.ap.brid.gy
Open source developer building tools to help journalists, archivists, librarians and others analyze, explore and publish their data. https://datasette.io […] [bridged from https://fedi.simonwillison.net/@simon on the fediverse by https://fed.brid.gy/ ]
10K followers3 following1.5K posts
Just published this post about how we’re going to need default hard budget caps on pretty much everything https://simonwillison.net/2026/Oct/3/default-hard-budget-caps/
Big model release today - I wrote about Claude Opus 5.5, GPT-6 Sol, and GPT-6 Luna - plus comparison grids of pelicans by the different model families at different reasoning levels https://simonwillison.net/2026/Sep/22/opus-and-sol-and-luna/
Here’s my review of Qwen 3.8 27B - I can't remember the last time I've had this much fun playing with a local model that runs on my own computers https://simonwillison.net/2026/Aug/16/qwen-38-27b/
Fun bonus: I set Pi up with Qwen 3.8 27B and had it build a script for transforming its own .jsonl transcripts to Markdown... which it did! Here's the transcript of it building the tool I then used to share that transcript https://gist.github.com/simonw/491e55ac9d741202ea0af5d9d93775d4
The new Qwen 3.7 27B, running as a 17GB GGUF in LM Studio on my M5 Max MacBook Pro, just drew me the best pelican riding a bicycle I've seen from any model that runs on my laptop It did take nearly 21 minutes to generate, and used 22,276 reasoning […] [Original post on fedi.simonwillison.net]
Big new release of my LLM CLI tool and Python library for talking to hundreds of different LLMs - reasoning traces, OpenAI Responses support, server-side tools, smarter logging and a whole lot more https://simonwillison.net/2026/Aug/4/new-release-of-llm/
Hugging Face just published a highly detailed technical account of OpenAI's accidental cyberattack on their systems - it's wild how sophisticated this was: https://huggingface.co/blog/agent-intrusion-technical-timeline Wrote up some of my own notes here […]
Ruff 0.16.0 - Astral's fast Python linter - came out a few days ago and increased the number of default-enabled rules from 59 to 413, which highlighted all sorts of problems across my projects (1618 in sqlite-utils alone) https://simonwillison.net/2026/Jul/25/ruff/
I wrote about the completely wild incident where OpenAI were testing a new model and it broke out of its sandbox and broke INTO Hugging Face to steal the answers to the benchmark https://simonwillison.net/2026/Jul/22/openai-cyberattack/
My notes on Kimi K3, plus some thoughts on what we can still learn from the pelican benchmark even while it becomes further detached from how good the models are at the things that matter (like agentic tool calling across longer conversations) https://simonwillison.net/2026/Jul/16/kimi-k3/
New TIL: Using uvx in GitHub Actions in a cache-friendly way I finally found a recipe that I like for running `uvx tool-name` in GitHub Actions without downloading a fresh copy of the package every time https://til.simonwillison.net/github-actions/uvx-github-actions-cache
Notes on GPT-5.6, which includes some interesting new additions to the API (programmatic tool calling and multi-agent in particular) - plus 18 pelicans for the 6 reasoning levels and 3 new models: https://simonwillison.net/2026/Jul/9/gpt-5-6/
... and if you want to see some of OpenAI's own pelicans they featured a 3D pelican riding a tricycle, bicycle, pony, and another pelican in their livestream this morning: https://www.youtube.com/live/Wq45rvPGNHs?t=1070s
I released sqlite-utils 4.0, the 124th release but the first major version bump since 3.0 back in 2020 I managed to keep things backwards-compatible all the way up to version 3.39 before the accumulated design mistakes forced me to bump that number! […]
Since this is a slightly backwards-incompatible change here's a detailed upgrade guide - which you can read, or feed into your coding agent and have it apply the upgrades for you https://sqlite-utils.datasette.io/en/stable/upgrading.html
I've added video support to my "shot-scraper" browser automation tool - you (or your coding agent) can now create a storyboard YAML file and use that to record a video demo of new web application features https://simonwillison.net/2026/Jun/30/shot-scraper-video/
My parallel agent side-project today was having Claude Code port the new Moebius image pinpointing model to ONNX in order to run it entirely in the browser https://simonwillison.net/2026/Jun/22/porting-moebius/
I just released the first release candidate for sqlite-utils v4, adding a migrations system (previously released independently as sqlite-migrate) and support for nested transactions: https://simonwillison.net/2026/Jun/21/sqlite-utils-40rc1/
Just launched Datasette Apps - a plugin for Datasette that lets you host full HTML+JS apps in an iframe sandbox that can query your database and do interesting things with your data https://simonwillison.net/2026/Jun/18/datasette-apps/
Lots more information in this post on the Datasette project blog, including details on our live demo and uv one-liners you can use to try this out on your own machine https://datasette.io/blog/2026/datasette-apps/
It's now possible to compile Python extensions (C, C++, Rust etc) to WebAssembly and distribute them through PyPI such that Pyodide can install them directly https://simonwillison.net/2026/Jun/13/publishing-wasm-wheels/
After two days with Claude Fable 5 the best way I can describe it is "relentlessly proactive" - here's an example where I dropped in a screenshot of a bug and it span up custom CORS Python servers and used pyobjc-framework-Quartz to capture screenshots […]
New Datasette release: 1.0a33, which finally brings documents the ?_extra= JSON API mechanism and brings it to the row and query pages in addition to the table pages (Most of the code in this release was built with the help of Claude Fable 5) https://datasette.io/blog/2026/api-extras/
Since the JSON extras API is a little hard to explain without an example I also had Fable 5 and GPT-5.5 collaborate on this custom API explorer tool for trying out the new feature […] [Original post on fedi.simonwillison.net]
Wrote up my initial impressions of Claude Fable 5 - it has a big model smell: slow, expensive and capable of crunching through pretty much everything I threw at it https://simonwillison.net/2026/Jun/9/claude-fable-5/
I may have finally found the Python-in-a-sandbox solution I've been looking for... here's my latest experiment, this time running MicroPython in WebAssembly inside my Python applications https://simonwillison.net/2026/Jun/6/micropython-in-a-sandbox/
Uber reportedly now caps coding agents at $1,500/month per employee per tool - seems sensible to me, but it's also an interesting hint at the value Uber thinks these tools are providing https://simonwillison.net/2026/Jun/3/uber-caps-usage/
Notes on Claude Opus 4.8, which Anthropic call "a modest but tangible improvement" - plus pelicans riding bicycles for each of the five different thinking efforts https://simonwillison.net/2026/May/28/claude-opus-4-8/
Given the recent burst of activity around enterprise pricing and contracts, I think April 2026 was the month when both OpenAI and Anthropic found product-market fit https://simonwillison.net/2026/May/27/product-market-fit/
When I woke up this morning I didn't think I'd be spending a bunch of time today getting familiar with Catholic theology, but here we are. Notes on Pope Leo XIV's encyclical on AI. https://simonwillison.net/2026/May/25/encyclical-on-ai/
Fun new feature in Datasette 1.0a30 - a "jump to" menu, also available by the "/" keyboard shortcut, which lets you type to jump to a database, table or canned query. It offers a hook so plugins can extend it with additional content too https://datasette.io/blog/2026/jump-menu/
Plugins can also affect the empty state of the new menu - the latest datasette-agent adds a form for kicking off a new agent conversation - live demo (if you sign in with GitHub) on https://agent.datasette.io/
I released the first alpha of Datasette Agent - a conversational AI assistant for Datasette that can answer questions about data in SQLite databases, and can be extended with plugins to add extra tools and features You can watch a demo video or try it out yourself on https://agent.datasette.io/ […]
I don't have much to say about this year's Google I/O because I prefer to write about products that have shipped, not just "coming soon" announcements - but here are some notes on Gemini Spark and Antigravity https://simonwillison.net/2026/May/20/google-io/
My notes on Gemini 3.5 Flash - 3x the price of Gemini 3 Flash but Google are planning to use it for many of their own products https://simonwillison.net/2026/May/19/gemini-35-flash/
Wrote about today's GitLab restructuring / "workforce reduction" announcement, and ended up digging around in version control for both the GitLab and the 37signals public employee handbooks to help illustrate my thoughts https://simonwillison.net/2026/May/11/gitlab-act-2/
New TIL: I figured out how to use my LLM CLI tool in a shebang line, which means you can write executable scripts in English, or hook up more complex scripts with a snippet of YAML template - https://til.simonwillison.net/llms/llm-shebang
Under-reported details of the xAI/Anthropic Colossus data center deal: Anthropic get Colossus 1 but xAI keep using the larger Colossus 2, Colossus 1 has a REALLY bad environmental record, and xAI just shut down a bunch of older models on 2 weeks' notice […]
I added a new feature to my blog (built entirely on my phone with Claude code for web) that imports my iNaturalist photos and adds them to my site's overall timeline https://simonwillison.net/2026/May/2/sightings/
The Zig project's rationale for their blanket ban on AI-assisted contributions makes a lot of sense to me - for them, time spent reviewing PRs isn't about the code, it's about growing new contributors for the future of the project https://simonwillison.net/2026/Apr/30/zig-anti-ai/
I released LLM 0.32a0 this morning, a major backwards-compatible refactor of my LLM Python library and CLI tool for working with language models - the new changes should help LLM work better with reasoning models and other new frontier capabilities https://simonwillison.net/2026/Apr/29/llm/
Some notes on talkie, a new "vintage language model" from a team including Alec Radford (yes, that Alec Radford) "trained on 260B tokens of historical pre-1931 English text" https://simonwillison.net/2026/Apr/28/talkie/