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

Собрали в одном месте самые важные ссылки
читайте нас в Twitter

     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       Статьи

Некоторые особенности создания диаграммы Санки (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: пространственные объединения и расстояния

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

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

Пишем самый примитивный компилятор на Python

Сегодня мы с вами напишем примитивный компилятор на Python. Ну очень примитивный! 

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

Цифровой двойник: не просто копия, а твой персональный баг-репорт реального мира

Эта статья — попытка разобраться без прикрас и с примерами, как устроена такая технология, какие инструменты сейчас в ходу, с чем сталкиваются разработчики, и где всё это реально применяется — от предсказания отказов турбин до мониторинга состояния коров в Новой Зеландии.

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

Префиксные суммы. Решение задачи из тренировок Яндекса по алгоритмам

Расскажу о том, как решал одну из наиболее интересных задач в разминке Яндекс Алгоритмы 2023 г. Интересной я называю ее потому, что: 1) решал я кратно дольше, чем предыдущие 6 задач из разминки вместе взятые; 2) именно в этой задаче я проникся мощью префиксных сумм, и применением их для двумерных массивов.

     18.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Релизы

gevent - 25.4.1

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

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

Помощник читателя: визуализируем сюжет

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

     15.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Вопросы и обсуждения

Python Bytes: #428 How old is your Python?

Очередной выпуск англоязычного подкаста Python Bytes

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

Автоматизация RSA-подписей в API с помощью плагина Burp Suite

Механизм использования одноразовых и подписных запросов может быть эффективным способом защиты запросов API от подделки. В то же время применяемые меры безопасности затрудняют проведение тестирования на проникновение.

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

MSSQL: тепловые диаграммы индексов в виде TreeView

Вам интересно, какие индексы используются больше или меньше? Какие не используются вовсе? Какие таблицы и индексы самые большие? Очень легко создать такие диаграммы. Это и красиво, и полезно.

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

Автоматизировать, нельзя анализировать: интеграция SOAR Shuffle в SOC ч. 1

Работая в современном коммерческом SOC'е я впервые столкнулся с масштабными средствами автоматизации, заточенными под самые разные инфраструктуры, которые позволяют экономить колоссальное количество времени и предотвращать тысячи киберинцидентов каждый день.

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

Python для преподавателя: как я использую код, чтобы автоматизировать работу

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