Forwarded from Коробка с питоном
Пока я спал, руководящий совет языка принял PEP 703 (Making the Global Interpreter Lock Optional in CPython).
Кратко о том, о чём говорится в посте:
1. Руководящему совету ясно, что несмотря на все проблемы и недостатки потоков, nogil будет полезен для Python, так как позволит находить более масштабируемые решения.
2. В то же время, они не уверены, получится ли убрать GIL не сломав при этом обратную совместимость - всё же не хотелось бы терять десятилетия развития базы пакетов. Существующая пакетная экосистема - это одна из сильных сторон языка, как и простая интеграция библиотек на C c CPython.
3. Оценить влияние nogil без реализации сложно, поэтому nogil должен выпускаться в составе регулярных релизов и не обязательно он там должен быть по-умолчанию.
4. Это всё ещё не гарантированная история. Если что-то пойдет не так - от изменений откажутся. Развёртывание должно быть постепенным и наиболее плавным.
5. Выкатка будет происходить в 3 фазы, которые возможно изменятся:
- В первой фазе nogil сделают возможным таргетом при сборке, чтобы разработчики могли тестировать свои пакеты.
- Во второй фазе, когда изменения в API и ABI будут сформированы, а поддержка nogil от сообщества будет достаточной, nogil-сборку добавлят как "поддерживаемую, но не по умолчанию".
- В третьей фазе nogil-сборку сделают сборкой "по-умолчанию", а от gil-сборки будут отказываться.
6. При успешной реализации nogil, ожидается падение производительности на 10-15% в худшем случае.
#pep
Кратко о том, о чём говорится в посте:
1. Руководящему совету ясно, что несмотря на все проблемы и недостатки потоков, nogil будет полезен для Python, так как позволит находить более масштабируемые решения.
2. В то же время, они не уверены, получится ли убрать GIL не сломав при этом обратную совместимость - всё же не хотелось бы терять десятилетия развития базы пакетов. Существующая пакетная экосистема - это одна из сильных сторон языка, как и простая интеграция библиотек на C c CPython.
3. Оценить влияние nogil без реализации сложно, поэтому nogil должен выпускаться в составе регулярных релизов и не обязательно он там должен быть по-умолчанию.
4. Это всё ещё не гарантированная история. Если что-то пойдет не так - от изменений откажутся. Развёртывание должно быть постепенным и наиболее плавным.
5. Выкатка будет происходить в 3 фазы, которые возможно изменятся:
- В первой фазе nogil сделают возможным таргетом при сборке, чтобы разработчики могли тестировать свои пакеты.
- Во второй фазе, когда изменения в API и ABI будут сформированы, а поддержка nogil от сообщества будет достаточной, nogil-сборку добавлят как "поддерживаемую, но не по умолчанию".
- В третьей фазе nogil-сборку сделают сборкой "по-умолчанию", а от gil-сборки будут отказываться.
6. При успешной реализации nogil, ожидается падение производительности на 10-15% в худшем случае.
#pep
Discussions on Python.org
PEP 703 (Making the Global Interpreter Lock Optional in CPython) acceptance
(Posted for the whole Steering Council.) As we’ve announced before, the Steering Council has decided to accept PEP 703 (Making the Global Interpreter Lock Optional in CPython) . We want to make it clear why, and under what expectations we’re doing so. It…
Moscow Python проводит митап вот прямо сейчас: https://www.youtube.com/watch?v=B_HprPoVoig
Forwarded from Николай Хитров | Блог
Славянский язык программирования
Мем про древних Русов и ящеров продолжает набирать обороты. В этот раз мемологи сделали типовой урок с hello world на В++ - великом языке программирования древних Русов
P.S. Концовка улыбнула😁
https://youtu.be/KffVhdWAgXc?si=gIoaMfb4nhqs43al
Мем про древних Русов и ящеров продолжает набирать обороты. В этот раз мемологи сделали типовой урок с hello world на В++ - великом языке программирования древних Русов
P.S. Концовка улыбнула😁
https://youtu.be/KffVhdWAgXc?si=gIoaMfb4nhqs43al
YouTube
Великий язык программирования древних Русов
Спустя столько лет наконец-то мы можем писать код на величайшем языке программирования В††.
Наш гит хаб: https://github.com/KanatnikovMax/znanie-drevnix.git
Музыка из видео https://youtu.be/25cyl7S9R-A?si=5WSROCwnBZmLAnFf
Наш гит хаб: https://github.com/KanatnikovMax/znanie-drevnix.git
Музыка из видео https://youtu.be/25cyl7S9R-A?si=5WSROCwnBZmLAnFf
Вышел второй выпуск подкаста core.py от двух кор-разработчиков CPython. В этот раз про PEP 703 и выпиливание GIL — тема, которая волнует многих. Уже во всех радиоприемниках страны!
Кстати, я будто бы уже привык к акценту Пабло. Почти нормально слушается.
https://podcasters.spotify.com/pod/show/corepy/episodes/Episode-2---PEP-703-Removing-the-GIL-e2b8egi
P.S.: Да, для прослушивания этого подкаста, вероятно, потребуется включенный VPN. По крайней мере, в Apple Podcasts с российским айпишником он не включается.
Кстати, я будто бы уже привык к акценту Пабло. Почти нормально слушается.
https://podcasters.spotify.com/pod/show/corepy/episodes/Episode-2---PEP-703-Removing-the-GIL-e2b8egi
P.S.: Да, для прослушивания этого подкаста, вероятно, потребуется включенный VPN. По крайней мере, в Apple Podcasts с российским айпишником он не включается.
А вы заметили, что Python 3.7 EOLнулся еще этим летом? Теперь walrus оператор есть во всех поддерживаемых версиях языка. Кстати, кто-нибудь нашел для него хорошие применения?
Python release cycle
Python release cycle
Forwarded from DevBrain
Github Copilot теперь и через командную строку: https://github.blog/changelog/2023-11-08-github-copilot-in-the-cli-now-in-public-beta/
От себя скажу, что пользуюсь Copilot практически с момента его появления, очень выручает в написании тестов =)
От себя скажу, что пользуюсь Copilot практически с момента его появления, очень выручает в написании тестов =)
The GitHub Blog
GitHub Copilot in the CLI now in public beta · GitHub Changelog
Learn your way around the command line with GitHub Copilot by your side! We’re excited to announce the launch of a brand new GitHub CLI extension that’s now available as…
Пользуетесь какой-нибудь LLM при написании кода? 🤖
Anonymous Poll
24%
Да, GitHub Copilot
35%
Да, ChatGPT
7%
Да, но другое (напишу в комменты)
33%
Нет, это для слабаков
22%
Я и есть LLM
В Х-твиттере наткнулся на статистику использования компилируемых языков в пакетах для Python. Зачем люди пишут пакеты для питона на Go?
PSF и JetBrains запустили своё ежегодное исследование Python Developers Survey 2023. Погнали заполнять! 👇
https://survey.alchemer.com/s3/7554174/python-developers-survey-2023
Через год, когда подведут результаты, будет повод написать пост, типа такого 😅
https://survey.alchemer.com/s3/7554174/python-developers-survey-2023
Через год, когда подведут результаты, будет повод написать пост, типа такого 😅
Alchemer
Python Developers Survey 2023
The official Python Developers Survey 2023. Join and contribute to the community knowledge!
Forwarded from запуск завтра
Мы у себя в компании протестировали ИИ-помощники для программистов. По результатам, добавили Github Copilot в список инструментов, которые оплачиваем всем нашим сотрудникам — он ускоряет написание рутинного кода. Цитирую коллегу:
Когда работаешь с копилотом, кажется, что он помогает нормально, но без вау. Зато когда его выключаешь, то ловишь себя на мысли, что пишешь какую-то фигню, вместо которой можно было просто табнуть.
Ещё из интересных инструментов, которыми пользуются коллеги:
- Phind: классный ассистент для программистов, которому можно позадавать вопросы. Доступен без VPN, никогда не отваливался и, что важно, дает ссылки на источники;
- Machinet: плагин, окно чата, которое видит весь твой проект. В нем можно написать «вот есть ручка //products, напиши такую же только для //orders и сделай такие же тесты» или «почини N+1 запросы в методе getusers на открытой вкладке»
Если ничем таким ещё не пользуетесь — рекомендую попробовать!
Когда работаешь с копилотом, кажется, что он помогает нормально, но без вау. Зато когда его выключаешь, то ловишь себя на мысли, что пишешь какую-то фигню, вместо которой можно было просто табнуть.
Ещё из интересных инструментов, которыми пользуются коллеги:
- Phind: классный ассистент для программистов, которому можно позадавать вопросы. Доступен без VPN, никогда не отваливался и, что важно, дает ссылки на источники;
- Machinet: плагин, окно чата, которое видит весь твой проект. В нем можно написать «вот есть ручка //products, напиши такую же только для //orders и сделай такие же тесты» или «почини N+1 запросы в методе getusers на открытой вкладке»
Если ничем таким ещё не пользуетесь — рекомендую попробовать!
До какого уровня сможете дойти? Я чёт пока на 5 правиле застрял.
https://oskaerik.github.io/theevalgame/
https://oskaerik.github.io/theevalgame/
oskaerik.github.io
the eval game
A game testing your Python skills, inspired by The Password Game.
Forwarded from CPython notes
Даешь цветные трейсбеки!
https://github.com/python/cpython/pull/112732
https://github.com/python/cpython/pull/112732
16 декабря будет Pytup с достаточно высокоранговыми спикерами. Можно смотреть онлайн или прийти оффлайн в Москве. Обещают рассуждения про 3.12. Регистрируемся?
https://yandex.ru/pytup/
https://yandex.ru/pytup/
Pytup: итоги 2024
Поговорим о том, что произошло с языком за год и посмотрим, оправдались ли наши ожидания от 3.12 и 3.13 с прошлого года
Forwarded from sanspie's notes
Please open Telegram to view this post
VIEW IN TELEGRAM
Кстати, Python 3.12.1 вышел. Все, кто ждал первого баг-фикс релиза и не обновлялся до 3.12 — настало ваше время.
Метрика поддержки 3.12 в библиотеках на данный момент находится на отметке 36.9%. Если сравнивать скорость адопшена с предыдущим релизом, то для 3.11 примерно в этот же момент времени метрика была равна 25.6%. Кажется, экосистема пакетов постепенно "ускоряется" в плане поддержки новых версий языка.
Метрика поддержки 3.12 в библиотеках на данный момент находится на отметке 36.9%. Если сравнивать скорость адопшена с предыдущим релизом, то для 3.11 примерно в этот же момент времени метрика была равна 25.6%. Кажется, экосистема пакетов постепенно "ускоряется" в плане поддержки новых версий языка.
Telegram
Питонические атаки
Python 3.11.1 релизнулся — первая багфикс версия.
Есть такое суеверие, что лучше не обновляться на версию с нулевым последним числом, а подождать первого багфикс-релиза. Вот, теперь даже консервативные пользователи могут обновляться. Хотя, по моим ощущениям…
Есть такое суеверие, что лучше не обновляться на версию с нулевым последним числом, а подождать первого багфикс-релиза. Вот, теперь даже консервативные пользователи могут обновляться. Хотя, по моим ощущениям…
Forwarded from CPython notes
Небольшой новый синтаксический PEP: https://peps.python.org/pep-0736/
Вообще, наверное, полезно. С каждым днём мы все больше и больше похожи на раст
Вообще, наверное, полезно. С каждым днём мы все больше и больше похожи на раст
Python Enhancement Proposals (PEPs)
PEP 736 – Shorthand syntax for keyword arguments at invocation | peps.python.org
This PEP proposes to introduce syntactic sugar f(x=) for the common pattern where a keyword argument has the same name as that of the variable corresponding to its value f(x=x).
Его уже не остановить.
Автор Ruff анонсировал утилиту
Запоминайте, вместо:
Теперь делаем:
Анонс здесь: https://astral.sh/blog/uv
Автор Ruff анонсировал утилиту
uv
— сверхбыстрый пакетный менеджер для Python, написанный, конечно же, на Rust. Пока что это drop-in замена для pip
, venv
и pip-tools
, но глобальная цель — создать Cargo-like experience для Python. Если что, Cargo — это пакетный менеджер для Rust, рок-звезда среди пакетных менеджеров. Он получился настолько хорош, что все теперь его копируют.Запоминайте, вместо:
pip install ruff
Теперь делаем:
uv pip install ruff
Анонс здесь: https://astral.sh/blog/uv