Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

Release sqlite-utils 3.30 — Python CLI utility and library for manipulating SQLite databases
TIL os.remove() on Windows fails if the file is already open — I puzzled over this one for [quite a while](https://github.com/simonw/sqlite-utils/issues/503) this morning. I had this test that was failing with Windows on Python 3.11:
Release datasette-indieauth 1.2.1 — Datasette authentication using IndieAuth and RelMeAuth
Release shot-scraper 1.0.1 — A command-line utility for taking automated screenshots of websites
Release datasette 0.63a1 — An open source multi-tool for exploring and publishing data
TIL Writing a Datasette CLI plugin that mostly duplicates an existing command — My new [datasette-gunicorn](https://datasette.io/plugins/datasette-gunicorn) plugin adds a new command to Datasette - `datasette gunicorn` - which mostly replicates the existing `datasette serve` command but with a few differences.
TIL Simple load testing with Locust — I've been using [Locust](https://locust.io/) recently to run some load tests - most significantly [these tests](https://github.com/simonw/django_sqlite_benchmark/issues?q=is%3Aissue+is%3Aclosed) against SQLite running with Django and [this test](https://github.com/simonw/datasette-gunicorn/issues/1) exercising Datasette and Gunicorn.
Release datasette-gunicorn 0.1 — Plugin for running Datasette using Gunicorn
TIL Adding a Datasette ASGI app to Django — [Datasette](https://datasette.io/) is implemented as an ASGI application.
TIL Guessing Amazon image URLs using GitHub Copilot — I was experimenting with the new [Readwise export API](https://readwise.io/api_deets#export) and it gave me back the following JSON:
Release shot-scraper 1.0 — A command-line utility for taking automated screenshots of websites
TIL shot-scraper for a subset of table columns — For [Datasette issue #1844](https://github.com/simonw/datasette/issues/1844) I wanted to create the following screenshot:
Release datasette-screenshots 0.62 — Screenshots of Datasette, taken using shot-scraper
Release shot-scraper 0.17 — A command-line utility for taking automated screenshots of websites
TIL Using psutil to investigate "Too many open files" — I was getting this intermittent error running my Datasette test suite:
Release asgi-gzip 0.2 — gzip middleware for ASGI applications, extracted from Starlette
TIL Pisco sour — This classic Peruvian cocktail recipe is particularly useful if you have both a lemon tree and chickens producing fresh eggs!
Release datasette-public 0.2 — Make selected Datasette databases and tables visible to the public
TIL Querying newline-delimited JSON logs using AWS Athena — I've been writing my Fly logs to S3 in newline-delimited JSON format using the recipe described in [Writing Fly logs to S3](https://til.simonwillison.net/fly/fly-logs-to-s3).
Release datasette-sentry 0.3 — Datasette plugin for configuring Sentry
Release datasette-search-all 1.1 — Datasette plugin for searching all searchable tables at once
Release datasette-public 0.1 — Make selected Datasette databases and tables visible to the public
TIL Tommy's Margarita — A few years ago I decided to learn how to make some classic cocktails. It is a very rewarding hobby.
TIL GraphQL fragments — One of [the scripts](https://github.com/simonw/datasette.io/blob/main/build_directory.py) that builds and deploys [datasette.io](https://datasette.io/) uses a GraphQL query to retrieve information from GitHub about the repositories used for the various Datasette tools and plugins.
TIL HTML video that loads when the user clicks play — Today I figured out how to use the `<video>` tag to show a static thumbnail that gets replaced by the loaded video only when the user clicks play.
Release datasette-publish-fly 1.2 — Datasette plugin for publishing data using Fly
Release datasette-pretty-json 0.2.2 — Datasette plugin that pretty-prints any column values that are valid JSON objects or arrays
TIL Athena error: The specified key does not exist — I was trying to run Athena queries against compressed JSON log files stored in an S3 bucket.
Release datasette 0.63a0 — An open source multi-tool for exploring and publishing data
TIL Ensure labels exist in a GitHub repository — I wanted to ensure that when [this template repository](https://github.com/simonw/action-transcription) was used to create a new repo that repo would have a specific set of labels.

Beats

Years

Tags