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

Sources: ty, Language server | ty

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

Source: Language server | ty

Code navigation

ty powers several language server features for moving around a Python codebase. Go to Definition resolves imports, function calls and class references, while Go to Declaration navigates to a declaration site that may differ from the definition, such as one in a stub file. Go to Type Definition jumps to the type of a symbol, and Go to Implementation finds known implementations of a class or class member, including subclasses and method overrides. Find all references locates every usage across the workspace, and document and workspace symbols provide file outlines and workspace-wide symbol search.

  • Go to Definition
  • Go to Declaration
  • Go to Type Definition
  • Go to Implementation
  • Find all references
  • Document and workspace symbols

Source: Language server | ty

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

Source: Language server | ty

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

Sources: ty, Language server | ty

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

Source: Editor Integration | Ruff

Sources

  1. ty https://docs.astral.sh/ty/ Verified 03 Nov 2026
  2. Language server | ty https://docs.astral.sh/ty/features/language-server/ Verified 03 Nov 2026
  3. Editor Integration | Ruff https://docs.astral.sh/ruff/editors/ Verified 03 Nov 2026

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.