PYPROGLIB Telegram 6881
🔄 Breaking Changes в Python: как сделать их менее болезненными

На саммите Python Language Summit 2025 инженеры из Meta* поделились опытом массового деплоя Python-кода в прод и тем, как breaking changes усложняют жизнь разработчикам.

▶️ Суть проблемы

Breaking changes — это изменения в языке или стандартной библиотеке, которые ломают совместимость. Они неизбежны, но можно и нужно сделать их предсказуемыми и управляемыми.

▶️ Классификация breaking changes по «болезненности»

1️⃣ Легко находимые
— Можно найти через AST, grep, линтеры
— Примеры: удалённые функции, изменённые аргументы

2️⃣ Находятся при сборке/импорте
— Ошибки видны сразу при запуске или импорте
— Например: изменения в dataclasses в 3.12

3️⃣ Проявляются только во время исполнения
— Ошибки зависят от типа/значения
— Самые опасные: ловятся только тестами или в проде

▶️ Что можно улучшить

— Создать таксономию изменений по степени влияния
— Публиковать понятные гайды миграции, включая альтернативы и отличия API
— Сохранять документацию удалённых модулей
— Поддерживать тестирование на pre-release-версиях Python
— Разработать автоматические фиксаторы (например, с использованием Ruff)

▶️ Что обсуждали в комьюнити

typing-extensions ломал pydantic: предлагали автоматические тесты зависимых проектов
— Успешный опыт pre-release CI у научного Python
— Идея: «экосистемные тесты» по dependency graph — проверять библиотеки заранее

💬 Вопрос на последок:
Что важнее: эволюция языка или стабильность экосистемы?


Напишите в комментарии или выберите реакцию:
🔥 — Лучше ломать, но двигаться вперёд
❤️ — Нет, стабильность важнее новых фич
👍 — Зависит от масштаба проекта

💥 Понравился пост? С ваc буст, а с нас больше топового контента!

Библиотека питониста #междусобойчик

* признанной экстремистской на территории Российской Федерации
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥74👾1



tgoop.com/pyproglib/6881
Create:
Last Update:

🔄 Breaking Changes в Python: как сделать их менее болезненными

На саммите Python Language Summit 2025 инженеры из Meta* поделились опытом массового деплоя Python-кода в прод и тем, как breaking changes усложняют жизнь разработчикам.

▶️ Суть проблемы

Breaking changes — это изменения в языке или стандартной библиотеке, которые ломают совместимость. Они неизбежны, но можно и нужно сделать их предсказуемыми и управляемыми.

▶️ Классификация breaking changes по «болезненности»

1️⃣ Легко находимые
— Можно найти через AST, grep, линтеры
— Примеры: удалённые функции, изменённые аргументы

2️⃣ Находятся при сборке/импорте
— Ошибки видны сразу при запуске или импорте
— Например: изменения в dataclasses в 3.12

3️⃣ Проявляются только во время исполнения
— Ошибки зависят от типа/значения
— Самые опасные: ловятся только тестами или в проде

▶️ Что можно улучшить

— Создать таксономию изменений по степени влияния
— Публиковать понятные гайды миграции, включая альтернативы и отличия API
— Сохранять документацию удалённых модулей
— Поддерживать тестирование на pre-release-версиях Python
— Разработать автоматические фиксаторы (например, с использованием Ruff)

▶️ Что обсуждали в комьюнити

typing-extensions ломал pydantic: предлагали автоматические тесты зависимых проектов
— Успешный опыт pre-release CI у научного Python
— Идея: «экосистемные тесты» по dependency graph — проверять библиотеки заранее

💬 Вопрос на последок:

Что важнее: эволюция языка или стабильность экосистемы?


Напишите в комментарии или выберите реакцию:
🔥 — Лучше ломать, но двигаться вперёд
❤️ — Нет, стабильность важнее новых фич
👍 — Зависит от масштаба проекта

💥 Понравился пост? С ваc буст, а с нас больше топового контента!

Библиотека питониста #междусобойчик

* признанной экстремистской на территории Российской Федерации

BY Библиотека питониста | Python, Django, Flask




Share with your friend now:
tgoop.com/pyproglib/6881

View MORE
Open in Telegram


Telegram News

Date: |

A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. As the broader market downturn continues, yelling online has become the crypto trader’s latest coping mechanism after the rise of Goblintown Ethereum NFTs at the end of May and beginning of June, where holders made incoherent groaning sounds and role-played as urine-loving goblin creatures in late-night Twitter Spaces. 5Telegram Channel avatar size/dimensions How to Create a Private or Public Channel on Telegram? fire bomb molotov November 18 Dylan Hollingsworth yau ma tei
from us


Telegram Библиотека питониста | Python, Django, Flask
FROM American