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

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

     19.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Статьи

Зеленые потоки Celery. Gevent и Eventlet

Вторая статья цикла о внутрянке Celery: на этот раз — зелёные потоки (gevent/eventlet). Как gevent и eventlet работают под капотом Celery, что такое Hub, monkey patching и почему autoscale для гринлетов бесполезен. А ещё — неожиданный бенчмарк: prefork против gevent на одном ядре. Спойлер: gevent проигрывает, но не спешите его хоронить. Для тех, кто выбирает пул под свои задачи. 

     25.05.2026       Статьи

Реверс-инжиниринг Xiaomi Smart Band 10

У носимых устройств есть парадокс: браслет измеряет ваши пульс, сон и активность, но готового открытого API для интеграции этих данных в сторонние системы (например, домашний мониторинг или локальную БД) производитель не предоставляет.

     24.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Статьи

Сводка pythonz 17.05.2026 — 24.05.2026

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

     25.05.2026       Релизы

SQLAlchemy - 2.0.50

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

     19.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Статьи

Как мы вывели в админку ошибки yt-dlp, которые жили только в логах. Bridge на 200 строк и борьба с alert-fatigue

История о том, как сделать видимыми ошибки yt-dlp, которые молча умирали в логах воркера. Bridge на 200 строк, классификатор content vs infra, борьба с alert-fatigue. Читать

     18.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Статьи

RAG в enterprise: 70-80% проблем не в модели, а в данных

Эта статья родилась из работы над AlpinaGPT. Мы недавно зарелизили в нём по-настоящему крутых AI-ассистентов и AI-проекты: с подключаемыми базами знаний, общим контекстом чатов и нормальной памятью между сессиями. Я начал смотреть, как RAG сделан у других — и оказалось, что во многих продуктах на рынке всё гораздо проще и грубее, чем нам кажется. 

     18.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Статьи

Ваша модель показывает 95% accuracy и при этом бесполезна: метрики для несбалансированных классов

Модель может показывать 95–99% accuracy и при этом не решать задачу: особенно если редкий класс важнее всего для бизнеса. В статье разбираем, почему accuracy ломается на несбалансированных данных, как читать precision, recall и F1, зачем смотреть PR‑кривую и confusion matrix, а также как подбирать порог классификации с учетом стоимости ошибок.

     18.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Статьи

Как тестировать внешние API в Python: от DI-мока до настоящего HTTP-сервера

Почти каждый сервис, который мы сегодня пишем, ходит куда-то наружу — платёжный шлюз, биллинг, чужой публичный API. И каждый раз, когда садимся писать тесты на этот код, упираемся в один и тот же вопрос: как протестировать клиента, не привлекая внимания санитаров выходя в реальный мир?Эта статья про то, как выбирать инструмент под эту задачу. Не абстрактно — на одном маленьком, но гордом настоящем сервисе catfact-demo-service, в tests/ которого рядом лежат пять способов протестировать одну и ту же интеграцию.

     18.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Статьи

5 слоев кэширования в веб-приложениях: Полное руководство для Python-разработчиков

Кэширование — ключевой механизм оптимизации производительности веб-приложений, позволяющий снизить задержки и уменьшить нагрузку на серверы. В этой подробной статье рассмотрим пять основных уровней кэширования, применимых в современных веб-системах. Ты узнаешь о внутреннем и внешнем кэше, кэшировании на уровне reverse proxy, браузера и фронтенда. 

     18.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Статьи

Pyrog. Основа для приложения мечты

Около трёх лет назад я выпустил программный комплекс для ускорения разработки и управления мини-приложениями на Python + PySide6, которые помогают мне в повседневной работе.За время его эксплуатации я обнаружил ряд архитектурных недостатков, которые ухудшали опыт его использования, да и многие возможности, о которых я мечтал не были реализованы. Так или иначе, я нашел в себе силы исправить свои ошибки и реализовать задуманное. Поэтому, если вы, как и я, пишете инструменты на Python или хотите этим заняться, то можете взять на вооружение мой инструмент, он бесплатный и имеет открытый исходный код. Присоединиться к проекту

     23.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Релизы

pika - 1.4.1

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

     22.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Релизы

click - 8.4.1

