The Datasette. The io site was getting pounded by badly behaved crawlers, so I had Codex (GPT-5.5 xhigh) create a configurable rate-limiting plugin that blocks IPs hammering specific parts of the site too aggressively. Here’s the production config I’m currently running on that site for the new plugin: datasette-ip-rate-limit:
header: Fly-Client-IP
max_keys: 10000
exempt_paths:
– „/static/*“
– „/-/turnstile*“
rules:
– name: demo-databases
paths:
– „/global-power-plants/*“
– „/legislators/*“
window_seconds: 60
max_requests: 60
block_seconds: 20
Simon Willison’s Weblog