Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

Release datasette-pretty-traces 0.4 — Prettier formatting for ?_trace=1 traces
Release datasette-leaflet-freedraw 0.3 — Draw polygons on maps in Datasette
Release datasette 0.60 — An open source multi-tool for exploring and publishing data
Release datasette-graphql 2.0.1 — Datasette plugin providing an automatic GraphQL API for your SQLite databases
Release sqlite-utils 3.22 — Python CLI utility and library for manipulating SQLite databases
Release sqlite-utils 3.21 — Python CLI utility and library for manipulating SQLite databases
TIL Testing a Click app with streaming input — For [sqlite-utils#364](https://github.com/simonw/sqlite-utils/issues/364) I needed to write a test for a [Click](https://click.palletsprojects.com/) app which dealt with input streamed to standard input. I needed to run some assertions during that process, which ruled out the usual [CliRunner.invoke()](https://click.palletsprojects.com/en/8.0.x/testing/) testing tool since that works by running the command until completion.
None
TIL Writing pytest tests against tools written with argparse — I usually build command-line tools using [Click](https://click.palletsprojects.com/) (and my [click-app](https://github.com/simonw/click-app) cookiecutter template), which includes a really nice [set of tools](https://click.palletsprojects.com/en/8.0.x/testing/) for writing tests.
None
Release stream-delay 0.1 — Stream a file or stdin one line at a time with a delay
Release sqlite-utils 3.20 — Python CLI utility and library for manipulating SQLite databases
TIL Adding a CORS policy to an S3 bucket — Amazon S3 buckets that are configured to work as public websites can support CORS, allowing assets such as JavaScript modules to be loaded by JavaScript running on other domains.
None
Museum Shakespeare Society of America — 7981 Moss Landing Road, Moss Landing, CA 95039
A two story orange-pink-brown building with a sign that says Shakespeare Socity of America, New Shakespeare Sanctuary
TIL WebAuthn browser support — I [started exploring](https://twitter.com/simonw/status/1476249939516616704) **[WebAuthn](https://webauthn.guide/)** today - a set of browser standards that adds support for both Yubikey 2FA hardware devices and "platform" authentication using things like Touch ID and Face ID.
None
TIL kubectl proxy — Learned about this today as a way of accessing the Kubernetes REST API.
None
TIL Transferring a GitHub issue from a private to a public repository — I have my own private `notes` repository where I sometimes create research threads. Occasionally I want to transfer these to a public repository to publish their contents.
None
Release datasette-tiddlywiki 0.1 — Run TiddlyWiki in Datasette and save Tiddlers to a SQLite database
TIL Adding a robots.txt using Cloudflare workers — I got an unexpected traffic spike to https://russian-ira-facebook-ads.datasettes.com/ - which runs on Cloud Run - and decided to use `robots.txt` to block crawlers.
None
Release asyncinject 0.2 — Run async workflows using pytest-fixtures-style dependency injection
TIL Annotated explanation of David Beazley's dataklasses — David Beazley [on Twitter](https://twitter.com/dabeaz/status/1472742536649351173):
None
Release datasette 0.60a1 — An open source multi-tool for exploring and publishing data
Release datasette-pretty-traces 0.3.1 — Prettier formatting for ?_trace=1 traces
Release datasette-pretty-traces 0.3 — Prettier formatting for ?_trace=1 traces
TIL Safely outputting JSON — Carelessly including the output of `json.dumps()` in an HTML page can lead to an XSS hole, thanks to the following:
None
TIL Creating a minimal SpatiaLite database with Python — When writing a test for [datasette-leaflet-freedraw](https://github.com/simonw/datasette-leaflet-freedraw) I realized I didn't have a simple tiny recipe for creating an in-memory SpatiaLite database in Python. I came up with this:
None
Release datasette 0.60a0 — An open source multi-tool for exploring and publishing data
TIL Registering the same Pluggy hook multiple times in a single file — I found myself wanting to register more than one instance of a [Pluggy](https://pluggy.readthedocs.io/) plugin hook inside a single module.
None
Release datasette-pretty-traces 0.2.1 — Prettier formatting for ?_trace=1 traces
Release datasette-pretty-traces 0.2 — Prettier formatting for ?_trace=1 traces
Release datasette-pretty-traces 0.1 — Prettier formatting for ?_trace=1 traces
TIL Using lsof on macOS — `lsof` stands for "list open files". Here are some very basic usage notes for the version that ships with macOS.
None