facebook/pyrefly

A fast type checker and language server for Python

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 45 minutes ago
Added to GitGenius on May 18th, 2026
Created on February 19th, 2025
Open Issues & Pull Requests: 681 (+0)
Number of forks: 486
Total Stargazers: 6,899 (+0)
Total Subscribers: 19 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 11.4 hours
Mean response time: 9.8 days
90th percentile: 18.4 days
Tracked items: 2,555

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 88% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 30% 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 55% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 518
New in 7 days: 32
Closed in 7 days: 29
Avg open age: 91 days
Stale 30+ days: 316
Stale 90+ days: 161

Recent activity

Opened in 7 days: 30
Closed in 7 days: 28
Comments in 7 days: 63
Events in 7 days: 247

Top labels

  • typechecking (1,271)
  • language-server (375)
  • help wanted (207)
  • stale (206)
  • needs-discussion (191)
  • configuration (180)
  • good first issue (132)
  • scoping-control-flow (122)

Detailed Description

Pyrefly is a fast type checker and language server for Python developed by Facebook, written in Rust and designed to provide both command-line type checking and IDE integration. The project achieves exceptional performance, checking over 1.85 million lines of code per second and type checking projects like PyTorch 15 times faster than Mypy and Pyright. In IDE environments, rechecks typically complete in under 10 milliseconds after saving a file. Pyrefly serves as the default type checker for Instagram's 20-million-line Python codebase at Meta and has been adopted by major open source projects including PyTorch and JAX, demonstrating its production-readiness at scale.

The tool functions as a comprehensive language server implementing the Language Server Protocol, offering code navigation, semantic highlighting, code completion, hover information, and inlay hints with consistent results across both the command-line interface and various editors. Pyrefly is available as a VSCode extension, Neovim plugin, Zed extension, and supports additional editors through its language server implementation. The project reached stable status with version 1.0.0 and follows a monthly release cycle for minor versions with patch releases as needed for critical fixes.

A distinctive feature of Pyrefly is its built-in support for real-world Python frameworks and tools. It includes native support for Pydantic with model validation and field type inference, Django integration, and pytest fixture navigation and autocomplete, allowing developers to work with these popular tools without additional configuration. The type checker understands the patterns and conventions used by these frameworks out of the box.

Pyrefly addresses adoption challenges through migration tools designed for teams transitioning from other type checkers. The pyrefly init command facilitates migration from Mypy or Pyright, the pyrefly suppress command silences existing errors to allow gradual adoption, and the pyrefly infer command generates type annotations automatically. This approach enables teams to start type checking a single file and expand coverage at their own pace rather than requiring wholesale codebase changes.

The repository demonstrates active maintenance and community engagement. The repository shares contributors with python/cpython, golang/go, and astral-sh/ruff, indicating cross-project collaboration within the Python and developer tools ecosystem.