| name | ty-0-0-29 |
| description | Extremely fast Python type checker and language server written in Rust, 10x-100x faster than mypy and Pyright. Provides comprehensive diagnostics, configurable rule levels, and advanced typing features including intersection types. Use when type checking Python code, setting up editor integrations for real-time type checking, configuring rules, or needing fast incremental analysis in IDEs. |
| version | 0.1.0 |
| author | Tangled <noreply@tangledgroup.com> |
| license | MIT |
| tags | ["python","type-checking","static-analysis","language-server","mypy-alternative","pyright-alternative","rust","performance"] |
| category | tooling |
| external_references | ["https://docs.astral.sh/ty/","https://github.com/astral-sh/ty"] |
ty 0.0.29
Overview
ty is an extremely fast Python type checker written in Rust by Astral (the same team behind Ruff and uv). It is 10x-100x faster than mypy and Pyright while providing comprehensive diagnostics, configurable rule levels, and advanced type system features including intersection types, redeclarations, and gradual type support.
ty supports all typing features described in the Python typing specification. Beyond standard type checking, ty provides a full-featured language server for IDE integration with diagnostics, code completions, go-to-definition, hover information, inlay hints, rename refactoring, and more.
Key capabilities:
- Blazing fast: Written in Rust with parallel analysis and fine-grained incrementality
- Type system: Intersection types (
A & B), redeclarations, gradual guarantee, fixpoint iteration
- Configuration:
pyproject.toml ([tool.ty]) or standalone ty.toml, with per-file overrides
- Language server: Full LSP support for VS Code, Neovim, Zed, PyCharm (2025.3+), Emacs, and any LSP-compatible editor
- Watch mode: Incremental rechecking on file changes with fine-grained dependency tracking
- Python versions: Supports targeting Python 3.7 through 3.15
When to Use
- Type checking Python codebases with fast feedback (CI/CD, pre-commit, or interactive)
- Setting up real-time type checking in editors via the language server
- Migrating from mypy or Pyright to a faster type checker
- Configuring rule levels and suppression comments for type violations
- Working with advanced type system features like intersection types and redeclarations
- Needing fast incremental analysis in IDEs on large projects
Installation / Setup
Quick start without installation
uvx ty check
Add to your project (recommended)
uv add --dev ty
uv run ty check
To update:
uv lock --upgrade-package ty
Install globally with uv
uv tool install ty@latest
ty check
Standalone installer
macOS/Linux:
curl -LsSf https://astral.sh/ty/install.sh | sh