Simon Willison writes about the release of Python 3.15 and the retirement of 3.10, highlighting new features and the practical implications for open-source maintainers.
- Explicit lazy imports (PEP 810) allow modules to be loaded only when symbols are first used, directly reducing startup time for CLI tools with heavy optional dependencies.
- PEP 798 introduces unpacking syntax for lists, sets, and dictionaries within comprehensions.
- A new low-overhead sampling profiler named Tachyon is now built into the standard library, capable of attaching to running processes and generating flame graphs.
- The experimental JIT compiler showed a 1.2x performance boost on specific benchmarks, marking the first time a meaningful increase was observed.
- Python 3.10 has reached end-of-life, allowing developers to adopt 3.11 features such as `tomllib`, `asyncio.TaskGroup`, and improved SQLite extensions.