Типизированное расширение JavaScript с необязательной статической типизацией, которое компилируется в понятный JavaScript, соответствующий стандартам.
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
Установите mypy с помощью pip
python3 -m pip install -U mypy - 2
Проверьте типы в программе
mypy PROGRAM
В подборках
Темы
Частые вопросы
- Что такое 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 484 у функций, произвольных объектов и локальных переменных.
Чисто Python-средство проверки типов во время выполнения, которое с минимальными накладными расходами проверяет соответствие аннотациям типов PEP для функций, классов и переменных.
Плагин для protoc, генерирующий Python-файлы .pyi с типами по определениям Protocol Buffer, включая типизированные HasField, ClearField и gRPC-заглушки.
Быстрый чекер типов и language server для Python на Rust с функциями IDE: переходом по коду, автодополнением и семантической подсветкой.
Порт компилятора и языкового сервера TypeScript 7 на Rust — готовая замена для проверки типов и генерации кода.