Питонические атаки
1.2K subscribers
183 photos
4 videos
1 file
459 links
Всяческие заметки про программирование на Python и другие весёлые истории.
Download Telegram
Пока я спал, руководящий совет языка принял 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
Moscow Python проводит митап вот прямо сейчас: https://www.youtube.com/watch?v=B_HprPoVoig
Вышел второй выпуск подкаста 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 с российским айпишником он не включается.
А вы заметили, что Python 3.7 EOLнулся еще этим летом? Теперь walrus оператор есть во всех поддерживаемых версиях языка. Кстати, кто-нибудь нашел для него хорошие применения?

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 практически с момента его появления, очень выручает в написании тестов =)
В Х-твиттере наткнулся на статистику использования компилируемых языков в пакетах для Python. Зачем люди пишут пакеты для питона на Go?
PSF и JetBrains запустили своё ежегодное исследование Python Developers Survey 2023. Погнали заполнять! 👇

https://survey.alchemer.com/s3/7554174/python-developers-survey-2023

Через год, когда подведут результаты, будет повод написать пост, типа такого 😅
Мы у себя в компании протестировали ИИ-помощники для программистов. По результатам, добавили Github Copilot в список инструментов, которые оплачиваем всем нашим сотрудникам — он ускоряет написание рутинного кода. Цитирую коллегу:

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

Ещё из интересных инструментов, которыми пользуются коллеги:

- Phind: классный ассистент для программистов, которому можно позадавать вопросы. Доступен без VPN, никогда не отваливался и, что важно, дает ссылки на источники;

- Machinet: плагин, окно чата, которое видит весь твой проект. В нем можно написать «вот есть ручка //products, напиши такую же только для //orders и сделай такие же тесты» или «почини N+1 запросы в методе getusers на открытой вкладке»

Если ничем таким ещё не пользуетесь — рекомендую попробовать!
До какого уровня сможете дойти? Я чёт пока на 5 правиле застрял.

https://oskaerik.github.io/theevalgame/
Forwarded from CPython notes
Даешь цветные трейсбеки!
https://github.com/python/cpython/pull/112732
16 декабря будет Pytup с достаточно высокоранговыми спикерами. Можно смотреть онлайн или прийти оффлайн в Москве. Обещают рассуждения про 3.12. Регистрируемся?

https://yandex.ru/pytup/
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%. Кажется, экосистема пакетов постепенно "ускоряется" в плане поддержки новых версий языка.
Его уже не остановить.

Автор 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
PYTHON_GIL=0

Скажи кто-нибудь лет 10 назад, что такое вольют в python... Никто бы не поверил

https://github.com/python/cpython/pull/116338