Фреймворк для простого создания интерфейсов командной строки.. Скачать можно по ссылке: https://pypi.python.org/pypi/click/

     21.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Релизы

gevent - 26.5.0

Библиотека для Python, которая позволяет вам писать асинхронные сетевые приложение использую синхронный API. Скачать можно по ссылке: https://pypi.python.org/pypi/gevent/

     20.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Релизы

greenlet - 3.5.1

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

     17.05.2026       Выпуск 648 (11.05.2026 - 17.05.2026)       Статьи

Сводка pythonz 10.05.2026 — 17.05.2026

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

     17.05.2026       Выпуск 648 (11.05.2026 - 17.05.2026)       Статьи

Выделение одного значащего признака из набора данных с помощью машинного обучения. Используется Apache Spark

В первой части была создана инфраструктура для запуска машинного обучения. Там же была создана БД с данными для использования в примерах.В данной части будет искаться, какой тип файлов вызывает увеличение нагрузки. При этом, зная, какой именно тип файла был указан как вызывающий нагрузку.Будет использоваться машинное обучение в Apache Spark.

     17.05.2026       Выпуск 648 (11.05.2026 - 17.05.2026)       Статьи

fast-volleyball-tracking-inference — детектор волейбольного мяча на скорости 80 fps (CPU). Или «не YOLO единым»

Так сложилось, что я люблю играть в волейбол и активно снимаю свои игры и тренировки.У любителей обычно стоит стационарная камера на штативе, которая захватывает всю площадку (или почти всю) в формате 16:9. При этом современные соцсети потребляют контент вертикально (9:16) и короткими роликами около минуты.Задача: быстро делать вертикальные видео из любительских волейбольных съёмок.Центральный объект внимания в волейболе — мяч. Значит, нужно определять начало розыгрыша и дальше уверенно следить за мячом. Если сопровождать мяч и делать кроп из 16:9 в 9:16 — получаем готовый вертикальный ролик.При изучении темы детекции объектов почти сразу попадаешь на семейство YOLO. 

     19.05.2026       Выпуск 649 (18.05.2026 - 24.05.2026)       Релизы

scrapy - 2.16.0

Гибкий фреймворк для написания web-пауков (парсеров). Скачать можно по ссылке: https://pypi.python.org/pypi/scrapy

     16.05.2026       Выпуск 648 (11.05.2026 - 17.05.2026)       Статьи

manage.py migrate в пятницу в 17:30 на проде с 3K RPS и таблицей 200М строк

 Это третья часть мини-серии о Django-миграциях. В первой части мы готовились к миграциям и разбирались с конфликтами, во второй чинили типичные подводные камни. Если их не читали, то рекомендую начать именно с них, а затем вернуться сюда.В этом же материале поговорим о самом интересном: что происходит, когда python manage.py migrate запускается в 17:30 в пятницу на проде, под 3k RPS и таблицей в 200 миллионов строк. Расскажу какие блокировки в PostgreSQL берёт каждая операция Django, что внутри atomic = False, как пишется правильный паттерн expand-migrate-contract, зачемнужны AddIndexConcurrently, AddConstraintNotValid, SeparateDatabaseAndState и как обновлять данные на больших таблицах.

     16.05.2026       Выпуск 648 (11.05.2026 - 17.05.2026)       Статьи

Как запихнуть килограмм LLM в телеграм-бота и не сойти с ума

Все началось с прикола, я сидел с друзьями и подумал, а вот было бы прикольно запихать разные модели нейросетей в один чат и заставить их думать, что они реальные люди и работают в корпорации. Весь смысл был в том, чтобы это были действительно разные модели и пользователь мог просто между ними переключаться по запросу. Для начала мне нужно было найти зоопарк апи ключей с бесплатными лимитами. Я прошерстил весь интернет и в итоге нашел относительно норм варианты: Groq для LLama, Google AI Studio для Gemma и Gemini. В целом в это время код был простой, правда все время происходил забавный баг, когда пользователь переключался между моделями, одна модель не хотела отдавать очередь другой и просто притворялась ею, но я в целом без трудностей поправил это через системный промт. Однако до конца у меня исправить это так и не получилось, видимо, мои модели слишком тупые.