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

ty — это высокопроизводительный типизатор Python и языковой сервер, разработанный Astral, командой, стоящей за uv и Ruff. Написанный на Rust, он обеспечивает скорость проверки типов в 10–100 раз быстрее, чем у устоявшихся инструментов, таких как mypy и Pyright, что подтверждается бенчмарками на крупных проектах, например home-assistant/core. Ключевые возможности включают комплексную диагностику с богатой контекстной информацией, настраиваемые уровни правил, переопределения для отдельных файлов и комментарии для подавления. Инструмент поддерживает повторные объявления и частично типизированный код для постепенного внедрения, что делает его доступным для проектов со смешанным покрытием типами. Языковой сервер предоставляет навигацию по коду, автодополнение, действия с кодом, автоимпорт, встроенные подсказки и справку при наведении, с детальным инкрементальным анализом для быстрых обновлений во время редактирования в IDE. Доступны интеграции с редакторами: VS Code, PyCharm, Neovim и другими. Расширенные возможности типизации включают первоклассные типы пересечений, сложное сужение типов и анализ на основе достижимости. ty официально поддерживает цели Python 3.10+, более ранние версии (3.7–3.9) выбираемы, но могут давать ложные срабатывания или пропуски из-за ограниченных заглушек стандартной библиотеки. Сейчас ty находится в бета-версии с версионированием 0.0.x и пока не гарантирует стабильность API. Разработка ведется в репозитории Ruff. Проект лицензирован под MIT, его можно быстро запустить через uvx ty check или изучить в онлайн-песочнице на play.ty.dev.