IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     01.09.2026       Выпуск 664 (31.08.2026 - 06.09.2026)       Статьи

«Подписываем данные SHA-256 с секретным ключом». Такую подпись подделывают, не зная ключа

Знакомая схема защиты от подмены. Сервер кладёт клиенту cookie user=guest&role=reader и рядом — подпись sha256(secret + данные), чтобы клиент не переписал reader на admin. Секрет знает только сервер, поэтому пересчитать подпись под изменённые данные клиент вроде бы не может.Поломается не сама SHA-256, а конструкция вокруг неё: к данным можно дописать хвост &role=admin и предъявить к нему валидную подпись, не зная секрета вообще. Атака называется length extension, и в статье мы её проделаем на своём же сервере.

     01.09.2026       Выпуск 664 (31.08.2026 - 06.09.2026)       Статьи

Агенты выполнили задачу. Почему тест всё равно провален?

Допустим, у тебя есть несколько AI-агентов. Один разбирает тикет, второй меняет код, третий запускает тесты, четвёртый готовит релиз.Задача закрыта, тесты зелёные, артефакт собран. Метрика success_rate показывает успех.Можно праздновать?Не обязательно. Агенты могли несколько раз выполнить одну работу, нарушить порядок операций, одновременно захватить общий ресурс или случайно добиться правильного результата через недопустимую последовательность действий.

     31.08.2026       Выпуск 664 (31.08.2026 - 06.09.2026)       Статьи

Быстродействие, или Смотря как измерять

Один и тот же JavaScript-код в браузере, Node.js, Deno и Bun должен показывать примерно одинаковую скорость – по крайней мере, так кажется до первых замеров. Я взял четыре прикладные задачи, добавил к сравнению Python и измерил не только время выполнения, но и потребление памяти, причём отдельно посмотрел, как результат меняется вместе с границами замера. Оказалось, что у каждой среды своё представление о быстродействии, а лидер зависит не только от алгоритма, но и от того, входят ли в задачу чтение файлов, парсинг или обработка изображений.

     31.08.2026       Выпуск 664 (31.08.2026 - 06.09.2026)       Статьи

Находки в опенсорсе: мир питона за август 2026

В августе было много новых интересных PEP’ов (например, PEP 805: Safe Parallel Python), которые я поревьюил, было много новых релизов, было много новых опенсорс проектов чуваков из нашего сообщества, пару интересных подкастов и множество другого интересного!

     07.09.2026       Релизы

numpy - 2.5.3

Модуль для работы с многомерными массивами. Скачать можно по ссылке: https://pypi.python.org/pypi/numpy/

     04.09.2026       Выпуск 664 (31.08.2026 - 06.09.2026)       Релизы

pymongo - 4.18.0

Python интерфейс для MongoDB. Скачать можно по ссылке: https://pypi.python.org/pypi/pymongo/

     03.09.2026       Выпуск 664 (31.08.2026 - 06.09.2026)       Релизы

lxml - 6.1.3

Мощный и быстрый модуль для обработки XML/HTML. Скачать можно по ссылке: https://pypi.python.org/pypi/lxml/

     03.09.2026       Выпуск 664 (31.08.2026 - 06.09.2026)       Релизы

Django - 6.1.1

Мощный web-фреймворк. Скачать можно по ссылке: https://pypi.python.org/pypi/Django/

     02.09.2026       Выпуск 664 (31.08.2026 - 06.09.2026)       Релизы

django-debug-toolbar - 8.0.0

Панель отладки и профилирования Django приложений. Скачать можно по ссылке: https://pypi.python.org/pypi/django-debug-toolbar/

     01.09.2026       Выпуск 664 (31.08.2026 - 06.09.2026)       Релизы

virtualenv - 21.7.8

Инструмент создания виртуального рабочего окружения. Скачать можно по ссылке: https://pypi.python.org/pypi/virtualenv

     29.08.2026       Выпуск 663 (24.08.2026 - 30.08.2026)       Статьи
     28.08.2026       Выпуск 663 (24.08.2026 - 30.08.2026)       Статьи
     01.09.2026       Выпуск 664 (31.08.2026 - 06.09.2026)       Релизы

