# facebook/pyrefly

A fast type checker and language server for Python

Repository: https://github.com/facebook/pyrefly
Canonical: https://ross.abutalabs.com/products/pyrefly
Homepage: http://pyrefly.org/
Language: Rust
License: MIT
License Family: permissive
Topics: code-quality, ide, language-server, lsp, python, type-check, type-checker, typecheck, typechecker, rust, types, typing, language-server-protocol, type-annotations, type-hints, typechecking, vscode-extension
Last push: 2026-08-26T23:13:41+00:00

## Health v2 (maintenance only)
Score: 86/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 95, longevity 40
- inputs: {"age_days": 560, "days_push": 7, "days_rel": 32, "gap_med": 6, "n_releases_24m": 56}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 6906, forks 498 (observed 2026-08-28T04:09:51.298518+00:00)

## What it is
Pyrefly is a fast Python type checker and language server written in Rust, providing CLI-based type checking plus IDE features like code navigation, autocomplete, and semantic highlighting. It is developed by Meta, production-proven on Instagram's codebase, and available via pip and editor extensions for VSCode, Neovim, and Zed.

## Use cases
- type check a large python codebase fast
- replace mypy or pyright with a faster type checker
- add a python language server to neovim or zed
- catch type errors in python before running code
- migrate an existing mypy or pyright config to a new checker
- auto-generate type annotations for untyped python code
- get autocomplete and go-to-definition for python in vscode

## When to choose
- you need very fast type checking on large Python codebases
- you want a full-featured language server with consistent CLI and IDE results
- you're migrating from mypy or Pyright and want automatic config migration
- you use frameworks like Pydantic, Django, or pytest and want built-in support

## When to avoid
- you need a checker with a longer track record and maximal ecosystem compatibility
- you rely on mypy plugins or Pyright-specific behaviors not yet supported
- you need type checking of Python versions or typing features Pyrefly doesn't cover yet

## Facets
- artifact type: cli-tool
- maturity: stable
- function: linter, developer-tools, editor
- domain: developer-tools, programming-languages, text-editors
- platform: python, rust, cross-platform, cli, editor-plugin
- tags: type-checker, language-server, lsp, python-typing, ide-extension, static-analysis

## Member repositories
- facebook/pyrefly (main) score 86

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:51.298518+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:41:28.614850+00:00, confidence not recorded.
  - readme: https://github.com/facebook/pyrefly (fetched 2026-08-28T04:09:51.298518+00:00, sha 039c5933a08c)
  - homepage: http://pyrefly.org/ (fetched 2026-08-29T08:37:23.722732+00:00, sha 171707e1c97f)
  - site_page: https://pyrefly.org/en/docs (fetched 2026-08-29T08:37:23.732033+00:00, sha d0f99bf48122)
  - site_page: https://pyrefly.org/en/docs/typing-for-python-developers (fetched 2026-08-29T08:37:23.734241+00:00, sha dd3a82c2249b)
  - site_page: https://pyrefly.org/en/docs/installation (fetched 2026-08-29T08:37:23.736329+00:00, sha 13f200a42867)
  - registry_crates: https://crates.io/api/v1/crates/pyrefly (fetched 2026-08-29T08:37:23.738214+00:00, sha d3aef173854a)
- Data as of 2026-08-30T08:39:29.467469+00:00.
