tgoop.com/pyproglib/6881
Last Update:
🔄 Breaking Changes в Python: как сделать их менее болезненными
На саммите Python Language Summit 2025 инженеры из Meta* поделились опытом массового деплоя Python-кода в прод и тем, как breaking changes усложняют жизнь разработчикам.
Breaking changes — это изменения в языке или стандартной библиотеке, которые ломают совместимость. Они неизбежны, но можно и нужно сделать их предсказуемыми и управляемыми.
— Можно найти через AST, grep, линтеры
— Примеры: удалённые функции, изменённые аргументы
— Ошибки видны сразу при запуске или импорте
— Например: изменения в dataclasses
в 3.12
— Ошибки зависят от типа/значения
— Самые опасные: ловятся только тестами или в проде
— Создать таксономию изменений по степени влияния
— Публиковать понятные гайды миграции, включая альтернативы и отличия API
— Сохранять документацию удалённых модулей
— Поддерживать тестирование на pre-release-версиях Python
— Разработать автоматические фиксаторы (например, с использованием Ruff)
— typing-extensions
ломал pydantic
: предлагали автоматические тесты зависимых проектов
— Успешный опыт pre-release CI у научного Python
— Идея: «экосистемные тесты» по dependency graph — проверять библиотеки заранее
💬 Вопрос на последок:
Что важнее: эволюция языка или стабильность экосистемы?
Напишите в комментарии или выберите реакцию:
🔥 — Лучше ломать, но двигаться вперёд
❤️ — Нет, стабильность важнее новых фич
👍 — Зависит от масштаба проекта
Библиотека питониста #междусобойчик
* признанной экстремистской на территории Российской Федерации