httpx - 1.0.dev6

HTTP-клиент нового поколения. Поддерживает HTTP/1.1 и HTTP/2 и имеет синхронный + асинхронный API. Скачать можно по ссылке: https://pypi.python.org/pypi/httpx/

     27.08.2026       Выпуск 663 (24.08.2026 - 30.08.2026)       Статьи

Тестирование крупного Django-монолита: от хаоса с ID к стабильным прогонам в pytest

Сегодня хочу рассказать об особенностях автоматического тестирования крупного проекта на Django, в котором тесты написаны в разных стилях и есть много пересечений моделей данных. Поговорим о том, как привести всё к единому знаменателю без риска получить непредсказуемое поведение тестов. Также разберём конфигурацию pytest, параметры его запуска, работу с фабриками моделей и стили тестирования в двух парадигмах (Django и чистый pytest).

     27.08.2026       Выпуск 663 (24.08.2026 - 30.08.2026)       Статьи

Переход к неанонимным изменениям схемы СУРБД Firebird

Когда я только пришел на должность помощника DBA, я заметил, что все production базы фиксируют изменения странным образом, а именно каждый день в 00:00 вызывался скрипт, который выгружает схему БД Firebird, в виде файла script.sql, созданный встроенной утилитой isql. Далее делил весь файл на объекты (файлы), по группам (директориям) принадлежности, объясняю: есть кусок скрипта создания таблицы, он помещается в директорию 01_TABLES в виде отдельного файла названного в честь названия объекта который он содержит, и так далее. Чем же это плохо? А суть в том что разработчиков много, правки анонимны, история тяжело воспроизводимая. В такой каше сразу не разберешься.

     27.08.2026       Выпуск 663 (24.08.2026 - 30.08.2026)       Статьи

Modern Django Deployments in 2026

A written guide to my talk on deploying Django and why 90% of it is the same.

     26.08.2026       Выпуск 663 (24.08.2026 - 30.08.2026)       Статьи

Три негативных ответа ИИ оказались о другой компании: разбор одной ошибки в метрике тональности

Решил посчитать, сколько раз языковые модели отзываются плохо о конкретной компании. Вроде простая задача: прогнать запросы через несколько моделей, разметить тональность ответов, поделить негативные на общее число. У меня получилось три негативных ответа из 358 — 0,8%. Число выглядело спокойным, и я чуть не отправил его в отчёт как есть. Потом я открыл сами эти три ответа, чтобы понять, из-за чего именно модель поставила минус.

     26.08.2026       Выпуск 663 (24.08.2026 - 30.08.2026)       Статьи

CP-SAT OR-Tools против Excel: решаем задачу оптимизации офисного пространства

Несколько раз в год отдел оптимизации думает над тем, как разместить сотрудников бэк‑офиса по локациям на несколько лет вперёд. Раньше ребята делали это вручную: было медленно (месяц работы), больно (Excel) и неоптимально (никто не мог гарантировать, что найденная рассадка удовлетворяет всем ограничениям).Коллеги хотели автоматизировать ручную работу — с этим они и пришли к нам. В целом, получаем самую стандартную задачу оптимизации, которая решается с помощью одной библиотеки. Постараюсь рассказать о некоторых нюансах, которые не с первого раза гуглятся (со второго).

     26.08.2026       Выпуск 663 (24.08.2026 - 30.08.2026)       Статьи

ИИ-агент вместо тестировщика: 20 копеек за диалог и причина, почему вас не заменит llm

Тестирую диалоговые системы: чат-ботов и голосовых ботов, часть из них с обращениями в RAG. Моя работа устроена так: беру схему диалога на Холсте, примеряю на себя роль клиента и последовательно прохожу сценарий. Задаю вопрос и проверяю ответ, соглашаюсь — смотрю, правильно ли сработал переход, отказываюсь — проверяю фолбэк. Так приходится проходить десятки сценариев, которые в крупном проекте быстро складываются в большой объем ручной работы.