На стрим по Lazy Imports (PEP 810) я пришел в роли злого полицеского - мне совсем не нравится эта идея. Но, мое мнение поменялось и вот почему я теперь считаю, что это хорошее дизайн-решение:

1️⃣ Сама фича обусловлена не конкретными хотелками, а опирается на числа: 17% импортов в питоне уже располагаются внутри функций (около 0 из них в моем коде). Lazy Imports просто предоставляют "законный" способ сделать то же самое 2️⃣ Фича востребована крупными корпорациями-пользователями, которые живут вообще на своих форках питона. От них уже была попытка затащить Lazy Imports PEP 690 в качестве дефолтного поведения, которую отклонили 3️⃣ Новый пеп делает поведение Lazy Imports ЯВНЫМ и НЕОБЯЗАТЕЛЬНЫМ. Если вы сильно против использования этой фичи - просто запретите в своей кодовой базе на уровне линтера. Вы с ней даже не столкнетесь, если не хотите 4️⃣ Одна эта фича решает сразу 2 проблемы: убирает TYPE_CHECKING и позволяет ускорить стартап скриптов за счет отложенного импорта необязательного функционала 5️⃣ Медленный старт CLI на питоне - это реальная проблема большой группы пользователей. Написание маленьких CLI под задачу - популярная тема для девопсеров. А теперь еще и LLM SKILLS плотно сидят на /scripts. Как бекендеру мне это не очень интересно, но отрицать полезность "ускорить стартап CLI python скриптов" я не могу. В качестве примера в обсуждении PEP жалуются на script.py —help, который стартует 10+ секунд из-за импорта pytorch

По итогу PEP 810 • угождает крупным компаниям-потребителям, которые плотно сидят на CLI Python скриптах • играет на руку AI агентам за счет более быстрых /scripts на питоне • дает "законное" и унифицированное решение для работы с опциональными импортами - до этого каждый городил свое • замещает собой ненавистный if TYPE_CHECKING • дает возможность НЕ ИСПОЛЬЗОВАТЬ ФИЧУ тем, кто не хочет ее юзать

Последний пункт - самый важный для хорошего дизайна. У PEP все еще есть проблемы. Например, до реальных разработчиков библиотек он докатится через 5 лет🤯, когда минимальной живой версией питона будет 3.15. А еще PEP перекладывает проблемы миграции экосистемы на пользователей - сами как-нибудь разберуться. А еще она увеличивает опасность "пострелять себе по ногам" - тут все опять же предоставляется на откуп самих пользователей...

Фича, конечно, выглядит сомнительно. И я вряд ли буду использовать ее МНОГО. Но пару мест в своем коде я уже нашел. Жаль, что придется подождать 5 лет, чтобы ее затащить😂