Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

Release datasette 0.63 — An open source multi-tool for exploring and publishing data
Release sqlite-utils 3.30 — Python CLI utility and library for manipulating SQLite databases
None
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
None
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.
None
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
None
TIL Adding a Datasette ASGI app to Django — [Datasette](https://datasette.io/) is implemented as an ASGI application.
None
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
None
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
None
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
Sighting 5:31 PM — Aphonopelma, in Stanford University, CA, US
Aphonopelma
Aphonopelma
None
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
None
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
None
TIL Tommy's Margarita — A few years ago I decided to learn how to make some classic cocktails. It is a very rewarding hobby.
Sighting 11:04 AM – 12:23 PM — Belted Kingfisher, Brewer's Blackbird, in Monterey Bay National Marine Sanctuary, CA, US, CA
Belted Kingfisher
Belted Kingfisher
Belted Kingfisher
Belted Kingfisher
Belted Kingfisher
Belted Kingfisher
Brewer's Blackbird
Brewer's Blackbird
None
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.
Sighting 2:05 PM — California Brown Pelican, in Pillar Point Harbor, CA, US
California Brown Pelican
California Brown Pelican
None
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