13 октября 2026 г.
Python 3.15 добавил ленивые импорты и профайлер Tachyon
В Python 3.15 появились явные ленивые импорты, распаковка в списковых включениях и встроенный профайлер Tachyon. Одновременно завершился период поддержки Python 3.10.
Python 3.15 вышел 12 октября 2026 года. Среди основных новшеств релиза оказались явные ленивые импорты, расширенный синтаксис распаковки и sampling-профайлер Tachyon в стандартной библиотеке. После выхода новой версии также завершилась официальная поддержка Python 3.10, выпущенного в 2021 году.
Ленивые импорты сокращают время запуска
PEP 810 вводит ключевое слово `lazy`, позволяющее отложить загрузку модуля до первого обращения к нему:
python
lazy import json
lazy from pathlib import Path
Такой механизм рассчитан в том числе на приложения с плагинами и тяжёлыми зависимостями. Разработчик Simon Willison рассказал, что плагины его CLI-инструмента LLM могли увеличивать время запуска на несколько секунд из-за библиотек наподобие `sentence_transformers`.
При переходе на ленивые импорты потребуется проверить код, который зависит от выполнения модуля непосредственно во время импорта.
Python 3.15 также поддерживает распаковку внутри списковых включений. Например, выражение `[*items for items in lists]` объединяет вложенные списки в один. Аналогичный синтаксис предусмотрен для множеств и словарей.
Tachyon профилирует работающие процессы
В стандартную библиотеку вошёл sampling-профайлер Tachyon, доступный как `profiling.sampling`. Он периодически фиксирует стеки вызовов и определяет функции, в которых программа проводит больше всего времени. Трассировочный профайлер представлен модулем `profiling.tracing`.
Tachyon может подключаться к уже запущенному процессу Python 3.15 по его PID. Инструмент формирует текстовые отчёты, flame graph, тепловые карты и данные для просмотра в Firefox Profiler.
Проекты смогут отказаться от Python 3.10
Завершение поддержки Python 3.10 позволяет разработчикам, ориентирующимся на актуальные версии языка, поднять минимальное требование до Python 3.11. После этого в коде можно использовать встроенный модуль `tomllib`, `TaskGroup`, `timeout()` и `datetime.UTC`, а также обновлённые средства работы с SQLite.
Отдельного общего ускорения по сравнению с Python 3.14 пока не заявлено. В тестах Miguel Grinberg версии 3.15.0rc3 результаты в основном оставались на уровне 3.14. Экспериментальный JIT ускорил тест с числами Фибоначчи примерно в 1,2 раза, но этот единичный результат нельзя переносить на все приложения. Перед обновлением стоит проверить поддержку Python 3.15 у зависимостей, расширений и инструментов сборки.
