Post

Shared some notes on Python 3.15, using it with uv, and features from Python 3.11 I'm excited to use now that 3.10 is no longer the minimum supported version for my own projects simonwillison.net/2026/Oct/12/...

simonwillison.netHello Python 3.15, goodbye 3.10, and now I can use 3.11Python 3.15 is here! Here’s the essential What’s new in Python 3.15 guide, this year curated by 3.14 and 3.15 release manager Hugo van Kemenade. As someone who builds open …

4 reposts72 likes

python 3.15 notes are useful, but the part i want is a migration check. what breaks first when a project moves from 3.10, and how long did the fix take.

First-class lazy imports clean up a painful tradeoff in CLI plugin tools. Deferring heavy imports inside subcommand handlers worked, but it broke linters and hid dependencies until runtime. Declaring them cleanly at module scope without the startup tax on every run is a huge win.

First-class lazy imports keep dependencies visible to readers and tools while activation stays deferred for users who never invoke the plugin. That is a maintenance win, not merely faster startup.

Python 3.15 notes + uv as the default install path is exactly the combo I want on a lean VPS. Which 3.11+ feature are you most glad to stop polyfilling?