Вышла новая версия Ruff 0.16. Казалось бы, минорный релиз, но на самом деле нет. Теперь по умолчанию включено 413 правил вместо 59, поэтому, если в конфиге у вас не зафиксирован список правил, используемых на проекте, вас ждёт сюрприз.
Ради интереса прогнал Ruff на своём пет-проекте, где до обновления всё было зелёненьким. После перехода на 0.16 получил:
Если планируете обновляться на большой кодовой базе, сразу закладывайте время на фиксы.
Ченджлог в блоге Astral: https://astral.sh/blog/ruff-v0.16.0
Ради интереса прогнал Ruff на своём пет-проекте, где до обновления всё было зелёненьким. После перехода на 0.16 получил:
Found 50 errors, 34 fixable. Пойду чинить 🙂Если планируете обновляться на большой кодовой базе, сразу закладывайте время на фиксы.
Ченджлог в блоге Astral: https://astral.sh/blog/ruff-v0.16.0
astral.sh
Ruff v0.16.0
The next stable version of Ruff is out now.
👍34
GitHub запустил пару полезных фич для безопасности CI.
Во-первых, Malware Alerts. Эта штука проверяет, нет ли зависимостей проекта в базе OpenSSF Malicious Packages, и, если находит совпадение, присылает алерт. Глобально включить её пока нельзя — только отдельно для каждого репозитория. Я у себя уже включил, вот тут инструкция https://docs.github.com/en/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-malware-alerts
Вторая фича - автоматическое обнаружение и блокировка небезопасных CI-пайплайнов. Если workflow выглядит потенциально вредоносным, GitHub не запускает его, пока участник с правами на запись не подтвердит запуск. Пока это работает только для публичных репозиториев.
Если интересно подробнее почитать, как могут выглядеть подобные атаки, вот хороший разбор: https://www.stepsecurity.io/blog/introducing-secret-exfiltration-protection-for-github-actions
Во-первых, Malware Alerts. Эта штука проверяет, нет ли зависимостей проекта в базе OpenSSF Malicious Packages, и, если находит совпадение, присылает алерт. Глобально включить её пока нельзя — только отдельно для каждого репозитория. Я у себя уже включил, вот тут инструкция https://docs.github.com/en/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-malware-alerts
Вторая фича - автоматическое обнаружение и блокировка небезопасных CI-пайплайнов. Если workflow выглядит потенциально вредоносным, GitHub не запускает его, пока участник с правами на запись не подтвердит запуск. Пока это работает только для публичных репозиториев.
Если интересно подробнее почитать, как могут выглядеть подобные атаки, вот хороший разбор: https://www.stepsecurity.io/blog/introducing-secret-exfiltration-protection-for-github-actions
GitHub Docs
Configuring Dependabot malware alerts - GitHub Docs
Prevent malware attacks by identifying and remediating malicious dependencies.
👍18
Вышла библиотека django-orjson, которая позволяет легко перевести Django и DRF на быстрый orjson. В комплекте — JsonResponse, renderer и parser для DRF и даже сериализатор для сессий.
В принципе, идея не новая: мы у себя перевели DRF на orjson ещё года четыре назад. Но с готовым пакетом это будет гораздо проще сделать.
Тем, у кого плюс-минус нагруженный проект или просто большие JSON-запросы и ответы, рекомендую присмотреться: https://adamj.eu/tech/2026/07/15/introducing-django-orjson/
В принципе, идея не новая: мы у себя перевели DRF на orjson ещё года четыре назад. Но с готовым пакетом это будет гораздо проще сделать.
Тем, у кого плюс-минус нагруженный проект или просто большие JSON-запросы и ответы, рекомендую присмотреться: https://adamj.eu/tech/2026/07/15/introducing-django-orjson/
adamj.eu
Django: introducing django-orjson - Adam Johnson
Just as cars painted red are known to be faster, libraries implemented in Rust are also known to be faster. Today’s example is orjson, a Rusty replacement for Python’s built-in json module, boasting 10x faster serialization and 2x faster deserialization.
👍16
Поддержка free-threading в библиотеках сейчас один из ключевых блокеров перехода на free-treading. Поэтому я с интересом читаю статьи, которые публикуют на этот счет разработчики библиотек - не то чтобы мне это было нужно для работы, просто очень интересно. На днях наткнулся на статью, про оптимизацию NumPy - проблема была в том, что с отключенным GIL, ThreadPoolExecutor все равно работал медленнее, чем ProcessPoolExecutor. Если вам такое интересно - рекомендую почитать, но если кратко:
- Убрали локи там, где можно было обойтись без них
- Где-то перешли на immortal-объекты, чтобы перестать дергать счетчик ссылок
- Пересели с системного malloc/free на cpython-овский аллокатор, который лучше масштабируется на большое количество потоков
В результате бенчмарк вместо 44 секунд на 32 потоках начал отрабатывать за 1,5 секунды (при использовании процессов - 6 секунд). Подробнее в статье - https://labs.quansight.org/blog/scaling-numpy-on-free-threaded-python
- Убрали локи там, где можно было обойтись без них
- Где-то перешли на immortal-объекты, чтобы перестать дергать счетчик ссылок
- Пересели с системного malloc/free на cpython-овский аллокатор, который лучше масштабируется на большое количество потоков
В результате бенчмарк вместо 44 секунд на 32 потоках начал отрабатывать за 1,5 секунды (при использовании процессов - 6 секунд). Подробнее в статье - https://labs.quansight.org/blog/scaling-numpy-on-free-threaded-python
🔥33👍5
Вместе с прогрессом llm-ок растет нагрузка на мейнтенеров проектов, это не новость и мы много раз обсуждали это в подкасте. Но вот подъехала статья с нитересными графиками по нагрузке именно связанноы с безопасностью:
- Security-отчеты на github - ~40 за весь 2025 и уже 175 за первую половину 2026
- Полноценные CVE - ~20 за 2025 и столько же только за первую треть 2026, т.е. за весь год предполагается рост в три раза
То есть рост нагрузки очень значительный, сама статься состоит почти из одних графиков https://hugovk.dev/blog/2026/security-line-goes-up/
- Security-отчеты на github - ~40 за весь 2025 и уже 175 за первую половину 2026
- Полноценные CVE - ~20 за 2025 и столько же только за первую треть 2026, т.е. за весь год предполагается рост в три раза
То есть рост нагрузки очень значительный, сама статься состоит почти из одних графиков https://hugovk.dev/blog/2026/security-line-goes-up/
Hugo van Kemenade
Security: line goes up
👍8
Вышел релиз Django 6.1. Изменений не очень много:
-
-
- В ORM добавлены функции для генерации
- Всякие улучшения для Content Security Policy, настройки отправки email теперь конфигурируются через словарь и много всяких других мелочей
Полный ченджлог тут https://docs.djangoproject.com/en/6.1/releases/6.1/
-
QuerySet.fetch_mode позволяет более гибко управлять тем, что происходит при обращении к незагруженному полю модели - делать запрос в базу, делать запрос загружая связанные сущности одним запросом или выдавать исключение. Выглядит как действительно полезная фича-
on_delete для ForeignKey теперь можно перевесить на уровень базы данных через SQL ON DELETE, раньше это делалось python-логикой- В ORM добавлены функции для генерации
UUID v4 и UUID v7 на стороне БД- Всякие улучшения для Content Security Policy, настройки отправки email теперь конфигурируются через словарь и много всяких других мелочей
Полный ченджлог тут https://docs.djangoproject.com/en/6.1/releases/6.1/
👍16👎1
Уже завтра в 14:00 (по мск) обсудим новости июля в прямом эфире Moscow Python Podcast 🎙
Разберём самые интересные события последних недель:
🟤 PEP 836: новый план развития JIT-компилятора для CPython;
🟤 Ruff 0.16: теперь по умолчанию включены 413 правил вместо 59;
🟤 GitHub усиливает безопасность CI;
🟤 Релиз Django 6.1;
🟤 Обсудим статью In Defense of Not Understanding Your Codebase.
📍 Когда и во сколько: 7 августа в 14:00 по Москве.
➡️ Подключайтесь к эфиру или смотрите запись на YouTube, VK или Rutube.
Разберём самые интересные события последних недель:
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Новости мира Python за июль 2026
aiaiai для разработчиков — https://getaiaiai.ru/solutions/developers/
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
01:53 — новый план развития JIT-компилятора для CPython
10:09 — Ruff 0.16
22:59 — GitHub усиливает безопасность CI
26:14 —…
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
01:53 — новый план развития JIT-компилятора для CPython
10:09 — Ruff 0.16
22:59 — GitHub усиливает безопасность CI
26:14 —…
🔥13
Запустили опрос python-разработчиков про типизацию - в авторах опроса Astral, JetBrains, Microsoft, Meta, discuss.python.org - т.е. очень многие из тех кто реально занимается типаии/туллингом. Это ежегодная история, предыдущий отчет тут https://engineering.fb.com/2025/12/22/developer-tools/python-typing-survey-2025-code-quality-flexibility-typing-adoption/ - мы кажется обсуждали его в подкасте.
Если вы активно используете аннотации типов - сходите пройдите, важно давать обратную связь разработчикам, я уже прошел https://www.surveymonkey.com/r/python_typing
Если вы активно используете аннотации типов - сходите пройдите, важно давать обратную связь разработчикам, я уже прошел https://www.surveymonkey.com/r/python_typing
Engineering at Meta
Python Typing Survey 2025: Code Quality and Flexibility As Top Reasons for Typing Adoption
The 2025 Typed Python Survey, conducted by contributors from JetBrains, Meta, and the broader Python typing community, offers a comprehensive look at the current state of Python’s type system and d…
🔥8👍4
С 2028 года Django переходит на ежегодные релизы, при этом каждый такой релиз будет LTS с тремя годами поддержки. С одной стороны, разработка вроде как замедлится, а с другой стороны, с крупными релизами больше шансов протащить крупные системные изменения. Плюс, конечно, тем, кто поддерживает сайты на Django, не придётся больше заморачиваться с LTS — не LTS.
Django 6.2 LTS в апреле 2027 станет последним релизом со "старой" нумерацией, в январе 2028 выйдет уже Django 2028. https://www.djangoproject.com/weblog/2026/aug/10/annual-release-cycle/
Django 6.2 LTS в апреле 2027 станет последним релизом со "старой" нумерацией, в январе 2028 выйдет уже Django 2028. https://www.djangoproject.com/weblog/2026/aug/10/annual-release-cycle/
Django Project
Django is moving to an annual release cycle
Posted by Carlton Gibson on Aug. 10, 2026
👍26👎2
Вчера пишет мне Никита Соболев - так и так, собираем папку с каналами python-сообщества. Учитывая, что с большинством тех, чьи каналы в папке я знаком лично, на кого-то итак был подписан - рекомендую - https://t.me/addlist/o2_hXmp5nSUyODNi
Для тех, кто уперся в лимит телеги по папкам, вот просто список каналов:
• https://t.me/opensource_findings
• https://t.me/goduniblog
• https://t.me/cpython_notes
• https://t.me/nkhitrov_blog
• https://t.me/fastnewsdev
• https://t.me/pylounge
• https://t.me/blog_pogromista
• https://t.me/moscow_python
• https://t.me/tricky_python
• https://t.me/pymineral
• https://t.me/t0digital
• https://t.me/grigorycode
Для тех, кто уперся в лимит телеги по папкам, вот просто список каналов:
• https://t.me/opensource_findings
• https://t.me/goduniblog
• https://t.me/cpython_notes
• https://t.me/nkhitrov_blog
• https://t.me/fastnewsdev
• https://t.me/pylounge
• https://t.me/blog_pogromista
• https://t.me/moscow_python
• https://t.me/tricky_python
• https://t.me/pymineral
• https://t.me/t0digital
• https://t.me/grigorycode
Telegram
Python
Никита Соболев invites you to add the folder “Python”, which includes 13 chats.
🔥25👍6
Пару недель назад я писал про то, насколько больше security-отчетов теперь приходит для CPython по сравнению с предыдущими годами. Казалось бы - берешь llm, она пишет тебе патч - и готово, profit. И тут как раз 1password опубликовали исследование, которое показывает, что это пока так не работает.
Они сгенерировали более 6000 патчей для 6 разных уязвимостей с помощью opus 4.8 и chatgpt 5.5, обе в версии для security-специалистов (т.е. там были убраны часть ограничений). Результат? Только 26% патчей полноценно устранили уязвимость. Ещё 20,1% проблему закрыли, но работа приложения изменилась, читай "побочные эффекты". Самое забавное, в 2,1% случаев проблема не была устранена, так еще и появилась новая уязвимость. Хуже того, в трети "успешных" 20,1% на самом деле llm-ка фиксила не первопричину проблемы, а конкретный пример атаки, описанный в промпте.
Вывод? Llm-ки очень удобны и могут ускорить разработку - но и голову тоже нужно включать и смотреть, что там интеллект нагенерил - ревьюить, править, тюнить. Ссылка на статью: https://1password.com/blog/why-ai-generated-patches-still-require-human-review
Они сгенерировали более 6000 патчей для 6 разных уязвимостей с помощью opus 4.8 и chatgpt 5.5, обе в версии для security-специалистов (т.е. там были убраны часть ограничений). Результат? Только 26% патчей полноценно устранили уязвимость. Ещё 20,1% проблему закрыли, но работа приложения изменилась, читай "побочные эффекты". Самое забавное, в 2,1% случаев проблема не была устранена, так еще и появилась новая уязвимость. Хуже того, в трети "успешных" 20,1% на самом деле llm-ка фиксила не первопричину проблемы, а конкретный пример атаки, описанный в промпте.
Вывод? Llm-ки очень удобны и могут ускорить разработку - но и голову тоже нужно включать и смотреть, что там интеллект нагенерил - ревьюить, править, тюнить. Ссылка на статью: https://1password.com/blog/why-ai-generated-patches-still-require-human-review
1Password
Off-by-1 Labs Research: AI-generated vulnerability patches require human review | 1Password
Defenders are increasingly turning to LLMs to to generate vulnerability patches. But our research showed that LLMs only successfully generate patches (without materially changing application behavior) 26% of the time.
🔥29
Есть такой язык - Mojo:
• синтаксически он близок к python
• дает возможность вызывать и исполнять питоновские библиотеки через cpython-рантайм (я не уверен, что это production-схема
• расходы на конвертацию и GIL никуда не деваются, но тем не менее)
• при этом сам язык компилируемый - есть и JIT, и AOT-сборка в бинарник
• работает с gpu из коробки
и в принципе выглядит довольно интересно.
И вот на прошлой неделе вышла версия 1.0 языка, то есть предполагается, что он достаточно стабилизировался. А на днях его заопенсорсили под apache 2.0 лицензией. Я его трогал совсем немного - когда сделали возможность вызова python-библиотек, но сейчас кажется хороший повод пойти поиграться. https://www.modular.com/blog/mojo-open-source
• синтаксически он близок к python
• дает возможность вызывать и исполнять питоновские библиотеки через cpython-рантайм (я не уверен, что это production-схема
• расходы на конвертацию и GIL никуда не деваются, но тем не менее)
• при этом сам язык компилируемый - есть и JIT, и AOT-сборка в бинарник
• работает с gpu из коробки
и в принципе выглядит довольно интересно.
И вот на прошлой неделе вышла версия 1.0 языка, то есть предполагается, что он достаточно стабилизировался. А на днях его заопенсорсили под apache 2.0 лицензией. Я его трогал совсем немного - когда сделали возможность вызова python-библиотек, но сейчас кажется хороший повод пойти поиграться. https://www.modular.com/blog/mojo-open-source
Modular
Modular: Mojo🔥 is now open source!
The Apache 2.0 license is the gold standard for programming languages and compilers, because it provides great flexibility to be used in all sorts of applications. The LLVM extensions to the license further expand those freedoms for building and distributing…
🔥18👍15