Новый механизм решает старую проблему длинных цепочек импортов в больших проектах и консольных утилитах.
Разработчики Python приняли PEP 810. Это предложение добавляет в язык явный механизм ленивых импортов. Теперь в коде можно будет писать конструкцию вида lazy import json и модуль загрузится только в тот момент, когда программа действительно обратится к этому имени. Это отличается от обычного импорта, который сразу загружает и выполняет модуль. Такая возможность появится в Python 3.15.
Авторы PEP 810 поясняют что главная цель ускорение запуска и снижение расхода памяти. Сейчас многие программы на Python подхватывают при старте длинную цепочку зависимостей хотя часть из них код так и не использует. Это особенно заметно в консольных утилитах которые запускают ради одной команды или даже ради вывода справки. Ленивый импорт дает разработчику точный контроль над тем, что грузить сразу, а что откладывать.
Важно что поведение будет полностью явным. Обычные import останутся как есть. Ленивость включается только там где разработчик написал lazy. Это сделано для предсказуемости чтобы не менять работу уже существующих библиотек и чтобы по одной строке было видно как ведет себя импорт. Авторы отдельно подчеркивают что ленивый импорт не распространяется по цепочке модулей сам по себе и что это не скрытая глобальная настройка.
В PEP приведены и практические выгоды. В реальных нагрузках команда разработчиков видела ускорение запуска на десятки процентов потому что неиспользуемые подсистемы вообще не заходят в память. Это особенно полезно для больших приложений и для проектов где много импортов ради аннотаций типов которые на самом деле не нужны во время выполнения.
Документ подготовили несколько разработчиков в том числе Pablo Galindo и Thomas Wouters. Статус PEP уже помечен как Accepted а решение опубликовано 3 ноября 2025 года. Это значит что реализация пойдет в основной цикл разработки CPython и экосистема сможет начать адаптацию под новый синтаксис
Разработчики Python приняли PEP 810. Это предложение добавляет в язык явный механизм ленивых импортов. Теперь в коде можно будет писать конструкцию вида lazy import json и модуль загрузится только в тот момент, когда программа действительно обратится к этому имени. Это отличается от обычного импорта, который сразу загружает и выполняет модуль. Такая возможность появится в Python 3.15.
Авторы PEP 810 поясняют что главная цель ускорение запуска и снижение расхода памяти. Сейчас многие программы на Python подхватывают при старте длинную цепочку зависимостей хотя часть из них код так и не использует. Это особенно заметно в консольных утилитах которые запускают ради одной команды или даже ради вывода справки. Ленивый импорт дает разработчику точный контроль над тем, что грузить сразу, а что откладывать.
Важно что поведение будет полностью явным. Обычные import останутся как есть. Ленивость включается только там где разработчик написал lazy. Это сделано для предсказуемости чтобы не менять работу уже существующих библиотек и чтобы по одной строке было видно как ведет себя импорт. Авторы отдельно подчеркивают что ленивый импорт не распространяется по цепочке модулей сам по себе и что это не скрытая глобальная настройка.
В PEP приведены и практические выгоды. В реальных нагрузках команда разработчиков видела ускорение запуска на десятки процентов потому что неиспользуемые подсистемы вообще не заходят в память. Это особенно полезно для больших приложений и для проектов где много импортов ради аннотаций типов которые на самом деле не нужны во время выполнения.
Документ подготовили несколько разработчиков в том числе Pablo Galindo и Thomas Wouters. Статус PEP уже помечен как Accepted а решение опубликовано 3 ноября 2025 года. Это значит что реализация пойдет в основной цикл разработки CPython и экосистема сможет начать адаптацию под новый синтаксис
- Источник новости
- www.securitylab.ru