skillfed

pyrefly

A fast type checker and language server for Python with powerful IDE features

pyrefly v1.2.0 6.6M downloads/30d#1,881 on PyPI
Permissive license Active released

What it is and what it does

Pyrefly is a production-grade type checker and language server for Python developed by Meta, designed to handle large codebases at scale. It combines fast type checking with IDE features like code navigation, autocomplete, hover information, and semantic highlighting, available both as a command-line tool and as extensions for VSCode, Neovim, Zed, and other editors. The package includes built-in support for popular frameworks like Pydantic, Django, and pytest.

For teams migrating from other type checkers, Pyrefly provides adoption tools: `pyrefly init` for migration setup, `pyrefly suppress` to silence existing errors during rollout, and `pyrefly infer` to generate type annotations. It has no runtime dependencies, making it straightforward to add to a project. The tool is actively maintained with monthly minor releases and patches for critical fixes.

Use it for:

  • Migrate an existing codebase to Pyrefly using `pyrefly init` and suppress errors with `pyrefly suppress` during rollout
  • Set up IDE type checking and code completion in VSCode, Neovim, or Zed with consistent results across CLI and editor
  • Type-check large Python projects where type-checking speed is a bottleneck in development workflow
  • Validate Pydantic models, Django ORM fields, and pytest fixtures with built-in framework support
  • Generate initial type annotations for an untyped codebase using `pyrefly infer` to bootstrap type safety

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Pyrefly is a fast type checker and language server for Python that provides IDE features including code navigation, semantic highlighting, and code completion across multiple editors.

Yes. Pyrefly is production-stable, actively maintained, has no dependencies, and offers a permissive license. It is worth installing if you need fast type checking for a large codebase or want IDE integration across multiple editors. The adoption tools make it practical to migrate incrementally. Minor version releases may introduce breaking changes, but the `suppress` command mitigates migration friction.

Install

pyrefly on PyPI

pip

pip install pyrefly

uv

uv add pyrefly

poetry

poetry add pyrefly

Installing pyrefly

Before you install

Medium install friction due to platform-specific wheels across multiple architectures (macOS, Linux, Windows, including ARM variants). Active maintenance with a release 13 days ago and no runtime dependencies simplifies deployment.

License in practice

MIT license (permissive) means you can use, modify, and distribute Pyrefly freely with minimal restrictions, making it suitable for both open-source and commercial projects.

Quickstart

pip install pyrefly
pyrefly --help
# For IDE integration, install the appropriate extension (VSCode, Neovim, Zed, etc.) from your editor's marketplace

Requires Python 3.8 or later. IDE features require a compatible editor extension; the CLI tool works standalone.

Verify before relying

  • Whether type-checking speed claims (1.85 million lines/second, 15x faster) are independently verified
  • Compatibility matrix details for each supported IDE extension and minimum version requirements
  • Whether monthly release cycle and non-strict semantic versioning means breaking changes occur frequently

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.8)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 13 days since the last release
First released
Downloads 6,610,816/month — #1,881 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyrefly-1.2.0-py3-none-macosx_10_12_x86_64.whl; pyrefly-1.2.0-py3-none-macosx_11_0_arm64.whl; pyrefly-1.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyrefly-1.2.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl; pyrefly-1.2.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; pyrefly-1.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyrefly-1.2.0-py3-none-musllinux_1_2_aarch64.whl; pyrefly-1.2.0-py3-none-musllinux_1_2_x86_64.whl; pyrefly-1.2.0-py3-none-win32.whl; pyrefly-1.2.0-py3-none-win_amd64.whl; pyrefly-1.2.0-py3-none-win_arm64.whl

Keywords: typechecker, typechecking

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyTopic :: Software Development

Tags

python type checkerlanguage server protocol pythonfast type checkingpython ide featurescode completion pythonsemantic highlighting pythonpython type annotations
type-checkinglanguage-serveride-integration

More Software Development packages