Skip to main content

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

Project description

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

pyrefly PyPI VS Code Open VSX Discord License: MIT

Pyrefly is a type checker and language server for Python, which provides lightning-fast type checking along with IDE features such as code navigation, semantic highlighting, and code completion. It is available as a command-line tool and an extension for popular IDEs and editors such as VSCode, Neovim, Zed, and more.

See the Pyrefly website for full documentation and how to add Pyrefly to your editor of choice.

Pyrefly's current development status is stable.

Key Features

  • Fast. Pyrefly checks over 1.85 million lines of code per second, type checking projects like PyTorch 15x faster than Mypy and Pyright. In the IDE, rechecks typically complete in under 10 milliseconds after saving a file.
  • Production-proven at scale. Pyrefly is the default type checker for Instagram's 20-million-line Python codebase at Meta, and has been adopted by large open source projects including PyTorch and JAX.
  • Full-featured language server. Code navigation, autocomplete, hover information, inlay hints, semantic highlighting, and more, with consistent results across the CLI and your editor of choice.
  • Understands real-world Python. Built-in support for frameworks like Pydantic and Django, with model validation, field types, and autocomplete that work out of the box.
  • Adoption-ready. Migrate from Mypy or Pyright with pyrefly init, silence existing errors with pyrefly suppress, and generate type annotations with pyrefly infer. Start with one file and expand at your own pace.

Getting Started

Version Policy

Pyrefly releases new minor versions (1.x.0) monthly and patch versions in between as-needed for critical fixes. Pyrefly does not follow strict semantic versioning: minor versions contain more significant changes than patch versions, but any version may introduce new type errors and other breaking changes. The pyrefly suppress command can be used to easily silence errors when upgrading to a new version.

Getting Involved

If you have questions or would like to report a bug, please create an issue.

See our contributing guide and architecture overview for information on how to contribute to Pyrefly.

Join our Discord to chat about Pyrefly and types. This is also where we hold biweekly office hours.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrefly-1.1.0.tar.gz (5.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyrefly-1.1.0-py3-none-win_arm64.whl (12.9 MB view details)

Uploaded Python 3Windows ARM64

pyrefly-1.1.0-py3-none-win_amd64.whl (13.5 MB view details)

Uploaded Python 3Windows x86-64

pyrefly-1.1.0-py3-none-win32.whl (12.6 MB view details)

Uploaded Python 3Windows x86

pyrefly-1.1.0-py3-none-musllinux_1_2_x86_64.whl (14.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

pyrefly-1.1.0-py3-none-musllinux_1_2_aarch64.whl (13.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

pyrefly-1.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pyrefly-1.1.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (14.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

pyrefly-1.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (14.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

pyrefly-1.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

pyrefly-1.1.0-py3-none-macosx_11_0_arm64.whl (13.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

pyrefly-1.1.0-py3-none-macosx_10_12_x86_64.whl (13.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file pyrefly-1.1.0.tar.gz.

File metadata

  • Download URL: pyrefly-1.1.0.tar.gz
  • Upload date:
  • Size: 5.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrefly-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9429da69592b76b12157f4ce432d41db290759c68f1a96ec9a3933763c32575d
MD5 3170a78eb1e56952ebd5ee69f42cd119
BLAKE2b-256 015f7e35d7c907f49850194d81e7418b7cbb39e46d0bcb3389799dee09977ddb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0.tar.gz:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-win_arm64.whl.

File metadata

  • Download URL: pyrefly-1.1.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 12.9 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrefly-1.1.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 02acde22b08a40a578bd0b9218d93611d2b0cd3153e077b05c4efeabbaca636b
MD5 9cba4c6f1e65bcb95dd13088825eb160
BLAKE2b-256 269f25e57347d9d83db464761ee2bd1f789b999a0fc7c004aeb4e8be1fdb5376

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-win_arm64.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: pyrefly-1.1.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 13.5 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrefly-1.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bb4c41404c4e19fb82d68555174737304be08508703c2c53b3012e62bc693901
MD5 16260382c2d90ae6fd4395b2282c28a6
BLAKE2b-256 c7527b0f3c34eb98673d097678f903cdb6b97a55b0cedb26cf118c83c6ea818f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-win_amd64.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-win32.whl.

File metadata

  • Download URL: pyrefly-1.1.0-py3-none-win32.whl
  • Upload date:
  • Size: 12.6 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrefly-1.1.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 e0a634f984d9218a2cf0b0518c113c189f8909d20654dc139783ce6e0738f31e
MD5 d9870fc7d95764161f7117603337cc9a
BLAKE2b-256 361d49374250c97941bd78ea1629894f9012b1fdc0c5e16da73a8ccd9f6c5363

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-win32.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5574aea21b461415691d0172db15b228f154f88c1885d679560ba9eba9a63b04
MD5 e5bcfc55bd2251631ec9059187c8fecd
BLAKE2b-256 6b9347cd9e325b64264ab709cb5ae1d383d7eb73da5cb8ff27a1c975f7de1407

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-musllinux_1_2_x86_64.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 12ddafc2f8fcfb39f8e80625af66e638b918be48f0d791314eb0d9d0ffe6741b
MD5 c9a3405e8500e9c2e87952d1e67eb2b4
BLAKE2b-256 ca084e3b9750db7c1f44c413c162742d48ff8419b8c7cda5064d9d9e30c908e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-musllinux_1_2_aarch64.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d35634efb8dfc5ec87832d5bfac06f15b6d09ca946835cd4077375b855083bf9
MD5 738f1ef9d8c4ab9904abdf40a38b122f
BLAKE2b-256 ee0cd2cd6ac5f911ce8ec63af4157675ab1ca1ef2d56e1a7d0bd40da253e63fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 911a49b6d4c5819b5d63809f731290a5745c31ba7f239c788e3262cce77a732f
MD5 f42ab4c16eefcef54e08fba42b3fe296
BLAKE2b-256 ae8a62b6575cfbe476ef564996db4bdd2e5883f7ee9d195a244b5dce5b737ea3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d51626ea993201f9bde799dd170392d72b8b618f9a93505d9886354397b33545
MD5 cf10f7e53d449082407b4ace82005c7f
BLAKE2b-256 d4e7c1e626df1f7f6eea8458db1692a40a314cdccc0e76ab56bf554d9d1e7f7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4ca0c458dda0014408df4fff05cfb9a629ebfdd8c1e51c9ae50b4b8f17090648
MD5 9cd32b8a238a72159ef2a3aa1eb23954
BLAKE2b-256 c87ea8346acb33df003200efac4e41b996e9c7e984bf354f59b591c49cb5ea56

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce4a34c5efaf8a2783456ed4ebc1d6ce7a2aa9dabe81b60610c166ecc295ca9d
MD5 c6a51fc537a68a4a596ace113bdff5e4
BLAKE2b-256 0504deff88f79237062371284326a314fe09fbef5d15244b9ed1a02971b3007b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-macosx_11_0_arm64.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyrefly-1.1.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 75c5e501e6014a21df6d4cda7e1e1c7feffdec29326d6ca413de5c26373f060a
MD5 75aa722a07fc0f7139e09f975d54b3d7
BLAKE2b-256 269efee499666dcaec819a2fcb486423706fc6736db64396d3f1e8b43aac14c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.0-py3-none-macosx_10_12_x86_64.whl:

Publisher: publish_to_pypi.yml on facebook/pyrefly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page