Запись архива

Вышел Python 3.15.0 RC2: что нужно знать разработчикам AI-инструментов

Финальный кандидат Python 3.15 доступен для тестирования. Релиз-менеджер Хьюго ван Кеменад призывает мейнтейнеров готовить колёса к октябрьскому релизу. Саймон Уиллисон проверил совместимость своих AI-проектов — и нашёл узкое место в scikit-learn.

Терминал с процессом установки Python 3.15.0 release candidate 2
Терминал с процессом установки Python 3.15.0 release candidate 2
Fırtına Haber.png | by Fırtına Haber | wikimedia_commons | CC BY-SA 4.0

1 сентября 2026 года Хьюго ван Кеменад, релиз-менеджер Python 3.14 и 3.15, объявил о выходе второго кандидата в релиз Python 3.15.0. Финальная стабильная версия ожидается в октябре 2026 года. С этого момента в код вносятся только исправления критических ошибок — API и синтаксис заморожены.

Разработчикам AI-инструментов, работающих на Python, стоит обратить внимание на этот релиз: совместимость экосистемы с новой версией может повлиять на сборку, тестирование и деплой проектов.

Что изменилось в Python 3.15

Переход к стадии release candidate означает, что все запланированные возможности уже реализованы. Ван Кеменад подчёркивает: «Только проверенные изменения кода, которые являются явными исправлениями ошибок, допускаются между этим кандидатом и финальным релизом».

Для разработчиков это сигнал начинать тестирование своих проектов. Любые бинарные wheels, собранные под Python 3.15.0 RC, будут совместимы с будущими версиями 3.15.x — это важное обещание обратной совместимости на уровне бинарных пакетов.

Мейнтейнерам сторонних проектов рекомендовано публиковать wheels на PyPI уже сейчас, чтобы помочь сообществу провести собственное тестирование.

Проверка совместимости: опыт Саймона Уиллисона

Саймон Уиллисон, создатель Datasette, sqlite-utils и инструмента LLM для работы с языковыми моделями, оперативно протестировал свои проекты на Python 3.15.0 RC2. Результаты:

Datasette — тесты пройдены.

sqlite-utils — тесты пройдены.

LLM — тестирование заблокировано из-за отсутствия wheel для scikit-learn, который опционально используется в тестовом наборе.

Этот пример иллюстрирует типичную проблему экосистемы Python при переходе на новую мажорную версию: даже опциональная зависимость от популярной библиотеки может остановить CI/CD. Для AI-проектов, активно использующих scikit-learn, это сигнал проверить совместимость заранее.

Как настроить CI для тестирования на Python 3.15 RC2

На момент публикации RC2 ещё не добавлен в actions/python-versions для GitHub Actions. Однако Уиллисон предлагает рабочий способ включения в матрицу тестирования. В workflow достаточно указать:

strategy:
matrix:
python-version: [«3.14», «3.15»]

steps:
— uses: actions/setup-python@v7
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
check-latest: true

Флаги allow-prereleases и check-latest гарантируют, что раннер автоматически переключится на последнюю доступную pre-release версию. Сейчас это RC1, но при появлении RC2 в репозитории actions/python-versions тесты начнут выполняться на нём, а затем — на стабильном релизе.

Почему это важно для разработчиков AI-инструментов

Python остаётся основным языком для разработки AI-агентов, LLM-приложений и инструментов автоматизации. Пропуск этапа тестирования на RC может привести к обнаружению несовместимости уже после выхода стабильной версии. Уиллисон напоминает о собственном опыте 2021 года: он нашёл баг в Python 3.10, прогнав свои тесты, но сделал это уже после релиза. С тех пор он уделяет особое внимание тестированию на кандидатах.

Для проектов, использующих популярные ML-библиотеки (scikit-learn, PyTorch, TensorFlow), важно не только проверить свой код, но и убедиться, что зависимости собраны под новую версию. Если wheel отсутствует, тестирование может быть заблокировано, как в случае с LLM и scikit-learn.

Что делать прямо сейчас

Разработчикам AI-инструментов на Python стоит:

Добавить Python 3.15 в матрицу CI с флагами allow-prereleases и check-latest.

Проверить сборку wheels для своих проектов на Python 3.15.

Убедиться, что ключевые зависимости (numpy, scikit-learn, torch, transformers) либо уже собраны под 3.15, либо запланированы к сборке до октября.

Сообщить о найденных несовместимостях в трекеры соответствующих проектов.

Финальный релиз Python 3.15.0 ожидается в октябре 2026 года. Текущий RC2 — последняя возможность повлиять на совместимость до стабилизации.

Источники