What the ty language server is
ty is an extremely fast Python type checker and language server written in Rust, backed by Astral, the creators of uv and Ruff. The documentation states that users can generally expect ty to be a fully-featured language server for Python. The language server side of ty covers code navigation, completions, code actions, auto-import, inlay hints and on-hover help, with fine-grained incremental analysis designed for fast updates when editing files in an IDE.
- Written in Rust
- Part of the ty type checker
- Backed by Astral
- Fine-grained incremental analysis for fast IDE updates
Diagnostics
ty reports type errors and other diagnostics directly in the editor, and diagnostics are updated as the user types. The diagnosticMode setting controls whether diagnostics are shown for open files only or for the entire workspace. ty supports both the "pull" and "push" diagnostic models; most modern editors use the "pull" model for better performance, where diagnostics are fetched on demand rather than pushed after every change.
- Inline diagnostics with code-span annotations
- diagnosticMode setting for open files or whole workspace
- Support for both pull and push diagnostic models
Completions, code actions and contextual information
ty provides code completions as you type, suggesting variables, functions, classes and modules in scope, and offers auto-import actions for symbols that are not yet imported. Code actions include adding missing imports, quick fixes attached to certain diagnostics, renaming symbols across a codebase and expanding or shrinking the selection range based on ty's understanding of Python syntax. Contextual features surface types, documentation, function signatures and the variance of type parameters on hover, alongside inlay hints for variables without explicit annotations, signature help, document highlight and semantic highlighting. The documentation also lists code folding and notebook support, and a reference table of supported LSP features.
- Completions with auto-import
- Add import and quick fixes
- Rename symbol
- Selection range
- Hover information and inlay hints
- Signature help, document highlight and semantic highlighting
- Code folding and notebook support
Getting the language server into an editor
ty can be run quickly with uvx using uvx ty check, which checks all Python files in the working directory or project by default. To add the language server to an editor, the ty documentation points to its editor integration guide, with integrations available for VS Code, PyCharm, Neovim and more. An online playground is also available for trying ty on snippets or small projects, which the documentation suggests for sharing examples in bug reports.
- Run with uvx ty check
- Editor integration guide for setup
- Integrations for VS Code, PyCharm and Neovim
- Online playground for snippets
Use alongside Ruff
The Ruff documentation describes the Ruff Language Server as providing Ruff diagnostics, code actions to fix them, and formatting with Ruff's built-in formatter. For features such as navigation and autocompletion, Ruff's editor integration documentation recommends running the ty language server alongside Ruff.
- Ruff supplies linting diagnostics and formatting
- ty recommended for navigation and autocompletion
Sources
Last verified 03 Nov 2026. This entry is compiled from the public web pages listed above. Nothing here is stated that those pages do not, and each of them was read on the date shown.