Forwarded from Находки в опенсорсе
https://www.youtube.com/watch?v=wgxBHuUOmjA
Добавил ключевое слово
https://github.com/python/cpython/pull/131982 🎉
Добавил ключевое слово
maybe
в Python3.14https://github.com/python/cpython/pull/131982 🎉
YouTube
BREAKING: Guido van Rossum Returns as Python's BDFL (spoof)
Guido van Rossum, the legendary creator of Python, is back as Python’s Benevolent Dictator for Life (BDFL)! But this isn’t the same Guido you remember - he’s introducing new rules, enforcing dramatic coding rituals, and possibly rewriting Python itself… maybe.…
🤡11😁5👏2👍1
Решил поучаствовать в конкурсе от GitVerse и соответственно написал статью на хабре:
https://habr.com/ru/articles/899636/
Буду рад вашей критике!
https://habr.com/ru/articles/899636/
Буду рад вашей критике!
🔥46👍16❤4
CPython notes
Breaking: PEP 750 - Template Strings был принят: https://github.com/python/steering-council/issues/275#issuecomment-2794619570
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10🤯1
❤14👍2
PEP 749 (буквально, пеп о том как будет реализован PEP 649)
принят: https://discuss.python.org/t/pep-749-implementing-pep-649/54974/66
Что ж,
принят: https://discuss.python.org/t/pep-749-implementing-pep-649/54974/66
Что ж,
annotationlib
, добро пожаловать в семью.😁17👍3😢2❤1🤯1🤩1
Первая бета 3.14 здесь!
Среди новвоведений:
- Подсветка синтаксиса в REPL'e
- Так называемые t-strings (aka PEP 750)😭
- Поддержка UUID v6, v7, v8 (yay!)
- Тот самый PEP (749) про отложенное вычисление аннотаций (annotationlib)
Специфично для CPython:
- Tail Calling Interpreter для ускорения VM (+5-10% по производительности)
- Примитивы из hashlib были заменены на их формально верифицированные версии из HACL
https://discuss.python.org/t/python-3-14-0-beta-1-is-here
Среди новвоведений:
- Подсветка синтаксиса в REPL'e
- Так называемые t-strings (aka PEP 750)
- Поддержка UUID v6, v7, v8 (yay!)
- Тот самый PEP (749) про отложенное вычисление аннотаций (annotationlib)
Специфично для CPython:
- Tail Calling Interpreter для ускорения VM (+5-10% по производительности)
- Примитивы из hashlib были заменены на их формально верифицированные версии из HACL
https://discuss.python.org/t/python-3-14-0-beta-1-is-here
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31❤1😁1
Еще одна модель конкурентности в питоне?
https://discuss.python.org/t/add-virtual-threads-to-python/91403
За ссылку спасибо @mikhail_efimov
https://discuss.python.org/t/add-virtual-threads-to-python/91403
За ссылку спасибо @mikhail_efimov
😭9❤6👀1
Массовые увольнения происходят в Microsoft.
Судя по этому посту, как минимум половина, или возможно даже вся команда Faster-CPython была уволена.
(Faster-CPython team — команда работающая над ускорением CPython, и спонсируемая Microsoft)
Подтверждений этому от самих участников команды еще нет, но это весьма вероятно.
Автор поста на скриншоте непосредственно связан с Faster-CPython team.
К слову, на текущий момент этот пост выглядит иначе (скриншот первоначальной версии поста я честно украл у Никиты Соболева :)).
Автор убрал количество core-developer'ов, и.. непонятно что это значит, честно говоря. Вероятно кого-то все таки не уволили?
Судя по этому посту, как минимум половина, или возможно даже вся команда Faster-CPython была уволена.
(Faster-CPython team — команда работающая над ускорением CPython, и спонсируемая Microsoft)
Подтверждений этому от самих участников команды еще нет, но это весьма вероятно.
Автор поста на скриншоте непосредственно связан с Faster-CPython team.
К слову, на текущий момент этот пост выглядит иначе (скриншот первоначальной версии поста я честно украл у Никиты Соболева :)).
Автор убрал количество core-developer'ов, и.. непонятно что это значит, честно говоря. Вероятно кого-то все таки не уволили?
😱27😢3❤🔥1❤1😭1
CPython notes
Массовые увольнения происходят в Microsoft. Судя по этому посту, как минимум половина, или возможно даже вся команда Faster-CPython была уволена. (Faster-CPython team — команда работающая над ускорением CPython, и спонсируемая Microsoft) Подтверждений этому…
Официальное подтверждение тому, что Microsoft более не спонсирует Faster CPython.
Уволили не всех, видимо тех кого не уволили перераспределят на новые проекты.
Люди, которых уволили:
Irit Katriel
Eric Snow
Mark Shannon
Уволили не всех, видимо тех кого не уволили перераспределят на новые проекты.
Люди, которых уволили:
Irit Katriel
Eric Snow
Mark Shannon
😨32😢18❤2😭2🤯1
Был принят и реализован PEP 768.
Он позволяет исполнять код в рамках разных процессов(!) одного хоста.
API довольно простое.
Конечно, существуют некоторые ограничения: мажорная и минорная версии интерпретатора, из которого отправляется запрос, должны совпадать с мажорной и минорной версией целевого интерпретатора.
И конечно, целевой интерпретатор должен поддерживать эту фичу, которую можно отключить с помощью
Безопасно ли это?
Конечно нет. В названии PEP используется слово safe, но оно не про безопасность исполнения кода, а про безопасное API что б "присоединяться" к Python-процессам, что может быть полезно для дебаггеров, например для
Теперь о самом интересном. Как же это реализовано?
- Windows: https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-writeprocessmemory
- UNIX: https://linuxman7.org/linux/man-pages/man2/process_vm_readv.2.html
- macOS: https://developer.apple.com/documentation/kernel/1402070-mach_vm_write
Все это позволяет нам писать в нужную область памяти целевого процесса.
Отлично, мы записали информацию (конкретно, путь до файла с Python кодом который нужно исполнить). Что дальше?
Теперь дело остается за целевым процессом.
Здесь у нас есть два варианта.
1) Как вы можете знать, в Python существуют обработчики сигналов. Именно в общем обработчике сигналов как раз и проверяется, нет ли у нас <входящих запросов> на выполнение кода. Если таковые есть — считываем Python код из пути что нам отправили и выполняем его.
Почему обработка подобных запросов находится в обработчике сигналов, хотя ничего из этого не относится к сигналам?
Думаю, дело в частых попытках обработать сигналы, соответственно там же мы можем и проверить входящие запросы на исполнение Python кода. Согласно PEP, код который мы отправили будет исполнен в "следующий возможный момент", что как раз и попадает под обработку сигналов.
2) В самом интерпретаторе есть обработка "внутренних запросов":
— "stop-the-world" (пауза для сборки мусора)
— обработка тех самых сигналов :)
— обработка асинхронных исключений
— запуск сборки мусора
Теперь к этому списку добавилась обработка запросов на исполнение кода.
Осталось только что б кто-то на основе этого построил RPC :)
Он позволяет исполнять код в рамках разных процессов(!) одного хоста.
API довольно простое.
sys.remote_exec
принимает первым аргументом pid
процесса, в котором уже(!) запущен Python-интерпретатор, а второй аргумент путь до файла с Python кодом который нужно исполнить.Конечно, существуют некоторые ограничения: мажорная и минорная версии интерпретатора, из которого отправляется запрос, должны совпадать с мажорной и минорной версией целевого интерпретатора.
И конечно, целевой интерпретатор должен поддерживать эту фичу, которую можно отключить с помощью
-X disable-remote-debug
или env-переменной PYTHON_DISABLE_REMOTE_DEBUG
.Безопасно ли это?
Конечно нет. В названии PEP используется слово safe, но оно не про безопасность исполнения кода, а про безопасное API что б "присоединяться" к Python-процессам, что может быть полезно для дебаггеров, например для
pdb -p
.Теперь о самом интересном. Как же это реализовано?
- Windows: https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-writeprocessmemory
- UNIX: https://linuxman7.org/linux/man-pages/man2/process_vm_readv.2.html
- macOS: https://developer.apple.com/documentation/kernel/1402070-mach_vm_write
Все это позволяет нам писать в нужную область памяти целевого процесса.
Отлично, мы записали информацию (конкретно, путь до файла с Python кодом который нужно исполнить). Что дальше?
Теперь дело остается за целевым процессом.
Здесь у нас есть два варианта.
1) Как вы можете знать, в Python существуют обработчики сигналов. Именно в общем обработчике сигналов как раз и проверяется, нет ли у нас <входящих запросов> на выполнение кода. Если таковые есть — считываем Python код из пути что нам отправили и выполняем его.
Почему обработка подобных запросов находится в обработчике сигналов, хотя ничего из этого не относится к сигналам?
Думаю, дело в частых попытках обработать сигналы, соответственно там же мы можем и проверить входящие запросы на исполнение Python кода. Согласно PEP, код который мы отправили будет исполнен в "следующий возможный момент", что как раз и попадает под обработку сигналов.
2) В самом интерпретаторе есть обработка "внутренних запросов":
— "stop-the-world" (пауза для сборки мусора)
— обработка тех самых сигналов :)
— обработка асинхронных исключений
— запуск сборки мусора
Теперь к этому списку добавилась обработка запросов на исполнение кода.
Осталось только что б кто-то на основе этого построил RPC :)
❤12👍9🔥4🤔3😁1
https://www.microsoft.com/en-us/research/wp-content/uploads/2025/04/pyrona_camera_ready.pdf
Paper от Faster-CPython team: "Dynamic Region Ownership for Concurrency Safety"
Paper от Faster-CPython team: "Dynamic Region Ownership for Concurrency Safety"
🔥9🌭2
PEP 734: Multiple Interpreters in the Stdlib (Публичное Python API к сабинтерпретаторам) был принят:
https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/36
Вообще, уже был достигнут feature-freeze для 3.14 (после этого момента не добавляются никакие новые фичи), но руководящий совет решил сделать исключение.
🥳
https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/36
Вообще, уже был достигнут feature-freeze для 3.14 (после этого момента не добавляются никакие новые фичи), но руководящий совет решил сделать исключение.
🥳
❤15👍8🍌5
CPython notes
PEP 734: Multiple Interpreters in the Stdlib (Публичное Python API к сабинтерпретаторам) был принят: https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/36 Вообще, уже был достигнут feature-freeze для 3.14 (после этого момента не…
Реализация PEP 734 возможно будет отложена до 3.15.
Автор PEP Эрик Сноу, не согласен с решением руководящего совета о переименовании модуля из
За ссылку спасибо @mikhail_efimov
Автор PEP Эрик Сноу, не согласен с решением руководящего совета о переименовании модуля из
interpreters
в concurrent.interpreters
: https://discuss.python.org/t/decision-making-process-improvements-or-my-frustrations-with-how-pep-734-has-played-out/95985За ссылку спасибо @mikhail_efimov
🤔7❤1
https://discuss.python.org/t/introducing-cpython-memory-tracker/96721
Потыкать на мок данных можно тут: https://memory.python.org/
Потыкать на мок данных можно тут: https://memory.python.org/
👍7
Никита - один из самых известных русскоязычных опенсорс разработчиков (в том числе участник CPython core team 😎).
Советую подписаться на его канал - @opensource_findings где он часто освещает новинки в Питоне и не только!
Так же советую посмотреть его курс лекций по внутренностям CPython - тык!
Никита занимается опенсорсом фуллтайм, и будет рад если вы его поддержите - https://boosty.to/sobolevn
Советую подписаться на его канал - @opensource_findings где он часто освещает новинки в Питоне и не только!
Так же советую посмотреть его курс лекций по внутренностям CPython - тык!
Никита занимается опенсорсом фуллтайм, и будет рад если вы его поддержите - https://boosty.to/sobolevn
❤25🔥8🤡6👍5😁4🐳1🌚1
CPython notes
Официальное подтверждение тому, что Microsoft более не спонсирует Faster CPython. Уволили не всех, видимо тех кого не уволили перераспределят на новые проекты. Люди, которых уволили: Irit Katriel Eric Snow Mark Shannon
Менеджера команды Faster-CPython переманила к себе Nvidia. Стоит учесть, что из Microsoft при недавних увольнениях он не был затронут.
Вероятно, остальных ребят из Faster-CPython тоже переманили :)
Вероятно, остальных ребят из Faster-CPython тоже переманили :)
🥰23❤10👍1
Статья на тему перевода CPython со стэковой виртуальной машины на регистровую.
https://dl.acm.org/doi/pdf/10.1145/3568973
https://dl.acm.org/doi/pdf/10.1145/3568973
👍7🍌7
Forwarded from Находки в опенсорсе
Большая бесплатная Python конференция в Нижнем Новгороде!
У меня хорошая новость. Делаем бесплатную конфу по питону, пригласили топовых специалистов: core-разработчиков, контрибьюторов, организаторов разных комьюнити движух, специалистов из индустрии. И все – участники нашего чата. Как же так получилось 🌚
Вот такой список докладов:
- Подопригора Кирилл, CPython core dev, Evrone: Кто такой CFG в CPython, и какую роль он выполняет?
- Хитров Николай, организатор @peer_2beer, Точка Банк: Проектирование — это когда чувствуешь, а не какие-то там циферки
- Ильиных Илья, организатор @spbpythonnews, блоггер @kydavoiti: Vim — это метаредактирование
- Джалаев Давид, Газпром-нефть ЦР: Continuous profiling
- Порядин Алексей, участник @pytho_nn: AI-агенты в каждый дом
- Мирянов Сергей, CPython contributor, РН-Технологии: Внутреннее устройство сборки мусора в CPython 3.14+
- Неретин Степан, CPython contributor, Postgres Professional: Своя файловая система за 5 минут на Python
- Ефимов Михаил, CPython contributor, X5 Tech: Генератор байткода и байткод генератора
Ну мощь же 💪
Да, конференции можно делать и не за 50 тыщ за билет.
А еще будет много доброго общения, обсуждения кишочков питона, настолки и тусовка до утра :)
Идеальный день.
Бронируйте дату! Если давно хотели побывать в Нижнем – вот идеальный повод. Буду рад всех видеть лично!
📍 Когда: 20 сентября 2025 года
📍 Где: ул. Нижне-Волжская набережная, 11, «Академия Маяк» им. А.Д. Сахарова
Регистрация обязательна: https://dev.itgorky.ru
| Поддержать | YouTube | GitHub | Чат |
У меня хорошая новость. Делаем бесплатную конфу по питону, пригласили топовых специалистов: core-разработчиков, контрибьюторов, организаторов разных комьюнити движух, специалистов из индустрии. И все – участники нашего чата. Как же так получилось 🌚
Вот такой список докладов:
- Подопригора Кирилл, CPython core dev, Evrone: Кто такой CFG в CPython, и какую роль он выполняет?
- Хитров Николай, организатор @peer_2beer, Точка Банк: Проектирование — это когда чувствуешь, а не какие-то там циферки
- Ильиных Илья, организатор @spbpythonnews, блоггер @kydavoiti: Vim — это метаредактирование
- Джалаев Давид, Газпром-нефть ЦР: Continuous profiling
- Порядин Алексей, участник @pytho_nn: AI-агенты в каждый дом
- Мирянов Сергей, CPython contributor, РН-Технологии: Внутреннее устройство сборки мусора в CPython 3.14+
- Неретин Степан, CPython contributor, Postgres Professional: Своя файловая система за 5 минут на Python
- Ефимов Михаил, CPython contributor, X5 Tech: Генератор байткода и байткод генератора
Ну мощь же 💪
Да, конференции можно делать и не за 50 тыщ за билет.
А еще будет много доброго общения, обсуждения кишочков питона, настолки и тусовка до утра :)
Идеальный день.
Бронируйте дату! Если давно хотели побывать в Нижнем – вот идеальный повод. Буду рад всех видеть лично!
📍 Когда: 20 сентября 2025 года
📍 Где: ул. Нижне-Волжская набережная, 11, «Академия Маяк» им. А.Д. Сахарова
Регистрация обязательна: https://dev.itgorky.ru
| Поддержать | YouTube | GitHub | Чат |
Telegram
Находки в опенсорсе: чат
Канал: @opensource_findings
Ежедневный дайждест обсуждений по тегу #dailysummary
Правила: https://gist.github.com/sobolevn/d9a598a23e6bb89e51ada71033e9103f
Ежедневный дайждест обсуждений по тегу #dailysummary
Правила: https://gist.github.com/sobolevn/d9a598a23e6bb89e51ada71033e9103f
🔥12❤2🥴2🤯1💩1