Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

Release files-to-prompt 0.3 — Concatenate a directory full of files into a single prompt for use with LLMs
Release json-flatten 0.3.1 — Python functions for flattening a JSON object to a single dictionary of pairs, and unflattening that dictionary back to a JSON object
Release csv-diff 1.2 — Python CLI tool and library for diffing CSV and JSON files
Release datasette 1.0a16 — An open source multi-tool for exploring and publishing data
Release datasette-search-all 1.1.4 — Datasette plugin for searching all searchable tables at once
Release datasette-import 0.1a5 — Tools for importing data into Datasette
Release datasette-search-all 1.1.3 — Datasette plugin for searching all searchable tables at once
TIL Testing HTML tables with Playwright Python — I figured out this pattern today for testing an HTML table dynamically added to a page by JavaScript, using [Playwright Python](https://playwright.dev/python/):
None
Release datasette-write 0.4 — Datasette plugin providing a UI for executing SQL writes against the database
Release datasette-debug-events 0.1a0 — Print Datasette events to standard error
Release datasette-auth-passwords 1.1.1 — Datasette plugin for authentication using passwords
Release datasette-enrichments 0.4.3 — Tools for running enrichments against data stored in Datasette
Release datasette-configure-fts 1.1.4 — Datasette plugin for enabling full-text search against selected table columns
Release datasette-auth-tokens 0.4a10 — Datasette plugin for authenticating access using API tokens
Release datasette-edit-schema 0.8a3 — Datasette plugin for modifying table schemas
Release datasette-pins 0.1a4 — Pin databases, tables, and other items to the Datasette homepage
Release datasette-acl 0.4a2 — Advanced permission management for Datasette
Release datasette-acl 0.4a1 — Advanced permission management for Datasette
Release datasette-acl 0.4a0 — Advanced permission management for Datasette
Release datasette-acl 0.3a0 — Advanced permission management for Datasette
Release datasette-acl 0.2a0 — Advanced permission management for Datasette
TIL Using namedtuple for pytest parameterized tests — I'm writing some quite complex [pytest]() parameterized tests this morning, and I was finding it a little bit hard to read the test cases as the number of parameters grew.
None
Release llm-claude-3 0.4.1 — LLM plugin for interacting with the Claude 3 family of models
Release datasette-acl 0.1a0 — Advanced permission management for Datasette
Tool Pomodoro Timer — Track productivity sessions with this Pomodoro timer application that manages timed work intervals with customizable durations. Set a goal for each session, choose from preset time intervals ranging from 5 to 60 minutes, and pause or resume as needed while the timer counts down. All session data including start times, end times, and pause history is automatically saved and displayed in a detailed log table, with the ability to export the data as JSON for further analysis or record-keeping.
Tool Gemini Chat App — Chat with Google's Gemini AI models directly in your browser using this interactive chat application. Simply enter your Gemini API key (stored locally for convenience) and select from multiple available models including Gemini 2.5 Flash, Pro, and various other versions to power your conversations. The app displays real-time streaming responses, tracks API usage metrics, and measures response duration to help you monitor your interactions.
Tool Gemini API Image Bounding Box Visualization — Analyze images using the Google Gemini API and visualize detected objects as bounding boxes or points overlaid on the original image with coordinate grid lines. The tool supports multiple Gemini model versions and can extract either bounding box coordinates in normalized format or point locations with labels, displaying the results alongside a detailed visualization canvas. Store your API key locally for convenient access across multiple sessions.
Tool TIFF Orientation Reader — Read TIFF orientation metadata from JPEG images by uploading or dragging files into the drop zone. The tool parses the EXIF data embedded in the image file to extract the orientation tag, which indicates how the image should be displayed (normal, rotated 90° clockwise, rotated 180°, or rotated 270° clockwise). Debug information shows the file analysis process, including EXIF location, endianness detection, and TIFF header validation.
Tool Audio Spectrum Visualizer — Visualize real-time audio frequency data from your microphone as an animated spectrum display. This application uses the Web Audio API to capture microphone input, analyze frequencies using FFT (Fast Fourier Transform), and render dynamic bars that respond to sound levels across the frequency spectrum. Grant microphone permissions when prompted to begin the visualization.
Release datasette-pretty-traces 0.5 — Prettier formatting for ?_trace=1 traces