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

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

     11.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Контрольные суммы ИНН, ОГРН и СНИЛС: разбираем алгоритмы и пишем валидатор на Python

У нас есть форма, куда пользователь вводит ИНН контрагента, а мы по нему идём за данными в ЕГРЮЛ. Если заглянуть в логи этой формы, видно сколько туда прилетает мусора. ИНН из одиннадцати цифр (кто‑то добавил лишнюю), номера со срезанными ведущими нулями, ОГРН в поле для ИНН, и классика жанра — две соседние цифры переставлены местами. Каждый такой ввод это поход в чужой API, таймаут, ожидание, и в конце честное «ничего не найдено». А пользователь в этот момент уверен, что сломались мы.

     11.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Шифрование на основе SHA-256 (часть 2)

Можно ли построить шифрование, если под рукой есть только SHA-256? В этой статье разберем рабочую схему, где каждый байт кодируется через подбор salt.

     16.06.2026       Релизы

SQLAlchemy - 2.0.51

Библиотека работы с базами данных. Скачать можно по ссылке: https://pypi.python.org/pypi/SQLAlchemy/

     11.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Минус 500 MB: оптимизируем Docker-образ Django-приложения

Когда Docker-образ backend-приложения начинает весить 1,5 GB, это уже хороший повод хотя бы посмотреть, что вообще лежит внутри. Пока все работает, мало кто задумывается, сколько мусора, dev-зависимостей и ненужных файлов уезжает в production вместе с приложением. Но на самом деле от «лишнего веса» нужно избавляться, потому что каждый лишний мегабайт — это более долгие сборки и дополнительные сложности.  

     11.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Невозможно быть вне политики с Airflow Cluster Policies

Из статьи вы узнаете, как с помощью механизма Cluster Policies в Apache Airflow вынести требования к DAG’ам в исполняемый код:- Поговорим о том, когда и зачем нужен отдельный слой Policies.- Посмотрим на примеры требований в больших data-инженерных проектах и способ их реализации с помощью политик.- Покажу нашу архитектуру, примеры кода и способы внедрения.- Сделаем выводы из моих ошибок, допущенных при разработке и внедрении.- В конце посмотрим, в каких ещё системах используется аналогичный механизм.

     11.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Симуляция дуэлей юнитов HoMM III: кто сильнее в честном 1vs1?

В Heroes of Might and Magic III у каждого игрока есть своё мнение о том, какие юниты сильнее. Обычно такие сравнения строятся на характеристиках, способностях, личном опыте или ручных дуэлях на специальных картах.В этой статье я попробую подойти к вопросу немного иначе: через симуляцию боёв. Я сделал упрощенную модель боевой системы HoMM3, которая позволяет сталкивать отряды юнитов друг с другом много раз при заданных условиях и смотреть, кто побеждает чаще. Дальше разберём, как устроена такая симуляция, какие допущения в ней есть и что можно узнать из результатов.

     11.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Держите LLM подальше от тестов чат-бота

Кто тестировал чат-бота, знает: на одной реплике всё просто, а на третьей-четвёртой начинается боль. Бот должен помнить имя, которое вы назвали два хода назад, держать слоты и не сваливаться в «уточните ваш запрос» на ровном месте. И как только садишься это проверять, упираешься в развилку: чем, собственно, проверять ответы многоходового диалога.

     10.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Интересные проекты, инструменты, библиотеки

Spawn — фреймворк для разработки AIDD методологий

Я создал инструмент для разработки AIDD и назвал его Spawn. Это Python-утилита, которая помогает когерентно использовать несколько AIDD-методологий в одном репозитории — без ручной синхронизации правил, скилов и MCP-конфигов между ними.Далее — краткое введение, затем я расскажу, как работает Spawn, как им пользоваться с клиентской точки зрения, как разрабатывать расширения, и приведу несколько примеров.

     10.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Ваши тесты медленные не из-за базы данных. Я измерил

Есть устойчивое поверье: интеграционные тесты медленные, потому что ходят в настоящую базу. «Подними SQLite в памяти», «замокай репозитории», «не гоняй Postgres в CI» — стандартный набор советов. Мокать я не люблю, но крыть упрёк «настоящая база — это медленно» было нечем. Поэтому я сел, спрофилировал и померил: 3316 интеграционных тестов, прогон 30 минут. После трёх правок инфраструктуры — 109 секунд. База оказалась ни при чём, а совет «чисти базу через TRUNCATE, это быстрее DELETE» у меня работал ровно наоборот — обидно вдвойне, потому что эта рекомендация уже лежала в черновике моей следующей статьи.

     10.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Моделирование распределений

Статистика и данные с примерами на Python. 3-е изд.», хотим немного рассказать вам о ней и поделиться интересным отрывком.

     10.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Оптимизация под Pagespeed: работа с изображениями как с наиболее частой и весомой проблемой сайтов

Разработчики часто сталкиваются с проблемой: сайт успешно протестировали на мастере, выкатили на прод, провели контрольное тестирование — вроде всё хорошо. Сайт работает пару месяцев — и вдруг приходит задача от SEO «увеличить скорость загрузки сайта» или «исправить просевшее количество баллов в PageSpeed». Причём ничего принципиально нового не добавляли, просто наполняли контентом.Начинаем разбираться — и выясняется, что есть общая проблема, которая почти всегда повторяется. А именно — изображения. В статье расскажем, что с ними делать — как оказывается, проблема распространённая и до сих пор актуальная.

     15.06.2026       Релизы

pylint - 4.0.6

Статический анализатор Python-кода. Скачать можно по ссылке: https://pypi.python.org/pypi/pylint/

     14.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Релизы

virtualenv - 21.5.0

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

     14.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Релизы

pytest - 9.1.0

Простой мощный инструмент тестирования в Python. Скачать можно по ссылке: https://pypi.python.org/pypi/pytest/

     10.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

olmOCR-2 vs PaddleOCR-VL: Which Extracts PDF Tables Better?

Compare olmOCR-2 and PaddleOCR-VL on a real arXiv PDF with dense technical tables. This article walks through a Python-based OCR workflow, then evaluates how each model handles table detection, runtime, numeric accuracy, merged cells, and multi-tier headers.

     10.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Откуда в обучении берётся nan: численная нестабильность в ML и почему всё считают в логарифмах

Многие ML‑инженеры знают, что нужно использовать CrossEntropyLoss, log_softmax и logsumexp. Гораздо меньше людей могут объяснить, что именно они спасают и почему без них обучение модели периодически превращается в генератор nan. Именно об этом и поговорим.

     09.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Dead Letter Queue в Kafka на практике

DLQ — это просто топик. Сложное — всё, что вокруг него.Эта статья — про практическую архитектуру обработки событий из Kafka с отправкой данных во внешний REST API.Главная проблема такого сценария — нестабильность внешнего API. Он периодически деградирует по latency или начинает отвечать с ошибками, и это напрямую влияет на пропускную способность всего консьюмера.

     09.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Фрактальная криптография: может ли хаос стать основой постквантового шифрования?

Всем Q. А тем, у кого малиновые штаны много QqQq. Когда-то, n-лет тому назад, много и долго исследовал фракталы ...