Subinterpreters в Python 3.14: альтернатива multiprocessing с честным мультикором

Привет, Хабр! В C/C++ давно принято встраивать Python в приложения для скриптовой логики и плагинов. Именно эта экосистема много лет давала повод развивать в CPython идею нескольких изолированных интерпретаторов в одном процессе. Долгое время это было только в C-API: создаёшь новый интерпретатор через Py_NewInterpreter , живёшь с одним общим GIL и кучей глобального состояния. В Python 3.12 появилось ключевое изменение — GIL стал на-интерпретатор (каждый subinterpreter со своим GIL), но доступ был только через C-API. В 3.14 подвезли полноценный высокоуровневый Python-API: модуль concurrent.interpreters и InterpreterPoolExecutor . Теперь можно писать параллельный код без multiprocessing , но с изоляцией уровня «почти процесс». Дальше разберёмся, что это такое, когда это уместно вместо multiprocessing .

https://habr.com/ru/companies/otus/articles/938292/

#PYTHON #Python_314 #subinterpreters #InterpreterPoolExecutor #concurrentinterpreters #мультипоточность #GIL

Subinterpreters в Python 3.14: альтернатива multiprocessing с честным мультикором

Привет, Хабр! В C/C++ давно принято встраивать Python в приложения для скриптовой логики и плагинов. Именно эта экосистема много лет давала повод развивать в CPython идею...

Хабр

CPython — бессмертные Immortal объекты

Начиная с версии 3.12 Python поддерживает такой тип объектов, как бессмертные ( Immortal ). Бессмертными объектами являются глобальные константы, такие как None , False , True , а также некоторые другие объекты. Если вам интересно, что это за объекты, как ими становятся обычные смертные, где они используются и как повлияли на CPython — добро пожаловать.

https://habr.com/ru/articles/929228/

#python #cpython #subinterpreters #космотекст

CPython — бессмертные Immortal объекты

Начиная с версии 3.12 Python поддерживает такой тип объектов, как бессмертные ( Immortal ). Бессмертными объектами являются глобальные константы, такие как None , False , True ,...

Хабр

PEP-734: Субинтерпретаторы в Python 3.14

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство. Я продолжаю свой цикл статей на хабре про детали реализации питона. Сегодня поговорим про субинтерпертаторы, их устройство, прошлое и, надеюсь, светлое будущее. Под катом будет про: новые питоновские API для ускорение и паралеллизации ваших програм, про управление памятью, про дублирование данных. Ну и много C кода! Чтобы разобраться в вопросе и рассказать вам, я сделал несколько важных шагов: прочитал почти весь код данной фичи, начал коммить в субинтерпретаторы и взял интервью у автора данного проекта. Интервью доступно с русскими и английскими субтитрами. А еще я добавил кучу контекста прямо в видео. Ставьте на паузу и читайте код. Если вам такое интересно или целиком незнакомо – добро пожаловать!

https://habr.com/ru/articles/928054/

#python #python3 #C #subinterpreters #космотекст

PEP-734: Субинтерпретаторы в Python 3.14

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство. Я продолжаю свой цикл статей на хабре про детали реализации питона....

Хабр

Want to find out more about subinterpreters in Python?

PEP 734 author Eric Snow is interviewed by fellow core team member Nikita Sobolev:
https://www.youtube.com/watch?v=VBiaNNpLzWA

https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-pep734

#EricSnow #NikitaSobolev #Python #Python314 #subinterpreters #PEP734

Лучший курс по Python 15: Subinterpreters

YouTube

Just released: Python 3.14.0 beta 3! 🚀🐍

🥧 All the good stuff of b2 but also:

🥧 Free-threaded Python is officially supported! (PEP 779)

🥧 Subinterpreters in the stdlib! (PEP 734)

Do you maintain a Python package? Please test 3.14.

If you find a bug now, we can fix it before October, which helps everyone. And you might find some places in your code to update as well, which helps you.

https://discuss.python.org/t/python-3-14-0-beta-3-is-here/95843?u=hugovk

#Python #CPython #Python314 #release #PEP779 #PEP734 #FreeThreaded #subinterpreters

Python 3.14.0 beta 3 is here!

It’s 3.14 beta 3! https://www.python.org/downloads/release/python-3140b3/ This is a beta preview of Python 3.14 Python 3.14 is still in development. This release, 3.14.0b3, is the third of four planned beta releases. Beta release previews are intended to give the wider community the opportunity to test new features and bug fixes and to prepare their projects to support the new feature release. We strongly encourage maintainers of third-party Python projects to test with 3.14 during the beta...

Discussions on Python.org

A special late acceptance for Python 3.14:

@ericsnowcurrently's PEP 734: Multiple Interpreters in the Stdlib 🚀

https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/36

#Python #PEP734 #subinterpreters #Python314

PEP 734: Multiple Interpreters in the Stdlib

After discussing PEP 734 before and during PyCon, with you and many others, and confirming with @hugovk that he will issue a feature freeze exception for Python 3.14, the Steering Council approves PEP 734, with one suggested change (see below). The Python community is incredibly grateful for your diligence, tenacity, and expertise in bringing the subinterpreters feature to fruition. Despite the Zen of Python’s “There’s Only One Way To Do It”, we believe that giving Python developers options fo...

Discussions on Python.org