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.0.0.tar.gz (5.7 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.0.0-py3-none-win_arm64.whl (12.5 MB view details)

Uploaded Python 3Windows ARM64

pyrefly-1.0.0-py3-none-win_amd64.whl (13.1 MB view details)

Uploaded Python 3Windows x86-64

pyrefly-1.0.0-py3-none-win32.whl (12.2 MB view details)

Uploaded Python 3Windows x86

pyrefly-1.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pyrefly-1.0.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (13.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

pyrefly-1.0.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (13.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

pyrefly-1.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

pyrefly-1.0.0-py3-none-macosx_11_0_arm64.whl (12.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

pyrefly-1.0.0-py3-none-macosx_10_12_x86_64.whl (13.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyrefly-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5c2b810ffcebd84be71de5df1223651edee951653a66935c6f091e957c452455
MD5 dcbd9ca45425eedc5d9bf20d3e965090
BLAKE2b-256 9f3a9045b0097ac58979c7c30a4fa0e673db942d4adbc7b6d439bd54ae58c441

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyrefly-1.0.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 12.5 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.0.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 d150fa9e40e8392832be81c3bcfc0497c146674ce4d0f8e04e1ec29e775ffb8c
MD5 50c8cb4de0d5229e1f64e668b13be61b
BLAKE2b-256 8c3816589134f3012fd097a10dcc85771555f1a5fb76e04b682597180743af30

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyrefly-1.0.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 13.1 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.0.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c8abcb0f2082e83c890375128f9cff4aa4d3f210b85eea7b3046c1ae764e77f5
MD5 b101b8a3705fcdc55fb8d0688e44ca9d
BLAKE2b-256 bead1d23be700b6b2ddaeb362360c7145917a8edbbf7240ae428d40541772fce

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyrefly-1.0.0-py3-none-win32.whl
  • Upload date:
  • Size: 12.2 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.0.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 aa8b5d0e47080e3202a2547b39f7a5a61d2c781c712b3b67884f745ca2c759d2
MD5 2dd522871ece5ae224b55a62443dbf1f
BLAKE2b-256 cb2b6372c7dddb326223e24a46b17efd0d4bd7b4fe22c821e523157577eed2d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1382d5b1fcdb49a4de9f34d112d2bddf290a78ff93ee8149492ad5f1077ddffc
MD5 a4cf0903e81e029b1ef73e8ce04bfd2e
BLAKE2b-256 6116cfa2d61a4aa1e1f7bca48bb37acd01c6a09db4864b16a54f9587092765ff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.0.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c0d05543b1bb6ee6d64149eb5d6b2fb15aa72d3962d6a97abca0afaca8b0c131
MD5 b7055c3801c3373df0337ded0bb8b93f
BLAKE2b-256 6b3eb247c24321e36f04b7d51f9ccf3df93e5009e4b29939524b36ec2e17dc2a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.0.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c74219d8f3e63cdaa5501a0b21d1c9d37011820f9606728d0ed06f09ae86a878
MD5 0f8551c33492327550505e8a613d7b84
BLAKE2b-256 7cac2df0899f8464c97e5d995f994c97c5cb5b0f58610432aa90d26d924e1db5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da331ca515ed1c08791da2b5f664cf9c1294c48fd802133262e7d5d51e0f4416
MD5 cd6d79371ee01e3884e97422c5df5fe0
BLAKE2b-256 cdab74d1e11e737e99b1c003ecc5d7d2e846c4ea1f328966bfdbbd0ac63fad0a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.0.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7038efc3a40f8294edee339895633cf22db268c0d434cdbcbefc34f78a9ecc3
MD5 f963771bc775d4e82f6f92973e520c46
BLAKE2b-256 8291a3cf2a1e87d336eaa804a1e6fc93266faf6dc2a97eecdbc7eae289628022

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyrefly-1.0.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e355a0908555348ed4b9585ef25c76ff566673e345c866c325f1633f44d890b6
MD5 d456b90e6eb5709c45e35f7f078a1a28
BLAKE2b-256 f4c690788819bac9c61dd7bacba53b79f3c12d47ccbe5e51b3d6d89f2387e1d2

See more details on using hashes here.

Provenance

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