Fact◆Article
sqlite-utils 4.2 shipped with a crashing bug because I introduced 'from typing_extensions import Self' while typing-extensions was not a declared dependency of the package.
Release 4.2.1 of sqlite-utils fixes a crashing bug in 4.2 that arose because the code used Self from typing_extensions, a package that was not declared as a direct dependency. ✦ AI generated
Simon Willison · Simon Willison's Weblog · 2026-08-13 · original ↗
Fixes a crashing bug in sqlite-utils 4.2. I'd introduced code that looks like this: from typing_extensions import Self It turned out the typing-extensions package was not listed as a dependency for sqlite-utils - it was installed by one of the other dependencies in the dev dependency group, but when you uvx sqlite-utils directly you don't get those dependencies.
Read full article ↗excerpt · fair-use quotation
- ·4.2 imported Self from typing_extensions
- ·typing-extensions was not a declared dependency
- ·Installed only via dev dependency group, not with uvx
Around this claim
This moment responds to
supports → A smoke test can verify the CLI tool still works outside the dev dependency group via 'uv run --isolated --no-default-groups sqlite-utils --help'.Simon Willison · Simon Willison's Weblogexplains mechanism → It later turned out that sqlite-utils 4.2 had a crashing bug, which was fixed in 4.2.1.Simon Willison · Simon Willison's Weblog