
ty
A very fast type checker and language server for Python, written in Rust. Currently in beta.
- Stars
- 20k
- Forks
- 346
- Licence
- MIT
- Language
- Python
- Last update
- 4 days ago
- Type
- Dev tool
What it is
ty checks Python code for type errors, the kind of mistakes a type checker catches before the code runs. It also includes a language server, which gives code editors features like completions, navigation, and on-hover help. The project is backed by Astral, and the README says it is currently in beta and has no stable API yet.
- Run a quick type check on a project with uvx ty check
- Use the language server in an editor such as VS Code, PyCharm, or Neovim for inline diagnostics
- Configure rule levels and per-file overrides to tune how strict checks are
- Add suppression comments to silence specific diagnostics where needed
Great for
- Python developers who already use type hints and want faster type checking
- Teams wanting an editor language server for Python with completions and auto-import
- People already using uv or Ruff from Astral who want a matching tool
- Developers with large Python projects who want quick feedback while editing
Not ideal for
- Teams that need a stable, long-term API, since the README says breaking changes may occur between any two versions
- People who need a fully mature tool; the README states it is still in beta
- Projects that depend on very old Python targets, since the README says Python 3.7 to 3.9 may give false positives or negatives
How to get it
- 1
Install with a package manager
You'll need: uv (to use the uvx command shown in the README)
Run ty without a permanent install (from the README)
uvx ty check - 2
Run it
- Install uv if you do not already have it
- Open a terminal in your Python project folder
- Run uvx ty check to type check the project
- Read the diagnostics it prints and fix or suppress them as needed
- 3
Get the most out of it
- Add a per-file override or rule level in your configuration to tune strictness, as described in the configuration reference
- Connect the language server to your editor using the editor integration guide for VS Code, PyCharm, or Neovim
- Try the online playground at play.ty.dev before installing anything locally
Downloads
Strengths
- The README claims it is 10x to 100x faster than mypy and Pyright, with a benchmark shown on a large project
- Includes a language server with navigation, completions, code actions, and inlay hints
- Supports partially typed code, which helps when adopting type checking gradually
Trade-offs
- Still in beta with a 0.0.x version, so breaking changes, including to diagnostics, may happen
- Development currently takes place in the Ruff repository, so contributions go there rather than here
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.