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

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

     23.04.2025       Выпуск 593 (21.04.2025 - 27.04.2025)       Статьи

Год с uv — инструментом управления Python-проектами: плюсы, минусы и стоит ли переходить

В статье — честный разбор сильных и слабых сторон uv, его отличий от других менеджеров окружений, реальных ограничений и сценариев, где он работает особенно хорошо.

     23.04.2025       Выпуск 593 (21.04.2025 - 27.04.2025)       Статьи

FastOpenAPI: автодокументация OpenAPI для разных фреймворков на Python

Это инструмент, который приносит удобный стиль маршрутизации FastAPI и автоматическую документацию OpenAPI в целый ряд Python-фреймворков.

     22.04.2025       Выпуск 593 (21.04.2025 - 27.04.2025)       Статьи

UI автотесты на Python с запуском на CI/CD и Allure

Разбираем, как писать масштабируемые и читаемые UI автотесты на Python с использованием паттернов PageObject, PageFactory и PageComponent. Разберем на атомы как устроены эти подходы, когда их применять и чем они отличаются. Всё это — на примере тестового проекта UI Course с CI/CD и наглядными отчетами в Allure.

     22.04.2025       Выпуск 593 (21.04.2025 - 27.04.2025)       Статьи

Распознавание капчи GeeTest: как обойти сложную антибот-систему

GeeTest — один из продвинутых представителей антибот-систем, который сочетает в себе головоломки для пользователя и анализ его поведения. Я решил подробно рассмотреть распознавание капчи GeeTest в условиях боевых реалий и разобраться, как обойти GeeTest капчу различными методами. 

     22.04.2025       Выпуск 593 (21.04.2025 - 27.04.2025)       Статьи

Как создавать A/B-тесты SMS-рассылок с нейросетью DeepSeek

В этой статье поможем владельцам бизнесов и маркетологам в два клика с помощью нейросети получить хорошие тексты для A/B-тестирования SMS-рассылок и разослать выбранные варианты контактам из CRM.Для генерации текстов используем API DeepSeek,

     22.04.2025       Выпуск 593 (21.04.2025 - 27.04.2025)       Статьи

Личный ИИ-ассистент на ваших данных. Часть 2: Веб-интерфейс, авторизация и стриминг ответов от ИИ

В этой части статьи мы шаг за шагом превращаем консольную заготовку из первой части в полноценный веб-сервис: — реализуем авторизацию — создаём веб-чат с выбором нейросети — интегрируем всё через FastAPI — готовим к деплою

     20.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Game Engine 3 — оболочка для визуального программирования игр на Python (от идеи до реализации)

Сегодня я хочу рассказать о своём проекте — «Game Engine 3», программной оболочке для создания двумерных игр и приложений.Game Engine 3 — это инструмент для создания 2D‑игр с физикой и анимацией. С открытым исходным кодом, интуитивным редактором визуального программирования на основе нодов и возможностями работы с графикой, физикой и анимацией, он подходит как для новичков, так и для профессионалов. В этой статье разберем, что делает эту оболочку уникальной.

     20.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Простой пример использования в ПЛК нейросетевого контроллера

Современный мир движется к объединению технологий: промышленной автоматизации и искусственного интеллекта. Но для меня, занимающегося программированием в сфере АСУ ТП, было трудно понять, как на ПЛК, с его скромными техническими характеристиками и средой Codesys или TIA Portal можно применить технологии ИИ. 

     20.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Как обсчитать RFM-анализ за 5 шагов

RFM-анализ - это метод сегментации клиентов, основанный на их покупательской активности. С помощью RFM-анализа можно, во-первых, оценить доли клиентов в каждом из сегментов. Во-вторых, вспоминая постулат, что клиента легче удержать, чем привлечь. К пользователям, попавшими в разные сегменты, можно применять различные стратегии удержания / поощрения.

     20.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Оповещение о РО через колонки Яндекса (Ну или в целом получение сигналов в УДЯ)

Система и алгоритм оповещения о ракетной опасности с использованием Яндекс Станций. Пользователь вручную создает сценарии для устройств «Умного дома Яндекса» с использованием «Лампочки», которая включается при сигнале о РО и выключается при сигнале ОТБОЙ.Стэк: Python, telethon, aiogram 3.x, mqtt, postgresql.

     20.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Сводка от pythonz 13.04.2025 — 20.04.2025

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

     20.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Почему @patch из unittest.mock ломает вам тесты, если не указать autospec=True

