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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     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, от этапа проектирования до сборки финальных кортежей.

     20.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи
     19.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи
     18.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Вопросы и обсуждения

The Real Python Podcast – Episode #247: Exploring DuckDB & Comparing Python Expressions vs Statements

Are you looking for a fast database that can handle large datasets in Python? What's the difference between a Python expression and a statement? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder's Weekly articles and projects.

     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, и научиться создавать подобные механизмы самостоятельно.

     18.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Интересные проекты, инструменты, библиотеки

fastapi_mcp

A zero-configuration tool for automatically exposing FastAPI endpoints as Model Context Protocol (MCP) tools.

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

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

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

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

numpy - 2.2.5

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

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

aiohttp - 3.11.17

http клиент/сервер для asyncio. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp

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

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

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

     17.04.2025       Выпуск 592 (14.04.2025 - 20.04.2025)       Статьи
     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. Ну очень примитивный!