Об этом проекте
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`.
Проект приветствует вклад в тестирование, разработку, документацию и другие области, с задачами для участников любого уровня опыта.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.