6 Aug 2026, 14:10 UTC6 viewsread 7 August 2026 Photo
У JIT в CPython теперь есть дедлайн — в цифрах
В июне JIT чуть не выпилили из CPython. Не за баги — за процесс: фича заехала в main через информационный PEP 744, без нормального обсуждения. Steering council дал полгода, чтобы это исправить.
Ответ — PEP 836. Не обещания, а числа по версиям. 3.15 (вот он, rc1, вышел 4 августа) — 8–9% на x86-64 Linux, 12–13% на ARM Mac. 3.16 обязан держать минимум +5%. 3.17 — уже +20%…
Signed Quiz Bot
6 Aug 2026, 06:03 UTC9 viewsread 7 August 2026 Photo
Как публичный issue заставил ИИ-агента Google слить его же ключи
Нашёл историю, после которой на CI/CD с ИИ-агентами смотрю иначе.
В репозитории google/adk-python жили два бота: публичный triage-agent, который анализирует новые issue, и privileged code-fixing agent, который чинит код — но только по команде «своих».
Pillar Security затолкали в issue промпт-инъекцию. Triage-agent послушно написал /adk-issue-fix от и…
Signed Quiz Bot
5 Aug 2026, 15:44 UTC9 viewsread 7 August 2026 Photo
FastMCP умер 28 июля — теперь это MCPServer
Если у вас MCP-сервер на FastMCP — 28 июля он перестал существовать. В буквальном смысле: класс переименовали в MCPServer, а в блоге MCP в тот же день объяснили зачем — старый fastmcp слишком легко путали с одноимённым сторонним пакетом на своей 3.x-ветке.
Вместе с этим вышла ревизия спецификации 2026-07-28 — протокол стал полностью stateless. Раньше клиент делал handshak…
Signed Quiz Bot
5 Aug 2026, 08:39 UTC11 viewsread 7 August 2026 Photo
html.parser молча уходит в O(n²)
Заголовок issue на GitHub — «Another worst case quadratic complexity in HTMLParser». Не первая такая находка в этом парсере — уже показательно.
CVE-2026-15308: скармливаешь html.parser.HTMLParser данные кусками через feed() (как все стриминговые обёртки), а внутри висит незакрытый тег или комментарий — и парсер на каждый чанк заново пересканирует весь буфер и заново его склеивает. О…
Signed Quiz Bot
4 Aug 2026, 14:31 UTC9 viewsread 7 August 2026 Photo
FaceHugger: RCE из-за одной f-строки в Diffusers
Библиотеку почти из каждого AI-пайплайна уронил None.
Zafran Labs нашли способ обойти trust_remote_code в Diffusers и назвали связку багов FaceHugger (пишет Hacker News, 2 августа). Самый нелепый — из advisory GHSA-j7w6: f"{custom_pipeline}.py" без аргумента превращается в "None.py", и файл с таким именем в чужом репозитории тихо выполнялся на обычном from_pretrained…
Signed Quiz Bot
4 Aug 2026, 06:08 UTC10 viewsread 7 August 2026 Photo
На PyPI кража секретов начинается раньше, чем на npm — прямо на import
17 пакетов с одинаковым 1.0.0 — и это само по себе должно было насторожить раньше, чем название.
Socket 7 июля раскрыл кампанию: на PyPI и npm одновременно выложили фейковые SDK для Paysafe, Skrill и Neteller. Методы внутри выглядят рабочими, отвечают «успех» — и молча сливают секреты на C2 в AWS.
На PyPI кража стартует прямо при import, без ед…
Signed Quiz Bot
3 Aug 2026, 15:31 UTC9 viewsread 7 August 2026 Photo
frozendict — новый builtin в Python 3.15
Питон 30+ лет жил без built-in неизменяемого dict — в 3.15 это наконец исправили.
PEP 814 приняли в феврале, frozendict уже в бета-сборках. Не путайте с types.MappingProxyType — это просто read-only обёртка над dict, hash() от неё как не было, так и нет. frozendict — отдельный тип, хешируемый, если хешируемы все значения: можно класть конфиг прямо в ключ словаря или в set, б…
Signed Quiz Bot
3 Aug 2026, 08:42 UTC8 viewsread 7 August 2026 Photo
mypy — 45 секунд. ty — 2.
Полез проверять цифры Astral, ожидая маркетингового преувеличения — не подтвердилось. Бенчмарк честный: home-assistant, холодный запуск, без кэша. И тесты не спрятаны — в репозитории ty на GitHub бенчмарки лежат открыто, можно прогнать на своём проекте, а не верить графику на слово.
У той же команды за плечами uv и ruff, где «в разы быстрее» оказалось правдой, а не слоганом — доверия это д…
Signed Quiz Bot
2 Aug 2026, 15:37 UTC9 viewsread 7 August 2026 Photo
$90 000 — весь бюджет PSF на гранты в этом году
Питон-митап у вас в городе получит от PSF максимум $2000 на всю конференцию. Раньше так не было.
Год назад фонд просто кончил деньги: 1 августа 2025-го грантовую программу приостановили, бюджет съели раньше срока. В октябрьском заявлении фонда — отказ от гранта NSF на $1.5M, условием было подписать отказ от любых DEI-программ фонда целиком, не только в этом проекте. В…
Signed Quiz Bot
2 Aug 2026, 06:28 UTC10 viewsread 7 August 2026 Photo
Дважды в 2026-м патч CPython сам оказался дырявым
16 марта в [email protected] ушло письмо: CVE-2026-3644 закрывает дыру в http.cookies.Morsel, вроде бы починенную в феврале.
Тогда, в CVE-2026-0672, дырявыми были control-символы в куки (header injection). Патч выправил .output(), но .update(), оператор |= и unpickle остались непроверенными — это исправили только в марте, судя по коммиту в cpython.
Это у…
Signed Quiz Bot
1 Aug 2026, 16:06 UTC11 viewsread 7 August 2026 Photo
uv 0.12 решил, что вам нужен пакет, а не скрипт
uv init с 28 июля стал строже: вместо голого main.py в корне — сразу пакет.
С версии 0.12.0 uv init кладёт код в src/имя/_init_.py, подключает [build-system] с собственным бэкендом uv_build и сразу даёт uv build собрать wheel и tar.gz. Такой layout был дефолтом ещё в v0.3, но в v0.4 его убрали — как объяснили в issue #20185, начинающих путал hatchling. Теперь astral с…
Signed Quiz Bot
1 Aug 2026, 06:17 UTC11 viewsread 7 August 2026 Photo
Django 6.1 отрезает Python 3.10, 3.11 и Postgres 14
У меня в трёх сервисах на проде до сих пор Python 3.10 — и до 5 августа с этим лучше определиться.
Django 6.1 rc1 вышел 22 июля, финальный релиз — на днях. И это не косметический минор: под капотом подняли нижнюю планку сразу по всей матрице окружений.
PostgreSQL 14 выкидывают — не потому что кто-то поленился тестировать, а потому что апстрим сам хоронит эту верс…
Signed Quiz Bot
Showing the 12 most recent of 19 posts we hold for @python_quiz. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.