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.1.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.1-py3-none-win_arm64.whl (12.9 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

pyrefly-1.1.1-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.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (14.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

pyrefly-1.1.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (14.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

pyrefly-1.1.1-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.1.tar.gz.

File metadata

  • Download URL: pyrefly-1.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 6deda959f8603a7dbdf112c48983e2275b2903cf33c8c739ed65d7e71a4fd520
MD5 4039c55d5b19398bd8a6c66c683f502d
BLAKE2b-256 8e20976165fa4b1517a1a92f393b3f4d4badabfff1165eff09d4cd4908428183

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1.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.1-py3-none-win_arm64.whl.

File metadata

  • Download URL: pyrefly-1.1.1-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.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 83baf0db71e172665db1fca0ced50b8f7773f5192ca57e8ac6773a772b6d2fc5
MD5 0a027326d3978ed679868e953cd1ee61
BLAKE2b-256 423d4c6bcb3d456835f51445d3662a428f56c3ea5643ec798c577030ae34298c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: pyrefly-1.1.1-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.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4e0430f3ef69c8ac73505fd6584db70ed504665a9f0816fef7f723de510f26cb
MD5 6fc69e0ac389558edb25f5acae0f831f
BLAKE2b-256 a69ca0f5b52934bf80e9c7eff08222e7caf318287b9aef76acb8d9ac5740581b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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.1-py3-none-win32.whl.

File metadata

  • Download URL: pyrefly-1.1.1-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.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 5ffd8a8ed62fe4e6bf0afe1837d1bad149bb3b9f80e928ef248c96b836db3742
MD5 dfe86c38debc69995486017ce2f6761b
BLAKE2b-256 37deb7ee1ab2392c36945738246fba7524439810befa3cfcc03cb6157567fc10

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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.1-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2150b450ee6a6bcbe69b2d45d9a4ebc934a609e1abcf65e490433f38eb873d84
MD5 2d3af2a8cb351a892d935024faca163a
BLAKE2b-256 711e65a7ba8355e2c39d8331832905fb74dcc85fc122a3f1dfd6dbf2a88907ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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.1-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d50cad97f19fc893b04deff7239626cffff5dd27ffb29b7d303a1b770247b208
MD5 767b86cebca6aa8088bfaf966a503625
BLAKE2b-256 475849c3e67641133d3fe5d8d9a660dc0826c6c37ca197d86cad05fa7dd8bfd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c08b814ad03175e9cf47111390537161828b472044c39ab3320252b3ac6b2edd
MD5 8794810434bd97ab84bb00a6032bf00d
BLAKE2b-256 b6e730e085b31fed978ecb675bdbb54df566673ab550469e5af2d350f6af0be6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a6342d87c52b04f72156da04f554c4d57f3616f2b32d1763969efb22d05a1407
MD5 381418a513a4ff6bde1a2a1bfe99e707
BLAKE2b-256 93f0e55c48a50076fc0f9ecf4bdedec50456db383e01162f5e2121f8468be071

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f330cf039ef3da3b910c84f3a7e431f0cf8d0c1d2dad26491d6cadf3c7cd4759
MD5 f2d10618644c17337a2fb33baca19973
BLAKE2b-256 3c5312a19bd6c7af985bcbc13c6910d0f9f6684069ead2282a5c08c2bfbb5d03

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b50d4510e4f8aaea79e2c4b343a4d7a060c9451c0b2aa9bfe10d7ca1ef33d68d
MD5 803afbc67e1d3afabf9dacf86a37bcfa
BLAKE2b-256 84df70f4b3f42d58ed686a80df31e04eca54d88036cea4f9b96195c64ad0b2b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6b238e1362622d47a6eb5af704fd8b613c94e8c303386efd6350e3da59fecc8
MD5 fca0bb0c1eb0652b2d1b203768d2652e
BLAKE2b-256 71477a3457dbbddb513a83cf4fe527d5d5ebda5201a1010ad2a6034030e3e358

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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.1-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyrefly-1.1.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f4b8595f91885bc8b5e3c282ab68d1df21201668a84e6508b1e15f2feec0bb8d
MD5 c1ec1b9d4e9ecd91744eff27986e3943
BLAKE2b-256 b5d602ba666018c6a1cb4ddfa2db98ada721adddd374db5c29ba47a0bf2637fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrefly-1.1.1-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