TGViewer
Питонические атаки Питонические атаки @pythonic_attacks · 1.15K subscribers
Post #152 535
Вышел релиз тайп-чекера mypy с круглой версией 0.900 и длинным списком изменений. Переход на новую версию потребует некоторых действий.

https://mypy-lang.blogspot.com/2021/06/mypy-0900-released.html

Самым крупным (и ломающим) изменением в этой версии является то, как mypy ищет тайп-аннотации. Раньше у mypy внутри был вшит весь репозиторий typeshed, где хранилась информация о типах и для стандартной библиотеки, и для множества популярных (и не очень популярных) библиотек с PyPI, которые почему-то не могут или не хотят хранить типы прямо у себя в коде. Это было неудобно, потому что исправления в typeshed (а там постоянно что-то фиксят) становились доступны пользователям mypy только при очередном релизе mypy с задержкой в несколько месяцев. А ещё вместе с mypy вам в проект прилетали тайп-аннотации для кучи библиотек, которыми вы не пользуетесь.

Короче, теперь у mypy в комплекте есть типы только для стандартной библиотеки, а typeshed из одной царь-библиотеки распался на много маленьких, и вам нужно явно установить те из них, которые вам нужны. Например, если вы используете requests, то вам нужно доустановить пакет types-requests, иначе mypy будет не хватать информации о типах. Для этих маленьких пакетов с типами будут автоматически создаваться новые релизы при каждом изменении, вам нужно будет обновлять их время от времени независимо от mypy.

Ещё из полезного добавлена поддержка кастомных тайп-гардов. Грубо говоря, теперь вы можете описать любую сколь угодно замысловатую логику валидации данных в функции (скорее всего это будет что-то с вызовами isinstance()), и после вызова этой функции mypy сможет более точно вывести тип данных.

Из других, менее крупных изменений отмечу следующие:

* mypy по умолчанию больше не работает для Python 2 кода; возможность проверять такой код всё ещё есть, но для этого нужно устанавливать дополнительные зависимости;
* mypy научился читать свою конфигурацию из pyproject.toml.

Мне нравится, что в Python появляется всё больше инструментов для типизации, а тайп-чекеры конкурируют между собой и становятся умнее.
Blogspot Mypy 0.900 Released We’ve just uploaded mypy 0.900 to the Python Package Index ( PyPI ). Mypy is a static type checker for Python. This release includes many...
More from @pythonic_attacks
  1. May 24, 2026GPT-5.5 по дефолту предпочитает использовать uv. Совпадение? Абсолютно точно нет. Логично…
  2. Mar 19, 2026Новость вызывает столько противоречивых мыслей, что я даже прерву радио молчание. С одной…
  3. Mar 19, 2026https://openai.com/index/openai-to-acquire-astral/ & https://astral.sh/blog/openai Это не…
  4. Nov 17, 2025Ну что же.. Мы совместно с Эммой Смит опубликовали Pre-PEP о добавлении Раста в CPython. В…
  5. May 19, 2025Вышел трейлер документалки о Python. Что-то на уровне Marvel, возможно даже выше https://w…
  6. May 15, 2025All good things come to an end Что ж, скажем Майкрософту спасибо, что 4 года содержал кома…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →