ty
Сверхбыстрый Python-типчекер и language server, написанный на Rust.
Проверка типов проекта home-assistant без кэширования.
ty разработан Astral, создателями uv и Ruff.
Основные возможности
- Продвинутые возможности типизации: полноценные пересечения типов (intersection types), расширенное сужение типов (type narrowing) и анализ достижимости
- Интеграция с редакторами: VS Code, PyCharm, Neovim и другие
- Пошаговый инкрементальный анализ для быстрых обновлений при редактировании файлов в IDE
- Language server с навигацией по коду, автодополнением, code actions, auto-import, inlay hints, подсказками при наведении и т. п.
- Ориентирован на внедрение: поддержка повторных объявлений (redeclarations) и частично типизированного кода
- Настраиваемые уровни правил, переопределения по файлам, комментарии подавления и полноценная поддержка проектов
- Подробные диагностики с богатым контекстом
- В 10–100 раз быстрее mypy и Pyright
Быстрый старт
Запустите ty через uvx:
uvx ty check
По умолчанию ty проверяет все Python-файлы в рабочем каталоге или проекте.
Подробнее см. в документации по проверке типов.
Установка
Инструкции по установке ty см. в документации по установке.
Чтобы добавить language server ty в редактор, см. руководство по интеграции с редакторами.
Playground
У ty есть онлайн playground, где можно попробовать его на фрагментах кода или небольших проектах.
Tip
Playground удобен для обмена фрагментами с другими, например при отправке отчёта об ошибке.