PEP 810 "Explicit lazy imports" has been accepted and is coming to Python 3.15 (2026-03-10's 3.15.0a7 will be the first release).
This adds a new lazy keyword for imports:
lazy import json
lazy from json import dumps
And also a __lazy_modules__ for backwards compatibility with pre-3.15:
__lazy_modules__ = ["json"]
import json
It would be useful to also sort __lazy_modules__. Two options:
- Alphabetical
- Follow the isort settings, for example: stdlib, third-party, local
The Steering Council's acceptance said:
We agree that the PEP should take no position on any style recommendations for sorting lazy imports. While we generally like the idea of grouping lazy imports together, let’s leave that up to the linters and auto-formatters to decide the details.
See also astral-sh/ruff#21305.
PEP 810 "Explicit lazy imports" has been accepted and is coming to Python 3.15 (2026-03-10's 3.15.0a7 will be the first release).
This adds a new
lazykeyword for imports:And also a
__lazy_modules__for backwards compatibility with pre-3.15:It would be useful to also sort
__lazy_modules__. Two options:The Steering Council's acceptance said:
See also astral-sh/ruff#21305.