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

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

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

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

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

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

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.

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

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

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

     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.