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

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


Новый материал в ленте
  pylint - 4.0.6

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


Python Дайджест. Выпуск 652

(08.06.2026 - 14.06.2026)

поделиться выпуском 
Дайджест python,

Статьи

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

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

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

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

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

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

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

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

  Алгоритмы векторного поиска: IVF и HNSW

В данной статье я хочу пройтись по двум самым популярным алгоритмам векторного поиска, используемым на практике. Попробуем понять, почему точный поиск не работает в высоких размерностях и почему мы в итоге приходим к приближенному поиску.Заодно мы затронем тему метрик, чтобы понять, как вообще сравнивают эмбеддинги. Рассмотрим вспомогательный и очень простой алгоритм k-means из классического ML’а, лежащий в основе IVF.И наконец, подробно разберем два самых главных алгоритма IVF и HNSW с примерами их реализации на Python’е.

  Не давайте ИИ-агенту прямой доступ к базе. Как я проектировал безопасный контур действий на FastAPI и PostgreSQL

Последнее время я всё чаще встречаю одну и ту же мысль: бизнес никогда не даст ИИ‑агенту доступ к базе клиентов, заявкам, платежам, CRM или внутренним документам. На первый взгляд звучит логично. Если агент ошибётся, перепутает контекст или выполнит не то действие, ущерб может быть вполне реальным. Но мне кажется, что здесь часто путают две разные вещи.Давать агенту прямой доступ к базе действительно нельзя. А вот давать ему возможность работать через ограниченный, проверяемый и журналируемый контур действий вполне можно.

  Жесты вместо горячих клавиш: подключаем ИИ к веб-камере

Наткнулся на старую веб-камеру, которая валялась без дела. Дешевый вариант с посредственным качеством. С такой камерой не стать звездой онлифанс. Но выкидывать жалко. Пришла в голову мысль — почему не соорудить управление жестами для компьютера?

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

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

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

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

  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.

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

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

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

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

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

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

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

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

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

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

  DAO vs Repository и ORM: где заканчивается архитектура и начинается хаос

Мы начали обсуждать, какое архитектурное решение лучше подходит нашей системе. Спор об определениях затянулся: у каждого были аргументы, почему одно решение лучше другого.Почему продолжается путаница в концепциях, которые давно описаны и формализованы?

  Best Python AI Frameworks in 2026

Whether you’re building chatbots, training computer vision models, or analyzing business data, choosing the right AI framework can make or break your project. Python has become the dominant language for AI and machine learning development, and the ecosystem of frameworks supporting this work has matured significantly.

  Асинхронный django: новые начинания

Раньше я уже писал о своих идеях (1 и 2) о том, как сделать django асинхронным. Они основывались, вслед за sqlalchemy, на использовании гринлетов. Несмотря на то, что proof-of-concept был успешно получен, а трудностей - встречено меньше, чем ожидалось, я всё-таки отказался от этого подхода: во-первых, он уже применяется в sqlalchemy. Во-вторых, это ведёт к усложнению, и растёт так называемая test matrix - потому что поддерживается как синхронный случай, так и асинхронный. А simple, как мы знаем, is better than complex.

  Я научил небольшой Transformer генерировать цифры одной нитью

Наверняка вы видели портреты, собранные из одной нити, натянутой между сотнями гвоздей. Я решил проверить: можно ли научить нейросеть генерировать не готовую картинку, а инструкцию, по которой такая картинка строится?Я провел простой эксперимент и превратил цифры MNIST в последовательности переходов между 256 гвоздями и обучил небольшой Transformer продолжать путь нити. В результате модель выдаёт не PNG, а JSON-траекторию, которую можно отрисовать в любом разрешении - или потенциально передать физической string-art установке

  Как я построил guardrails, которые не дали моему AI-агенту пойти вразнос

На третий день в проде мой support-агент на LangGraph и GPT-4o слил email одного клиента в переписку с другим. Причина банальна: модель вставила сырой контекст из базы прямо в ответ, и ничто в пайплайне это не проверяло. Фреймворки для агентов дают оркестрацию, вызов инструментов и память — но не безопасность. В этой статье разбираю стек из четырёх guardrails (валидация входа, валидация выхода, circuit breaker по расходам и проверка вызова инструментов), который умещается в ~200 строк Python и добавляет менее 40 мс latency. С рабочим кодом, схемой пайплайна и честным разбором того, что эти guardrails ловят, а что — нет.

  Локальный инструмент для поиска закупок ЕИС по 44-ФЗ и 223-ФЗ: ключевые слова, фильтры и выгрузка в Excel

Сейчас всё больше рабочих задач имеет смысл не просматривать вручную, а сначала прогонять через ИИ. Закупки — хороший пример такой задачи. Проблема не только в том, чтобы открыть сайт ЕИС и вбить пару фильтров. Проблема в том, что нужно быстро понять: подходит закупка или нет, относится ли она к нужной теме, есть ли там нужные работы, стоит ли тратить время на документацию.

  Python 3.15 Hits Feature Freeze and Other News for June 2026

Python 3.15 hits feature freeze with a built-in sentinel, PEP 829 lands, Pydantic forks httpx, and AI goes bug-hunting in C code.

  Преобразование Фурье в цифровой обработке сигналов. Часть 1: Дискретное преобразование Фурье (ДПФ)

В этой статье мы начинаем погружение в одну из фундаментальных тем цифровой обработки сигналов (ЦОС) — дискретное преобразование Фурье (ДПФ). Именно ДПФ служит математической основой для понимания более сложных методов спектрального анализа и является отправной точкой для изучения всех остальных видов преобразования Фурье в ЦОС.

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

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

Видео

  Как мы изобретали Temporal, пытаясь просто создать приложение

Ларин Андрей. Старший разработчик, группа разработки IDP, Яндекс. Слайды: https://moscowpython.ru/meetup/111/inventing-temporal/

  AI в разработке: очень хороший автокомплит или роботы нас заменят?

Модерируемая дискуссия со спикерами. Рассмотрим с разных углов как AI инструменты меняют мир разработки.

Интересные проекты, инструменты, библиотеки

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

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

  headroom - Compress tool outputs

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.

Релизы

  tornado - 6.5.7

Масштабируемый, не блокирующий web-сервер. Скачать можно по ссылке: https://pypi.python.org/pypi/tornado/

  django-cms - 5.0.8

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

  virtualenv - 21.5.0

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

  beautifulsoup4 - 4.15.0

XML/HTML парсер. Скачать можно по ссылке: https://pypi.python.org/pypi/beautifulsoup4/

  pytest - 9.1.0

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

  aiohttp - 3.14.1

http клиент/сервер для asyncio. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp