Перетяжка, Премия ТПрогер, 13.11
Перетяжка, Премия ТПрогер, 13.11
Перетяжка, Премия ТПрогер, 13.11

Будущее Python: какие тренды развития и боли языка обсуждали на PyCon 2025

Будущее Python: тренды PyCon 2025 — CPython 3.14, noGIL, безопасность и новые инструменты

982 открытий6К показов
Будущее Python: какие тренды развития и боли языка обсуждали на PyCon 2025

CPython и его «кишки», асинхронность и фрагментация, управление зависимостями, безопасность и боли научного кода. Что обсуждали на профильной конференции для Python-разработчиков.

Data QA Елизавета Якушева побывала на конференции специально для Tproger и поделилась самым важным.

Вот и отгремела PyCon в Москве. Мероприятие продлилось два дня — с докладами, мастер‑классами, lightning talks, спринтами для ~700 участников и 20+ докладчиками. Рассказываем, какие тренды и боли обозначили эксперты индустрии.

Основная тема этого сезона — Python Core. Речь про внутренности языка, новые фичи, интерпретаторы, оптимизацию и профилирование. Конечно, никуда без тестирования, ML и Data Science. Отдельными важными темами стали асинхронность, интеграции с Rust/Go/C++, безопасность, микропитон (MicroPython), PyPy и прочая high‑load магия.

А теперь подробности!

Будущее CPython 3.14

Пётр Андреев из МФТИ рассказал про noGIL: погружение в будущее CPython 3.14. Основные проблемы с GIL и их решения.

GIL (Global Interpreter Lock) — главный тормоз многопоточности в Python. Он нужен для потокобезопасности, но мешает масштабировать CPU-bound задачи. Доклад объясняет, почему просто «убрать GIL» нельзя — слишком много внутренностей CPython завязано на него.

Бутылочное горлышко в GIL (limited RAM), по мнению эксперта, заключается в том, что он:

  • Замедляет предобработку данных для GPU.
  • Ограничивает использование многоядерных процессоров для CPU-bound задач
  • Усложняет отладку и логирование при использовании процессов вместо потоков

Но нельзя просто взять и убрать GIL, возникнет:

  • Несовместимость с существующими расширениями.
  • Проблемы с потокобезопасностью внутренних структур памяти CPython (race condition).

Возможный путь — Free-threading (без GIL), он даёт следующие преимущества:

  • Атомарные операции гарантируют завершение.
  • Критические секции (Py_BEGIN_CRITICAL_SECTION и Py_END_CRITICAL_SECTION) обеспечивают потокобезопасность без явной блокировки, но могут снижать производительность, так как другие потоки будут вынуждены ожидать.

Оптимизировать управление памятью можно с помощью Biased Reference Counting (BRC) и Deferred Reference Counting (DRC) для ускорения подсчета ссылок без GIL.

  • BRC позволяет потоку-владельцу изменять счетчик ссылок неатомарно, а другие потоки делают это атомарно.
  • DRC — отложенные обновления счетчиков ссылок. Это позволяет улучшить производительность за счет уменьшения дорогостоящих атомарных операций.

Виктор Тыщенко из Точки рассмотрел эволюцию CPython. Рассказал, почему python вырвался в ТОП-3 самых известных языков программирования, рассмотрел важные вехи его развития и ответил на вопрос, что нас ждёт в ближайших релизах.

А ждёт нас:

  • Улучшение JIT-компилятора.
  • Top-of-stack caching.
  • Tail-calling interpreter.
  • Эффективное управление памятью.
  • Расширяемая система специализаций.
  • Поддержка субинтерпретаторов и многопоточности.

Асинхронность и фрагментация sync/async

Евгений Блинов из Авито рассказал, как победить актуальную проблему — фрагментацию на sync и async, чтобы питон больше не ел сам себя. Ведь ещё недавно в Python-комьюнити активно обсуждали асинхронность, писали под неё фреймворки и переписывали библиотеки. Но это приводило к дублированию экосистемы и разрастанию числа библиотек.

Выход есть. Эксперт предлагает сократить дублирование кода с помощью шаблонизации. Для этого теперь есть инструмент transfunctions, который переписывает шаблонную функцию на уровне AST. Вершина эволюции — суперфункции, которые умеют быть всем.

Управление зависимостями и разрешение конфликтов

Евгений Желонкин из Контура поднял сложную тему эволюции алгоритмов разрешения конфликтов зависимостей в Python. Затронул графы зависимостей и объяснил, почему задача разрешения конфликтов относится к NP-полным и что нам с этим делать.

Разобрал как простые жадные стратегии, так и полноценные SAT-решатели и эвристики, используемые в pip, poetry и новом сверхбыстром инструменте uv.

Особенно полезна эта тема тем, кто работает со средними и большими Python-проектами, CI/CD, и в целом всем, кто когда-либо ставил зависимости и сталкивался с Dependency Hell.

