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

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

     30.06.2026       Статьи

Harness Bench: как оценить агентский harness и выбрать связку с моделью

Когда мы собираем AI-агента, первым делом выбираем модель под задачу. Но в реальном приложении она не работает в одиночку, ей нужен агентский harness — программная обвязка. Поэтому выбирать приходится не просто модель, а связку «модель + harness».Чтобы делать этот выбор осознанно, мы создали Harness Bench — открытый фреймворк, который тестирует связки на реальных задачах в одинаковых условиях

     02.07.2026       Релизы

coverage - 7.15.0

Утилита позволяющая измерить процент покрытия тестами. Скачать можно по ссылке: https://pypi.python.org/pypi/coverage/

     30.06.2026       Статьи

Как я устал писать парсер под каждый прайс и сделал из этого библиотеку

У нас на проекте десятки прайсингов на топливо: один вендор шлёт CSV, другой Excel, третий JSON на вебхук. Данные одни и те же, но колонка цены везде называется по-своему, даты в трёх форматах, единицы то литры, то галлоны, а половина нужных полей просто отсутствует. И под каждый источник у меня жил отдельный парсер на сотню строк if-else. Сначала их было три, потом восемь, потом я перестал считать. А по-настоящему добило другое: эти парсеры ломались молча. Вендор тихо переименовывал колонку.В третий раз за месяц копируя один и тот же парсер, я понял, что так нельзя, и вынес логику маппинга из кода в данные. Из этого выросла библиотека fidelis:

     30.06.2026       Статьи

Как голосовой ИИ-агент врал клиентам, путал звонящих и подделывал собственный голос — и как это чинится

За три месяца наш голосовой ИИ-агент успел соврать клиенту про несуществующего администратора, принять всех звонящих за одного человека и месяц выдавать обычный синтез за "клонированный голос". Разбираю, почему это лечится структурой кода, а не промптом — на полностью российском стеке.

     29.06.2026       Статьи

Сдерживаем полет фантазии LLM в киносервисе

Я собрал Movie Planner — сервис для ведения базы кино с друзьями, планирования просмотров и трекинга сериалов. Мы используем искусственный интеллект в нашем сервисе, и про него я как раз хочу рассказать: полгода назад я начал открывать для себя его возможности, и с тех пор исследую всё новое и новые способы применения, экспериментирую с мультиагентными системами и ищу, как интересно можно применить нейросети. 

     29.06.2026       Статьи

Современный MQTT-сервис на Python

В Python при выборе библиотеки для работы с MQTT почти всегда приходишь к paho-mqtt. Это зрелый и самый популярный клиент, но его API построен на колбэках, а современное Python-приложение живёт в asyncio: FastAPI, фоновые воркеры, асинхронные клиенты и всё это в одном общем event loop.В одном из IoT-проектов я столкнулся ровно с этим. Мне нужен был MQTT-клиент, который без сложной адаптации встраивается в асинхронное приложение и позволяет работать с подписками как с управляемыми объектами, а не через набор колбэков.

     29.06.2026       Статьи

Как я устал от CVAT и в соло написал десктопный инструмент для авторазметки датасетов на PyQt5

Надоело разворачивать CVAT через докер и мириться с лагами браузера? Я расскажу свою историю, как от простецкого аннотатора собранного на коленке написал мощную легковесную отечественную альтернативу на PyQt5 и OpenGl, с пакетной авторазметкой и иерархией классов.

     29.06.2026       Статьи

import-linter: пусть границы слоёв сторожит машина, а не человек

Обычный летний день на проекте: ruff зелёный, mypy зелёный, тесты проходят. А domain при этом тихо импортирует adapters. Слоистая архитектура, которую рисовали на старте, теперь осталась только на схеме. Линтер ловит неиспользуемый импорт и кривой отступ. Типизатор - что вместо int передали str. А то, что бизнес-логика потащила в себя SQLAlchemy или Redis, не видит никто. 

     27.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи

Интересные развлечения со змеей

На этот раз у нас известный язык программирования Python, c двумя стилизованными змеями на логотипе, интересные и необычные развлечения с которым были собраны в этой замечательной статье.

     27.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи

Django-style фильтры поверх SQLAlchemy: зачем я написал python пакет sqlalchemy-query-manager

TL;DR: я сделал sqlalchemy-query-manager — небольшой слой поверх SQLAlchemy для типовых backend-запросов. Он не заменяет SQLAlchemy, а добавляет более компактную запись для частых операций: фильтры в стиле number__gte=100, условия через Q, фильтрацию по связанным моделям, eager loading, CRUD helpers, агрегаты и просмотр итогового SQL. Идея в том, чтобы оставить SQLAlchemy в основе, но убрать повторяющийся код там, где запросы становятся слишком большими.

     28.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи

Сводка pythonz 21.06.2026 — 28.06.2026

А теперь о том, что происходило в последнее время на других ресурсах.

     26.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи

Мой мониторинг аптайма сам нагенерил 932 фантомных падения

2 июня мой мониторинг аптайма разом отрапортовал, что упало почти всё: 932 инцидента за 25 минут. Сайты были живы — все до единого. Виноваты дефолтный лимит файловых дескрипторов 1024 и «оптимизация», тихо размножившаяся в 60 раз. Разбираю по приборам: /proc, ss, EMFILE и почему docker compose restart не спасает.

     26.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи

Science‑purpose‑RAG: туда и обратно

Я хотел написать маленький локальный RAG для научных статей: графы, hybrid search, HyDE, reranker, всё красиво. В итоге Full Pipeline проиграл почти всем простым baseline’ам, графы начали портить контекст, HyDE вредил, а локальная LLM уверенно делала вид, что всё хорошо. Потом я разобрался, что ломалось, выкинул лишние LLM‑вызовы, починил trimming и получил систему, которая, наконец, начала выигрывать там, где должна. Где же оно сломалось?

     26.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи

Построили рекомендательную систему для игр и поняли, почему простые решения работают, а сложные нет

В игре человек выполняет задания ради бонусов или энергии, а для банка эти задания — реальные действия: оплата ЖКХ, заправка через приложение или заказ новой карты. Это отличный способ нативно продвигать продукты без назойливых рекламных баннеров.Если в играх мало заданий, то их можно просто показать всем. Но когда механик становится много, появляется классическая рекомендательная задача: что именно предложить конкретному клиенту, в каком порядке, и как оценить эффект?

     26.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи

Python in a Sandbox With MicroPython and WASM

Simon’s been in search of the perfect code sandbox. This article is about his latest attempt and covers why he wants a sandbox and what tech he’s used to achieve it.

     26.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи
     26.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи
     25.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи