Repolode
python

python/mypy

Статический анализатор типов для Python: находит ошибки типов по аннотациям PEP 484, не запуская код.

Звёзды
20,715
Форки
3,371
Открытые issues
3,232
Последний коммит
12 часов назад

Что это?

Mypy — статический анализатор типов для Python. Добавьте в код аннотации типов (PEP 484), и mypy укажет места, где значения или функции используются с несовместимыми типами, помогая находить многие ошибки до запуска программы.

Типизация постепенная: можно добавлять аннотации в кодовую базу поэтапно, а там, где статические типы неудобны, использовать динамическую типизацию. Аннотации типов не меняют поведение программы, поэтому обычный интерпретатор Python по-прежнему может выполнять код, на который mypy сообщает об ошибках. Система типов поддерживает вывод типов, обобщённые типы, типы вызываемых объектов, кортежи и объединения, а также структурную подтипизацию.

Для крупных проектов mypy предлагает режим демона (dmypy), который быстро повторно проверяет только изменённые части кода. Mypy интегрируется с редакторами, включая VS Code, Vim, Emacs и Sublime Text, и может запускаться в pre-commit-хуках. Сам mypy скомпилирован с помощью mypyc.

Ключевые возможности

  • 01Проверяет аннотации типов (PEP 484) и сообщает о несовместимом использовании типов, не запуская код.
  • 02Поддерживает вывод типов, обобщённые типы, типы вызываемых объектов, кортежи и объединения, а также структурную подтипизацию.
  • 03Позволяет использовать постепенную типизацию, сочетая код без типов с кодом, в котором есть аннотации.
  • 04Предоставляет режим демона (dmypy) для быстрой инкрементальной проверки крупных кодовых баз.
  • 05Интегрируется с редакторами, включая VS Code, Vim, Emacs и Sublime Text.

Сценарии использования

  • Поиск ошибок, связанных с типами, в Python-проектах до их выхода в продакшен.
  • Постепенное добавление аннотаций типов в существующую legacy-кодовую базу на Python.
  • Проверка типов в CI или pre-commit-хуках командных проектов.

Быстрый старт

  1. 1

    Установите mypy с помощью pip

    python3 -m pip install -U mypy
  2. 2

    Проверьте типы в программе

    mypy PROGRAM

В подборках

Темы

#python#static-typing#type-checker#type-hints#linter#pep-484#typechecker#types#typing

Частые вопросы

Что такое mypy?
Статический анализатор типов для Python: находит ошибки типов по аннотациям PEP 484, не запуская код. Mypy — статический анализатор типов для Python. Добавьте в код аннотации типов (PEP 484), и mypy укажет места, где значения или функции используются с несовместимыми типами, помогая находить многие ошибки до запуска программы.
mypy можно использовать бесплатно? Какая у него лицензия?
mypy распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
mypy всё ещё поддерживается?
Активно поддерживается. Последний коммит в mypy — 6 нояб. 2026 г..
Для чего можно использовать mypy?
Поиск ошибок, связанных с типами, в Python-проектах до их выхода в продакшен. Постепенное добавление аннотаций типов в существующую legacy-кодовую базу на Python. Проверка типов в CI или pre-commit-хуках командных проектов.
Как установить mypy?
Установите mypy с помощью pip: python3 -m pip install -U mypy Проверьте типы в программе: mypy PROGRAM
Где скачать mypy?
Исходный код и инструкции по установке — на GitHub: https://github.com/python/mypy

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Чисто Python-средство проверки типов во время выполнения, которое с минимальными накладными расходами проверяет соответствие аннотациям типов PEP для функций, классов и переменных.

3,5 тыс.+3 за неделю94PythonMITАктивно поддерживаетсяОбновлён 20 часов назад