Об этом проекте

Mypy — это статический анализатор типов для Python. Добавляя аннотации типов (PEP 484) в программу на Python, mypy сообщает о некорректном использовании переменных и функций до выполнения кода, поскольку он анализирует программы статически, а не во время выполнения. Ключевые характеристики, описанные в README: - Постепенная типизация: аннотации типов можно вводить постепенно, и код всегда может вернуться к динамической типизации там, где статическая типизация неудобна. Аннотации типов не изменяют поведение программы. - Возможности системы типов: вывод типов, обобщения, типы вызываемых объектов, типы кортежей, объединённые типы и структурная подтипизация. - Установка через pip (`python3 -m pip install -U mypy`) или напрямую из репозитория. - Использование из командной строки: `mypy PROGRAM` для проверки типов и `dmypy run -- PROGRAM` для режима демона, который обеспечивает более быстрые инкрементальные обновления для больших кодовых баз. - Доступна онлайн-песочница для знакомства с mypy. - Интеграции с редакторами и инструментами: VS Code, Vim (Syntastic, ALE), Emacs (Flycheck), Sublime Text, PyCharm, IDLE и pre-commit. - Предоставлены документация, шпаргалка по аннотациям типов, руководство для начинающих и список кодов ошибок. - Mypyc компилирует модули Python в расширения C, используя аннотации типов; сам mypy скомпилирован с помощью mypyc, что, как указано в README, делает его примерно в четыре раза быстрее интерпретируемого выполнения. Возможна интерпретируемая установка с `--no-binary mypy`. Проект приветствует вклад в тестирование, разработку, документацию и другие области, с задачами для участников любого уровня опыта.