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 and tools like Pydantic, Django, and pytest, with model validation, field types, fixture navigation, 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.2.0.dev2.tar.gz (6.1 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.2.0.dev2-py3-none-win_arm64.whl (13.1 MB view details)

Uploaded Python 3Windows ARM64

pyrefly-1.2.0.dev2-py3-none-win_amd64.whl (13.7 MB view details)

Uploaded Python 3Windows x86-64

pyrefly-1.2.0.dev2-py3-none-win32.whl (12.8 MB view details)

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ i686

pyrefly-1.2.0.dev2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

pyrefly-1.2.0.dev2-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.2.0.dev2.tar.gz.

File metadata

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

File hashes

Hashes for pyrefly-1.2.0.dev2.tar.gz
Algorithm Hash digest
SHA256 5fac5fae3aaf732d7e7ab819933a87f9e18c8665979b0504164a4e3c314da06a
MD5 5a1c6b2b93b3ed3a8316e706184f79be
BLAKE2b-256 90da3314a78b57062293ad244f9f179ee465c43d9fc7bb6b8419184e91928316

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyrefly-1.2.0.dev2-py3-none-win_arm64.whl
  • Upload date:
  • Size: 13.1 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.2.0.dev2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 79707206dfc35533bfb7b64b94c5e0d1d73de1a46a81e7cc90c823711f316876
MD5 a3d3a40e4c48a605518ef59ea20a621b
BLAKE2b-256 62a613a82e4780e811c5bd249c4f8b326630c436bb137b1fcbe1296c5ee759a8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyrefly-1.2.0.dev2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 13.7 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.2.0.dev2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 124eb0c5b4404a920641083e2b0ce759cea5c1a08e677856eac25ba25bcb425e
MD5 65413cf0a46f4e2d622195792e8c636f
BLAKE2b-256 37d6ad38a6de2f857d3114680fa557e66b3f51b708d3d947a619b390849d45e4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyrefly-1.2.0.dev2-py3-none-win32.whl
  • Upload date:
  • Size: 12.8 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.2.0.dev2-py3-none-win32.whl
Algorithm Hash digest
SHA256 b0bcc942ef6910ff0b48f4f1e117e289d343a2d237e6e1fece116dcb85bfa94d
MD5 d63546c111a865830de6676b388e7b48
BLAKE2b-256 bb75b5c7f2e71130e4e5cc8b689a2032fb9e807060e9c2899910dedf01b9fab6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.2.0.dev2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a370f154f7a7c233d05e8cf3b94f9766712d330adc3628e68ee6918f6996bbfb
MD5 c09d2031826f6222cb989e4a9dd73283
BLAKE2b-256 7fab12cd393fe2bae48d1926ac94a1dcfa50489507cfc7b90ea86ea0440ec490

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.2.0.dev2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b960a697f12e77ffe3f1a40fb7989a8eccd4c1ae319434957afc8141e3146169
MD5 10424d384031310c240fd625bd23576d
BLAKE2b-256 a4e3f1f88485024f80475931a3d57bd82d7f083278719912b0c3643926f5dc97

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.2.0.dev2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ee44582a92a99bb884bad6e7f8cbeddef39092aaefefcfb3b9407ad92e52fae
MD5 f527552d6348d7d5d4832c8f89d1ffe7
BLAKE2b-256 08d466aba976d52f79a070076eeb2d5318a86891995e2e6969f266014bf956f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.2.0.dev2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 12e01f08189b827a4f517073ea3136b050554caae1ce6af712b741e84f5e90a0
MD5 1a0c059d497b6eb307d31341ad840578
BLAKE2b-256 f5f97a2a9cfb4839bb537beffeb238ce2d1a5e039e3fd7d8a558694958b5abdc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.2.0.dev2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cbdeffa0386fc8f10af5ab2950bee363b6a5d9309ffa99fa738e34df2c933205
MD5 7e91f8e004cb3f09e00cd93e27cf6044
BLAKE2b-256 d04b23581a70a742b41635932bedd55fa4c7a6d5e1200e2cdfd46d99d205e390

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.2.0.dev2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a6a22a55536217e3b40c57df8facba785fed400c4c444e0da65832b07a8f3498
MD5 63cb7524abec7c7b3837ebd4a49fc9c9
BLAKE2b-256 5e5ec61105c8a57c8aae2609f7333ae296dec1eff6f5d009a40c66acf8ededad

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.2.0.dev2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d356f78f88a9dc15c0fa355edffb9d6e39ce21be7af9d1af3c3838ff7d506b8f
MD5 8e188b4eeacf1762a5c046aae0a255a4
BLAKE2b-256 6328d0db0484d9f0c7e094e7e65d16953912ca2b139e604e7381ee80996d8552

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.2.0.dev2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 60ff2533608febf74bc2a6b4d8171b153dd7b6d5ef090e504ddac9af067f6aa6
MD5 fea160fbad98a75df1958ae7febeb50d
BLAKE2b-256 d260fadc19001fc09edf4f8f434ddab34d9097143bef518c1a36e72a7d796df6

See more details on using hashes here.

Provenance

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