TGViewer
Питонические атаки Питонические атаки @pythonic_attacks · 1.15K subscribers
Post #519 966
Вышел релиз 🔤🔤🔤🔤==0.990.

Релиз получился объемный: там добавили базовую поддержку Python 3.11, рекурсивные типы, категории ошибок в вывод, и ещё на сдачу наложили разные ломающие изменения. Готовьтесь, при обновлении наверняка будут новые проблемы в коде, который раньше тайп-чекался без ошибок. Ниже выпишу самые важные, на мой взгляд, пункты, а за полным списком изменений идите в блог mypy.

Теперь по умолчанию отключены неявные Optional типы. Придётся либо явно указывать в тайп хинте, что переменная/аргумент может принимать None, либо переключать настройку, чтобы вернуть старое неявное поведение:

def foo(s: str = None) -> int: ...  # Error!
def foo(s: str | None = None) -> int: ... # OK

Также тайп-чекер теперь перестал игнорировать пустые функции/методы. Раньше они не проверялись, а теперь проверяются и вызывают ошибки:

# Error: Missing return statement (no error before 0.990)
def some_func(arg: str) -> int:
pass

Через forward reference'ы теперь можно определять рекурсивные типы. Для применения рекурсивных типов нужно обязательно явно указывать тип, потому что если не указать, то mypy выведет какой-то многоэтажный нерекурсивный тип. Вот как это выглядит:

NaiveJSON = str | list["NaiveJSON"] | dict[str, "NaiveJSON"]
test_data: NaiveJSON = {"foo": {"bar": "baz"}} # OK

Тайп чекер постепенно становится умнее и строже. Гаечки затягиваются — остаётся всё меньше неявного и игнорируемого. И это хорошо.
Blogspot Mypy 0.991 Released We’ve just uploaded mypy 0.991 to the Python Package Index ( PyPI ). Mypy is a static type checker for Python. This release includes new fea...
  • ❤ 20
  • 👍 3
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 →