Simon Willison’s Weblog

Subscribe

April 2022

70 posts: 5 entries, 15 links, 50 beats

April 1, 2022

None
TIL Allowing a container in Docker Desktop for Mac to talk to a PostgreSQL server on the host machine — I like using [Postgres.app](https://postgresapp.com/) to run PostgreSQL on my macOS laptop. I use it for a bunch of different projects.
None
TIL Treating warnings as errors in pytest — I was seeing this warning in a Django project when I thought I was correctly using timezone-aware dates everywhere:

April 4, 2022

None
TIL Logging users out of Auth0 — If you [implement Auth0](https://til.simonwillison.net/auth0/oauth-with-auth0) for login, you may be tempted to skip implementing logout. I started out just with a `/logout/` page that cleared my own site's cookies, ignoring the Auth0 side of it.

April 6, 2022

Sighting 9:09 AM — Coyote, in San Mateo County, CA, US
Coyote
Coyote

April 7, 2022

datasette-dashboards (via) Romain Clement’s datasette-dashboards plugin lets you configure dashboards for Datasette using YAML, combining markdown blocks, Vega graphs and single number metrics using a layout powered by CSS grids. This is a beautiful piece of software design, with a very compelling live demo.

# 6:36 pm / plugins, visualization, datasette

Release pypi-to-sqlite 0.1 — Load data about Python packages from PyPI into SQLite

April 8, 2022

Sighting 5:20 PM — Savannah Sparrow, in Quarry County Park, CA, US
Savannah Sparrow
Savannah Sparrow
Release pypi-to-sqlite 0.2 — Load data about Python packages from PyPI into SQLite
Release pypi-to-sqlite 0.2.2 — Load data about Python packages from PyPI into SQLite
None
TIL Using awk to add a prefix — I wanted to dynamically run the following command against all files in a directory:
Release shot-scraper 0.11 — A command-line utility for taking automated screenshots of websites

Pillar Point Stewards, pypi-to-sqlite, improvements to shot-scraper and appreciating datasette-dashboards

Visit Pillar Point Stewards, pypi-to-sqlite, improvements to shot-scraper and appreciating datasette-dashboards

This week I helped Natalie launch the Pillar Point Stewards website and built a new tool for loading PyPI package data into SQLite, in order to help promote the excellent datasette-dashboards plugin by Romain Clement.

[... 1,985 words]

April 10, 2022

Sighting 2:29 PM – 2:31 PM — Sanderling, Hudsonian Whimbrel, in Monterey Bay National Marine Sanctuary, CA, US, CA
Sanderling
Sanderling
Sanderling
Sanderling
Hudsonian Whimbrel
Hudsonian Whimbrel

April 11, 2022

Release shot-scraper 0.12 — A command-line utility for taking automated screenshots of websites

April 12, 2022

Release geojson-to-sqlite 1.0.1 — CLI tool for converting GeoJSON files to SQLite (with SpatiaLite)
None
TIL GUnion to combine geometries in SpatiaLite — I was playing around with [datanews/amtrak-geojson](https://github.com/datanews/amtrak-geojson), which provides GeoJSON for Amtrak stations and track segments.
Sighting 1:31 PM – 1:32 PM — Hudsonian Whimbrel, Snowy Egret, in Monterey Bay National Marine Sanctuary, CA, US, CA
Hudsonian Whimbrel
Hudsonian Whimbrel
Hudsonian Whimbrel
Hudsonian Whimbrel
Hudsonian Whimbrel
Hudsonian Whimbrel
Snowy Egret
Snowy Egret
Snowy Egret
Snowy Egret
None
TIL Trick Apple Photos into letting you access your video files — I had an 11GB movie in Apple Photos (sync'd from my iPhone) and I wanted to upload it to YouTube (actually via AirDrop to another laptop first).

April 13, 2022

Datasette for geospatial analysis (via) I added a new page to the Datasette website describing how Datasette can be used for geospatial analysis, pulling together several of the relevant plugins and tools from the Datasette ecosystem.

# 12:48 am / geospatial, plugins, datasette

Release summarize-template 0.1 — Show a summary of a Django or Jinja template

Litestream: Live Read Replication (via) The documentation for the read replication implemented in the latest Litestream beta (v0.4.0-beta.2). The design is really simple and clever: the primary runs a web server on a port, and replica instances can then be started with a configured URL pointing to the IP and port of the primary. That’s all it takes to have a SQLite database replicated to multiple hosts, each of which can then conduct read queries against their local copies.

# 2:04 am / replication, sqlite, litestream

Release geojson-to-sqlite 1.1 — CLI tool for converting GeoJSON files to SQLite (with SpatiaLite)
Sighting 2:27 PM — Brown Pelican, in Pescadero State Beach, CA, US
Brown Pelican
Brown Pelican
Release sqlite-utils 3.26 — Python CLI utility and library for manipulating SQLite databases
Release geojson-to-sqlite 1.1.1 — CLI tool for converting GeoJSON files to SQLite (with SpatiaLite)

April 14, 2022

A diorama showing the scale of the USS Macon airship
Museum Moffett Field Historical Society — Building 126, Severyns Ave, Moffett Field, CA 94035
Sighting 2:06 PM — Great Blue Heron, in San Mateo County, CA, US
Great Blue Heron
Great Blue Heron

April 16, 2022

Release asyncinject 0.3 — Run async workflows using pytest-fixtures-style dependency injection

April 17, 2022

Release tweet-images 0.1 — Send tweets with images from the command line
Release tweet-images 0.1.1 — Send tweets with images from the command line

2022 » April

MTWTFSS
    123
45678910
11121314151617
18192021222324
252627282930