Повышение качества научного кода

Python — классический инструмент для научных вычислений, он используется в биологии, физике, медицине, химии и множестве других сфер. У языка есть множество библиотек для самых разных отраслей. Но учёные часто не знакомы с лучшими практиками и стандартами программирования. В результате код становится трудночитаемым, неинтерпретируемым, его сложно рефакторить и запускать.

Андрей Гетманов из ИТМО рассказал, как обстоят дела в исследованиях в ML и о том, почему код научных статей так больно читать. Показал открытый проект Open Source Advisor (OSA), который разрабаотывают в ИТМО. OSA генерирует ридми, пишет докстринги, даёт рекомендации и даже оформляет Pull Request. Учёным остаётся внести правки и готово — получается красивый репозиторий с удобным кодом.

Андрей Гетманов также поделился, что происходит под капотом OSA: агентная логика, стратегии промптинга, работа с необычными запросами учёных.

Data, ML, Data Governance и человеко-читаемые данные

Артём Каледин из МТС в своём докладе рассказал, как заботиться о данных в таблицах и делать их human‑readable — то есть, понятными, воспроизводимыми и управляемыми в бизнес‑контексте.

Также показал, что сейчас предлагают в OpenSource и как компании внутри дорабатывают эти продукты для максимальной продуктивности. Научил преобразовать классический путь от построения витрины с данными и ML-моделей до их формального описания вне привычного MLOps.

Работа с LLM, ML4Code и честные бенчмарки

Павел Задорожный из Сбера провёл воркшоп на тему «Оценка моделей генерации кода: практика, ловушки и реальные бенчмарки на Python» — разбор репозиториев, метрик BLEU и CodeBLEU, репотестов и Docker‑инфраструктуры.

Рассмотрел практические подходы к построению открытых бенчмарков для генерации кода, основанных на реальных сценариях разработки и полноценном тестировании.

Показал, как решали проблемы несовместимости зависимостей, нестабильных билдов и разнообразия тестовых инфраструктур, как автоматизировали сбор задач и сделали оценку прозрачной и воспроизводимой для любых исследователей.

Безопасность и устойчивость в Python: тренд, который больше не игнорируют

Алексей Смирнов из CodeScoring рассказал, что происходит в мире безопасности open source пакетов. Разобрался, что делает сообщество, чтобы защитить разработчиков от злоумышленников, какие новые PEP’ы появились и готовы ли разработчики им следовать.

Типовые слабости пакетов:

  • CWE-937. Неправильная обработка входных данных пользователя.
  • CWE-400. Неконтролируемое потребление ресурсов.
  • CWE-22. Обход каталога (Path Traversal).
  • CWE-502. Десериализация недоверенных данных.
  • CWE-94. Некорректный контроль над генерацией кода (инъекции кода).

Примеры вредоносных компонентов в открытых инструментах PyPI:

1. OSSF package analysis

2. bandit4mal

3. OSSGadget

4. MalOSS

5. pypi-scan [archived]

Но для решения этих проблем существуют базовые практики безопасной разработки:

  • Применение правильных статических анализаторов;
  • Проверка не только своего кода; 
  • bandit или semgrep.

Нелли Камалян из Positive Technologies пояснила, почему статический анализ — ваша первая линия защиты и как его использовать. Ведь с помощью статического анализа можно обнаружить проблемы ещё на этапе разработки.

Говорили про анализ кода на примере Semgrep и других инструментов для проверки Python-приложений. А ещё был разбор самых популярных ошибок, способов их исправить и пути интеграции полезных инструментов в рабочие процессы.

Максим Сахно из Контура разъяснил классический архитектурный принцип инверсии зависимостей (DIP) для Python. Несмотря на популярность в других языках, в Python его долгое время не использовали. И вот, пожалуйста, честный разбор, как именно работает DIP в змеином языке и его популярных фреймворках для безопасности и устойчивости.

Итоги

PyCon 2025 показал, что Python продолжает активно развиваться как снаружи, так и изнутри. В центре внимания оказался CPython 3.14 с отменой GIL, а также борьба с фрагментацией между синхронным и асинхронным кодом, рост важности инструментов управления зависимостями и бум интереса к качеству научного и ML-кода. Разработчики всё чаще сталкиваются с необходимостью работать на стыке Python и других языков — Rust, Go, C++ — и одновременно ожидают повышения безопасности, удобства и масштабируемости.

Python вступает в эру, где качество инфраструктуры, безопасность open source, тестируемость, читаемость и доступность кода важны не меньше, чем синтаксис или фреймворки. Возникают новые практики и инструменты, которые помогают справляться с растущей сложностью: от Semgrep и uv до автоматизации Readme и метаданных через OSA. Вся экосистема движется к зрелости, в которой Python становится не только языком, но и полноценной платформой для гибкой, безопасной и воспроизводимой разработки.
Следите за новыми постами
Следите за новыми постами по любимым темам
982 открытий6К показов