PyCQA/isort

Support explicit lazy imports in Python 3.15 (PEP 810)

Open

#2462 opened on Feb 25, 2026

View on GitHub
 (4 comments) (3 reactions) (0 assignees)Python (6,146 stars) (594 forks)batch import
enhancementhelp wanted

Description

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 https://github.com/astral-sh/ruff/issues/21305.

Contributor guide