astral-sh/ty

An extremely fast Python type checker and language server, written in Rust.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 54 minutes ago
Added to GitGenius on December 26th, 2025
Created on May 2nd, 2025
Open Issues & Pull Requests: 904 (+0)
Number of forks: 327
Total Stargazers: 19,538 (+1)
Total Subscribers: 51 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.7 hours
Mean response time: 8.2 days
90th percentile: 7.0 days
Tracked items: 3,468

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 74% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 18% of tracked open issues have had no activity in three months. Only 6% of issues opened in the past year have been closed. Three people close 54% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 892
New in 7 days: 65
Closed in 7 days: 33
Avg open age: 160 days
Stale 30+ days: 271
Stale 90+ days: 207

Recent activity

Opened in 7 days: 48
Closed in 7 days: 28
Comments in 7 days: 16
Events in 7 days: 118

Top labels

  • bug (697)
  • server (589)
  • generics (369)
  • question (250)
  • fatal (204)
  • diagnostics (198)
  • imports (161)
  • typing semantics (160)

Detailed Description

ty is an extremely fast Python type checker and language server implemented in Rust and developed by Astral, the team behind the uv package manager and Ruff linter. The project aims to provide type checking capabilities that are 10 to 100 times faster than existing tools like mypy and Pyright, as demonstrated by benchmarks showing performance on large projects like home-assistant without caching.

The type checker offers comprehensive diagnostics with rich contextual information and provides extensive configuration options including configurable rule levels, per-file overrides, suppression comments, and first-class project support. It is designed with adoption in mind, supporting features like type redeclarations and partially typed code to enable gradual migration of existing codebases. The language server component includes code navigation, completions, code actions, auto-import functionality, inlay hints, and on-hover help. A key technical feature is fine-grained incremental analysis designed specifically for fast updates when editing files in an IDE, making it practical for real-time development workflows.

The tool supports advanced typing features including first-class intersection types, sophisticated type narrowing, and reachability analysis based on type information. Editor integrations are available for VS Code, PyCharm, Neovim, and other editors. The project officially supports type checking code targeting Python 3.10 and later, though earlier versions from 3.7 through 3.9 can be selected with potential limitations. Notably, the Python version used to install ty is independent of the target version being checked, and a standalone installer is available that does not require Python at all.

Development of ty currently takes place within the Ruff repository, with pull requests for changes to the Rust source code submitted there rather than directly to the ty repository. The project uses 0.0.x versioning and is in beta status, meaning breaking changes including modifications to diagnostics may occur between versions. Users can try ty immediately through the uvx tool or via an interactive browser-based playground at play.ty.dev. The project is licensed under the MIT license and maintains documentation at docs.astral.sh/ty.