Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

Release datasette-acl 0.4a5 — Advanced permission management for Datasette
Tool Query String Stripper — Remove query parameters and tracking data from URLs with this Query String Stripper tool. Paste any URL to instantly extract the base address by stripping away everything after the question mark, then copy the cleaned result to your clipboard with a single click. This utility is helpful for sharing clean URLs, removing analytics parameters, or simplifying web addresses for documentation purposes.
TIL Exploring OpenAI's deep research API model o4-mini-deep-research — I was reviewing some older PRs and landed [this one](https://github.com/simonw/llm-prices/pull/9) by Manuel Solorzano adding pricing for [o4-mini-deep-research](https://platform.openai.com/docs/models/o4-mini-deep-research) and [o3-deep-research](https://platform.openai.com/docs/models/o3-deep-research) to my [llm-prices.com](https://www.llm-prices.com/) site. I realized I hadn't tried those models yet so I decided to give one of them a go.
None
Tool Deep Research Session Viewer — # Deep Research Session Viewer Documentation
Tool OpenAI Prompt Caching Playground — Explore OpenAI's prompt caching feature by testing different prompt structures and observing cache hit rates across multiple requests. This interactive playground lets you compose system instructions, document context, and user questions, then send them to the Chat Completions or Responses API to track how cached tokens reduce costs and improve performance.
Release llm-anthropic 0.20 — LLM access to models by Anthropic, including the Claude series
Tool Text Indentation Tool — Adjust indentation levels in your text with this tool that offers multiple formatting options. Add or remove spaces from the beginning of each line, strip all leading whitespace, eliminate trailing spaces, and apply or remove quote markers (>) for formatted text. Copy the processed result directly to your clipboard with a single click.
Release llm-gemini 0.26.1 — LLM plugin to access Google's Gemini family of models
Tool DOT File Renderer — Render DOT graph files into visual diagrams directly in your browser. Paste your DOT syntax into the textarea and the graph will automatically render as an SVG visualization, with live updates as you edit. Share your graphs by copying the URL, which encodes your DOT content in the fragment identifier.
Release asyncinject 0.6.1 — Run async workflows using pytest-fixtures-style dependency injection
TIL Testing different Python versions with uv with-editable and uv-test — A quick `uv` recipe I figured out today, for running the tests for a project against multiple Python versions.
None
TIL Testing different Python versions with uv with-editable and uv-test — A quick `uv` recipe I figured out today, for running the tests for a project against multiple Python versions.
None
Release datasette-os-info 0.1 — Provide information about the current OS at /-/os
Release llm-openai-plugin 0.7 — OpenAI plugin for LLM
Tool JSON String Extractor — Extract all strings from JSON data that exceed 20 characters in length or contain line breaks. This tool is useful for identifying longer text content within complex JSON structures for review, localization, or documentation purposes. Simply paste JSON into the textarea to automatically display matching strings along with their object paths, and use the copy button to quickly transfer any string to your clipboard.
TIL Error 153 Video player configuration error on YouTube embeds — I recently noticed that almost every YouTube video on [my blog](https://simonwillison.net/) was displaying the same mysterious error message:
None
Release llm-anthropic 0.19 — LLM access to models by Anthropic, including the Claude series
Tool Keyboard Debugger — Monitor keyboard input in real-time with this interactive keyboard debugger that displays pressed keys and their corresponding key codes. Press any keys on your keyboard to see them appear with visual feedback, including support for simultaneous multi-key presses and special key representations. This tool is useful for testing keyboard functionality, debugging input handling, and understanding key event properties like key name, code, and keyCode values.
Release llm-gemini 0.26 — LLM plugin to access Google's Gemini family of models
Tool MicroPython Code Executor — Execute Python code in a sandboxed MicroPython WebAssembly environment with output displayed in real-time. Code is automatically saved to the URL for convenient sharing and persistence, and the environment supports JavaScript interoperability including the `fetch()` API for making HTTP requests. Built-in examples demonstrate common programming patterns from basic operations to working with APIs.
Tool NumPy Vectors & Matrices — Pyodide Lab — Execute NumPy vector and matrix operations directly in your browser using an interactive lab powered by Pyodide. Work through five hands-on exercises covering elementwise operations, dot products, matrix multiplication, broadcasting, and indexing, then experiment freely in the playground sandbox with instant Python output.
Release llm-openai-plugin 0.6 — OpenAI plugin for LLM
Museum The Musical Museum — 399 High St, Brentford TW8 0DU, United Kingdom
Two wooden cabinet orchestrions side by side, one has a lot of pipes, one has two visible drums. A green gramophone horn sits between them.
Release llm-openrouter 0.5 — LLM plugin for models hosted by OpenRouter
Tool Badge Drawer — Device-Scale Canvas — # Badge Drawer — Device-Scale Canvas
Tool GitHub Account Info Lookup — Look up GitHub user account information by entering a username to retrieve the numeric Account ID and account creation date through the public GitHub API. The tool displays the user's profile link, avatar, and formatted timestamps, along with request latency information. Unauthenticated requests are subject to GitHub's rate limits, which may block further lookups after a certain number of queries.
Museum Coutellerie Nontronnaise — Place Paul Bert, 24300 Nontron
The entrance to the Coutellerie Nontronnaise - a striking wooden plank frontage showing the name and the iconic Nontron arch logo.
Tool AI Adoption Rolling Avg — Pyodide — View AI adoption trends across different firm sizes by analyzing survey data on artificial intelligence usage in the workplace. This page runs a Python analysis using Pyodide to fetch employment survey data, calculate six-survey rolling averages, and generate an interactive visualization showing adoption rates by company size from November 2023 through August 2025. Download the resulting chart as PNG or SVG for further use or presentation.
Tool Pyodide Bar Chart Demo (pandas + matplotlib) — Execute Python code directly in your browser with Pyodide, a WebAssembly-based Python runtime. This demo loads pandas, numpy, and matplotlib in the client to generate a bar chart from sample data and display it as a rendered image—no server required. The first run may take a few seconds as the necessary libraries are downloaded from CDN, but subsequent executions run instantly from your browser's cache.