Сегодня разберёмся, почему без autospec=True ваш безобидный @patch из unittest.mock может превратить зелёный репорт в мину замедленного действия. Смысл patch() прост: отрезаем внешний мир, подсовываем фейковый объект и гоняем логику изолированно. Но если не включить autospec, мок превращается в пластилин — к нему прилипает любой метод, любые аргументы, и тесты радостно хлопают ладоши, даже когда в коде опечатка или нарушена сигнатура.

     21.04.2025       Выпуск 593 (21.04.2025 - 27.04.2025)       Статьи

Некоторые особенности создания диаграммы Санки (Sankey Diagram) на Python библиотека plotly

Разбираемся как упаковывать данные в диаграмму Sankey, от этапа проектирования до сборки финальных кортежей.

     18.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

LitestarCatsCV. Тренируемся на кошках. Расширяем возможности и готовимся к продакшену. Часть 3

У нас уже есть стены и фундамент, но пора ставить крышу и готовиться к продакшену! 🏠 Сегодня мы сделаем наш API ещё круче: вынесем конфиги в отдельный модуль с помощью msgspec, добавим аутентификацию через встроенный JWT в Litestar, ускорим API с KeyDB, проверим покрытие тестами с coverage, упакуем всё в Docker и нарисуем резюме котиков с помощью Jinja.

     18.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

MCP своими руками

Сегодня я хочу рассказать, что из себя представляет протокол MCP от Anthropic — для этого лучше всего создать его аналог собственными руками. Эта статья предназначена для разработчиков, которые хотят глубже понять, как работает MCP, и научиться создавать подобные механизмы самостоятельно.

     19.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

F(), Func() и никаких циклов: как Django думает в SQL

Сегодня рассмотрим, как использовать F()-экспрессии и Func()-обёртки в Django для того, чтобы выполнять арифметику, условия и преобразования не в Python, а на стороне базы данных. Один SQL-запрос может заменить десятки строк кода не теряя в качестве кода.

     17.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Ускорить Pandas в 60 раз: проверяем лайфхаки из интернета на реальном проекте и обкладываемся бенчмарками

Если после заголовка вы решили, что это очередная статья в стиле «Топ-10 способов ускорить Pandas», то не торопитесь с выводами. Вместо топов и подборок предлагаю взглянуть на бенчмарки скорости и потребления памяти в зависимости от характеристик датафрейма и убедиться, что часть советов из статей по ускорению могут оказаться даже вредными. Разберём, какой из способов ускорения нужно пробовать в разных ситуациях, как это зависит от размера датафрейма и как ведёт себя в реальном проекте.

     17.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Пробуем Codex CLI от OpenAI для доработки ХрюХрюКара

Пару дней назад я опубликовал статью про ХрюХрюКар - телегам-бот для борьбы со стоянкой автомобилей на зелёных зонах. Проект с открытым исходным кодом. За два дня ко мне обратилось несколько сторонников с просьбой добавить их города. Но вот незадача: у меня была возможность через админ-панель Django править данные в базе, но об этом кеш сервера не узнает (основной бекэнд на Go). В результате приходилось добавлять данные и перезагружать контейнеры с go-бекэндом вручную.

     17.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Проверка теории повторяемости биржевых графиков

Данная статья навеяна мнением о том, что все участки биржевых графиков в прошлом уже повторялись, потому что поведение участников рынка подчиняется типовым сценариям. И если оцифровать все графики, то можно находить похожие участки в текущий момент времени и предполагать, какое движение будет в ближайшее время.

     16.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи

Обработка геоданных для ML-задач. Часть 2: пространственные объединения и расстояния

Сейчас мы рассмотрим пространственные объединения — аналог обычного объединения в мире геоданных, основанный на топологических отношениях между объектами, таких как пересечение, вложение или касание. Также мы узнаем, как правильно рассчитывать различные типы расстояний (и иногда это не просто евклидово расстояние между двумя точками). Например, геодезическое расстояние учитывает кривизну Земли, что особенно важно для анализа данных на больших территориях.