Первый релиз-кандидат Python 3.14 уже доступен для тестирования. Это крупное обновление функций этого популярного языка программирования в этом году. В Python 3.14 появился новый интерпретатор tail-call (вызовов), который обеспечивает более высокую производительность, а также ряд других улучшений производительности. В этом крупном ежегодном обновлении функций теперь официально поддерживается свободнопоточный Python (по сравнению с предыдущим экспериментальным статусом), отложенная оценка аннотаций типов. Добавлен новый модуль «compression.zstd», обеспечивающий сжатие по стандарту Zstandard, внешний интерфейс отладчика для CPython с нулевыми издержками, улучшенный C API для настройки Python, встроенная реализация HMAC, новый интерфейс командной строки и модуль PDB, который теперь может подключаться к удалённо работающему процессу Python. Кроме того, в этом крупном ежегодном обновлении функций представлено множество исправлений и других улучшений.
Далее следует выпуск Python 3.14 RC2, ожидаемый в конце августа, а затем, примерно 7 октября, выйдет Python 3.14.0.
Ссылки на загрузку Python 3.14 RC1 и более подробная информация о сегодняшнем тестовом релизе доступны в блоге Python Insider.
https://pythoninsider.blogspot.com/2025/07/python-314-release-candidate-1-is-go.html
Основные новые возможности серии 3.14 по сравнению с 3.13
Некоторые из основных новых возможностей и изменений в Python 3.14:
Новые возможности
PEP 779: Официально поддерживается свободнопоточный Python
PEP 649: Вычисление аннотаций типов теперь отложено, что улучшает семантику использования аннотаций.
PEP 750: Шаблонные строковые литералы (t-строки) для пользовательской обработки строк с использованием привычного синтаксиса f-строк.
PEP 734: Несколько интерпретаторов в stdlib.
PEP 784: Новый модуль compression.zstd, обеспечивающий поддержку алгоритма сжатия Zstandard.
PEP 758: В выражениях except и except* теперь можно опускать скобки.
Подсветка синтаксиса в PyREPL и поддержка цвета в CLI unittest, argparse, json и calendar.
PEP 768: Интерфейс внешнего отладчика с нулевыми издержками для CPython.
Версии UUID 6–8 теперь поддерживаются модулем uuid, а генерация версий 3–5 происходит на 40% быстрее.
PEP 765: Запрещены команды return/break/continue, которые завершают блок Finally.
PEP 741: Улучшенный API C для настройки Python.
Новый тип интерпретатора. Для некоторых новых компиляторов этот интерпретатор обеспечивает значительно более высокую производительность. На данный момент требуется подписка, сборка из исходного кода.
Улучшенные сообщения об ошибках.
Встроенная реализация HMAC с формально проверенным кодом из проекта HACL*.
Новый интерфейс командной строки для проверки запущенных процессов Python с помощью асинхронных задач.
Модуль pdb теперь поддерживает удалённое подключение к запущенному процессу Python.
=================================================================
Свободнопоточный Python — это сборка интерпретатора CPython, которая отключает или делает необязательной глобальную блокировку интерпретатора (GIL). GIL исторически ограничивал возможность одновременного выполнения нескольких потоков Python на многоядерных процессорах, поскольку гарантировал, что только один поток будет выполнять байт-код Python в каждый момент времени.
Ключевые аспекты свободнопоточного Python:
Удаление GIL:
Основная цель — позволить нескольким потокам Python в одном интерпретаторе выполняться параллельно, используя несколько ядер процессора для повышения производительности многопоточных приложений.
Начало экспериментов: Свободнопоточный Python был представлен как экспериментальная функция в Python 3.13 и получает всё большую поддержку и дорабатывается.
Влияние на расширения: Расширения C и Rust (например, созданные с помощью Cython или PyO3) необходимо адаптировать для обеспечения потокобезопасности в свободнопоточной среде, поскольку GIL больше не обеспечивает неявной защиты общего состояния. Это может включать использование явных механизмов блокировки, таких как мьютексы.
Преимущества производительности:
Для приложений, которые можно эффективно распараллелить с помощью потоков, свободнопоточный Python предлагает потенциал для значительного повышения производительности, особенно в системах с большим количеством ядер процессора.
Адаптация к экосистеме:
Переход на свободнопоточный Python требует адаптации более широкой экосистемы Python, включая библиотеки и инструменты, для обеспечения совместимости и потокобезопасности. Хотя свободнопоточный Python представляет собой существенное изменение в модели потоков CPython, он разработан для поддержания аналогичного поведения потокобезопасности для встроенных типов, таких как списки, словари и множества, посредством использования внутренних блокировок. Конечная цель — сделать свободнопоточный Python сборкой по умолчанию, но это зависит от широкого внедрения и валидации в сообществе.
Смотри детально ( fluent English is a must ) Getting extensions to work with free-threaded Python
Одним из крупнейших изменений в мире Python стало появление интерпретатора с поддержкой свободного потока (free-threading), который устраняет глобальную блокировку интерпретатора (GIL), которая обеспечивала потокобезопасность интерпретатора, но при этом сериализовала многопоточный код Python. На протяжении многих лет GIL вызывал жалобы на масштабируемость кода Python с использованием потоков, поэтому многие разработчики с нетерпением ждали этого изменения, которое стало экспериментальной функцией с момента выхода Python 3.13 в октябре 2024 года. Однако работа по обеспечению совместимости версии с поддержкой свободного потока с остальной экосистемой Python, особенно с нативными расширениями, продолжается; Натан Голдбаум и Лисандрос Николау рассказали об этих усилиях на конференции PyCon 2025.