pyrefly
SHA-256매우 빠른 Python 유형 검사기 및 언어 서버, 메타 20 백만 줄의 코드 인증, Mypy/Pyright보다 15 배 빠르고 IDE 응답이 10 밀리초 미만으로 설치되었습니다.
스마트 다운로드
Download 버전 다운로드
v1.0.0 · 12.9 MB
Mypy보다 15배 빠른 타입 검사기 인 Instagram은 코드를 자동으로 보완하고 탐색할 수 있습니다.
주요 기능
- 초고속 검사: 초당 185만 줄 코드 처리, Mypy와 Pyright의 15배
- 완전한 IDE 지원: 코드 탐색, 자동 보완, 중지 정보, 내부 팁, 의미를 밝히는
- 원래 프레임 지원: Pydantic 및 Django 엽서 사용, 모델 검증 및 필드 타입 자동 인식
- 완전한 마이그레이션: Mypy/Pyright에서 단일 키로 초기화, 오래된 오류를 자동으로 압축하고 점차적으로 새로운 검사를 활성화
- 생산 검증: 메타 인스타그램 2 천만 줄 코드 기본 사용, PyTorch/JAX 등 오픈 소스 프로젝트 사용
할 수 없는 것
- •Pyrefly는 세미나 버전 번호를 엄격하게 따르지 않으며, 업그레이드 소형 버전은 'pyrefly suppress' 명령을 사용하여 업그레이드 후 새로 추가되는 오류를 도입할 수 있습니다.
사용 사례
- 대형 Python 프로젝트의 유형 검사 및 IDE 향상, 특히 Mypy/Pyright 구성이 이미 있는 팀이 속도를 높이고 싶습니다
- Pydantic 또는 Django를 사용하는 프로젝트는 제로 구성 모델 검증 및 필드 타입 지원을 원합니다
상세 설명
Pyrefly는 매우 빠른 Python 유형 검사기 및 언어 서버로, 메타 내부의 20만 줄의 Instagram 코드베이스를 통해 초당 185만 줄 이상의 코드를 검사할 수 있으며 Mypy와 Pyright의 속도는 15배 이상입니다. IDE에서 파일을 저장한 후 재검토는 일반적으로 10밀리초 미만이 소요됩니다. 전체 언어 서버 기능(코드 탐색, 자동 보완, 중지 정보, 내부 징후, 문자열 등)을 제공하고, Pydantic 및 Django(모델 검증, 필드 타입, 자동 보충 상자)를 기본적으로 지원합니다. Mypy 또는 Pyright에서 마이그레이션하면 'pyrefly init'의 초기 구성, 'pyrefly suppress'의 실수, 'py inferrefly'의 자동
태그
시작하기
소프트웨어 설치
배포판에 맞는 패키지를 설치 (dpkg / rpm / AppImage)
터미널 실행 pip install pyrefly 명령줄 설치 도구
프로젝트 디렉토리에 pyrefly init 생성 프로필을 실행 (또는 기본 설정을 사용하여 직접 pyrefly 실행)
설치 편집기 확장:VS Code 검색 Pyrefly 설치, 또는 웹 사이트에 따라 구성 Neovim/Zed
- 터미널 실행 pip install pyrefly 명령줄 설치 도구
- 프로젝트 디렉토리에 pyrefly init 생성 프로필을 실행 (또는 기본 설정을 사용하여 직접 pyrefly 실행)
- 설치 편집기 확장:VS Code 검색 Pyrefly 설치, 또는 웹 사이트에 따라 구성 Neovim/Zed
최신 릴리스 노트
**Status: STABLE**
*Release date: 12 May 2026*
## Pyrefly v1.0.0 is here\!
We're thrilled to announce that Pyrefly has reached its stable 1.0.0 release\! Since our [beta release](https://github.com/facebook/pyrefly/releases/tag/0.42.0) in November 2025, we've fixed hundreds of bugs, improved performance, and added lots of new functionality. Pyrefly is already the default type checker for Instagram at Meta and has been adopted by other large production codebases like PyTorch and JAX. Today, we're making it official: Pyrefly is production ready.
This would not have been possible without our amazing open-source community. To everyone who filed GitHub issues, submitted pull requests, gave us feedback at conferences, or joined us on Discord: thank you. Your contributions shaped this release.
These release notes cover the major highlights since our beta release. For the full history, see our [past weekly release notes](https://github.com/facebook/pyrefly/releases).
---
## Performance Improvements
We've continued to push Pyrefly's performance since the [speed improvements we shared in February](https://pyrefly.org/blog/2026/02/06/performance-improvements/). Since beta:
- **2–125x faster updated diagnostics** after saving a file (no, that’s not a typo\!). Thanks to fine-grained dependency tracking and streaming diagnostics, updates now consistently arrive in milliseconds
- **20–36% faster full type checking** on large projects like PyTorch and Pandas
- **2–3x faster initial indexing** when Pyrefly first scans your project
- **40–60% less memory usage** during both indexing and incremental type checking
(Tested on an M4 Macbook Pro using open-source benchmarks from [type\_coverage\_py](https://github.com/lolpack/type_coverage_py) and [ty\_benchmark](https://github.com/astral-sh/ruff/tree/e990dfd069fceef96f797b46161ef78862608449/scripts/ty_benchmark).)
Compare the performance of Pyrefly and other Python type checkers on our regularly updated [benchmarking suite](https://python-type-checking.com/typecheck_benchmark/), which runs against 53 popular Python packages.
---
## Configuration Presets
A new `preset` configuration option provides named bundles of error severities and behavior settings.
| Preset | Description |
| :---- | :---- |
| `off` | Silences all diagnostics. Useful for IDE-only users or if you want total control of which errors are enabled. |
| `basic` | Low-noise, high-confidence diagnostics only (syntax errors, missing imports, unknown names, etc.). Ideal for unconfigured projects or IDE-first users. |
| `legacy` | For codebases migrating from mypy. Disables checks mypy doesn't have. `pyrefly init` now emits this preset automatically when migrating from a mypy config. |
| `default` | The standard Pyrefly experience. Equivalent to having no preset. |
| `strict` | Enables additional strict checks on top of the `default` preset. For users who want to avoid `Any` types in their codebase. |
See the [configuration docs](https://pyrefly.org/en/docs/configuration/#preset) for details.
---
## Onboarding Experience
We’ve made improvements to the out-of-the-box experience for projects without a `pyrefly.toml`.
- **Automatic config synthesis** — if you have a mypy or pyright config, Pyrefly automatically migrates your settings and synthesizes an appropriate in-memory Pyrefly config. (This is the same migration that `pyrefly init` would commit to disk.)
- **Basic preset for unconfigured projects** — projects with no type checker config get the lightweight “basic” preset, which surfaces only high-confidence errors.
- **VS Code status bar** — the status bar shows the active preset — e.g. Pyrefly (Basic) or Pyrefly (Legacy) — so you always know which mode is active.
- **Type error display settings** — new VS Code settings let you control which preset applies to unconfigured files and suppress all diagnostics workspace-wide.
---
## Type Checker Improvements
We've been hard at work making the type checker robust and feature-complete, with a focus on driving down false positives and improving type quality in real-world code bases. Here are some highlights:
- Across the board we've eliminated many sources of false positives in enums, dataclasses, ParamSpec, descriptors, and more.
- Support has been added for more type narrowing patterns, including preserving narrows in nested scopes and recognizing container membership checks.
- Overload resolution was substantially reworked to handle more real-world patterns.
- Pyrefly’s conformance to the [Python typing specification](https://typing.readthedocs.io/en/latest/spec/) has improved from 70% at beta to over 90% today.
- We've added experimental support for tracking tensor dimensions through PyTorch models — see "What's Next" below.
---
## LSP & IDE Improvements
- We've added new refactoring capabilities like Safe Delete (with reference checking) and bulk `source.fixAll`.
- Navigation is more precise, and hover cards surface richer information for imports, tuples, and NamedTuples.
- Workspace mode is more stable, with multiple crash fixes and improved diagnostic publishing.
---
## Framework & Notebook Support
- **Django** — Pyrefly has improved support for model relationships, fields, and views, and understands [factory\_boy](https://factoryboy.readthedocs.io/) factories.
- **Pydantic** — Pyrefly models Pydantic's runtime behavior more faithfully, with support for lax mode and range constraint validation, and handles more of the Pydantic ecosystem: `RootModel`, `pydantic-settings`, and `pydantic.dataclasses`.
- **Pytest integration** — We've added Code Lens run buttons for test functions, as well as code actions to annotate fixture return types and parameters.
- **Jupyter notebooks** — `.ipynb` IDE support has reached full parity with `.py` files, with rename, find references, code actions, and document symbols all supported.
---
## Complementary Tooling
Pyrefly ships with tools to aid with adopting type checking in an existing codebase. Two new tools since beta:
- [**`pyrefly coverage report`**](https://pyrefly.org/en/docs/report/) outputs a JSON report with annotation completeness and type completeness metrics per function, class, and module, so you can track coverage over time.
- [**Baseline files**](https://pyrefly.org/en/docs/error-suppressions/#baseline-files-experimental) let you snapshot current errors into a JSON file so only *new* errors are reported, as an alternative to inline suppression comments.
---
## Updated Version Policy
Going forward, we’ll switch from a weekly to monthly cadence for minor (`1.x.0`) releases, with patch releases in between as-needed for critical fixes. We’ll continue providing [release notes](https://github.com/facebook/pyrefly/releases) for minor versions, so you can see what’s new in each release.
---
## What's Next
- **Tensor shape checking** — Experimental support for tracking tensor dimensions through PyTorch models and catching shape mismatches statically. [Learn more](https://pyrefly.org/en/docs/tensor-shapes/).
- **Pyrefly \+ AI agents** — Pyrefly's speed makes it a natural verification step in agentic workflows. See our guide on [adding Pyrefly to your agentic loop](https://pyrefly.org/blog/pyrefly-agentic-loop/).
- **Continued improvements** — We'll keep expanding library support, reducing false positives, and iterating on your feedback. Let us know what you need on [GitHub](https://github.com/facebook/pyrefly/issues) or [Discord](https://discord.gg/Cf7mFQtW7W).
---
## Thank you to all our contributors\!
The following people have directly contributed at least once to the development of Pyrefly since our first Alpha release.
@aahanaggarwal, @aaron-ang, @abdallhfattah, @Abel981, @abesto, @abhi-jha, @ABohra3, @Adamkaram, @Adist319, @adsi7698, @AHA705, @ahornby, @airvzxf, @ajaymiranda, @akmalsoliev, Alan Du, @Alex-Aron, Alok Priyadarshi, Alvaro Leiva Geisse, @AmalenduManoj, Anass Al-Wohoush, Anqi Wu, @ArchieBinnie, @arnav-jain1, @arosenber, @arthaud, @Arths17, @AryanBagade, @asm89, @asukaminato0721, @austin3dickey, @avikchaudhuri, Ben Carr, @bharath-2022, @bigfootjon, @bluetech, @bowiechen, @brchien, Brian Rosenfeld, @bv-saketha-rama, @capickett, Carlos Fernandez, @cbarrete, @cclauss, @charliecloudberry, @cjlongoria, Claudionor Santos, @connernilsen, @CookieComputing, @cooperlees, @cybardev, @DanielNoord, @danielocfb-test, @darricklaidin, David Tolnay, @davidbarsky, @ddrcoder, @dhleong, Dhruv Mongia, @diliop, @disrupted, @dluo, @Dogacel, @ducdetronquito, @ericweb2, @fangyi-zhou, @fannheyward, @fatelei, @github-main-user, @grantlouisherman, @grievejia, @gvozdvmozgu, @hanzel-sc, @hashiranhar, @hugovk, @iamPulakesh, @IDrokin117, @immanuel-peter, @Imran-S-heikh, @InSyncWithFoo, @ipr-ams, Ivan Loskutov, @j-piasecki, @jack-mcivor, @jackulau, @jagill, Jaimin Brahmbhatt, @JakobDegen, @javabster, @jchanke, Jess Wass, @jorenham, Jun Hao, @jvansch1, @K1T3K1, @KaranPradhan266, @Karman-singh15, Keito Uchiyama, @kinto0, @kitagry, @knQzx, @krathul, @krikera, @Krishnachaitanyakc, @kshitijgetsac, @kv9898, Li Shen, lianne, @lolpack, @Louisvranderick, @maggiemoss, @maifeeulasad, @maldoinc, @MarcoGorelli, @markmarkmarkthebest, @martindemello, @melvinhe, Miae Kim, @michaelcortese, @michel-slm, Mick Killianey, @migeed-z, Miles Conn, @mohesham88, Morgan Bartholomew, @MountainGod2, @mrsobakin, @mstykow, @mvanhorn, @NathanTempest, @ndmitchell, @nhawkes, @nikita-ashihmin, @nitinsingh-meta, @NSPC911, @ogios, @oopscompiled, @oriori1703, Owen Valentine, @oyarsa, @pavelzw, @pawelstrzmeta, @pawlowskialex, @PhilHem, @prasannavenkateshgit, @praskr-wisdom, @Prathamesh-tech-eng, @pswitchy, @pt2302, @QEDady, @QuantumManiac, @quark-zju, @Raf-Hs, @Rayahhhmed, @rchen152, @rchiodo, @regexyl, @rexledesma, @ricardoleal20, Robert Rusch, @robertoaloi, Ron Mordechai, @rubmary, @runlevel5, @salmanmkc, @salvatorebenedetto, @SamChou19815, @samwgoldman, @sandeshbhusal, @sargun, @Sehat1137, @self-sasi, @serephus, @sgavriil01, @shayne-fletcher, @shining44, @ship-it-ship-it, @shuv-amp, @sifex, @simonhollis, @singiamtel, @ska-kialo, @slawlor, @Solumin, @stanleyshen2003, @stroxler, Takuma Iwaki, @Tamchuk, @tannguyencse19, @tejasreddyvepala, @terror, @TheRustyPickle, @thomaspolasek, Tianhan Lu, @tkaleas, @tsembp, @ukautz, @Viicos, @vinnymeller, Vladimir Matveev, Weixi Ma, @Wilfred, Will Li, @willylau, @xaskii, @xl4624, @yamgent, @yangdanny97, @yeetypete, @yslim-030622, @zachmullen, @zanieb, @zbowling, @Zeko369, @zertosh, @zhuolix, @zpao, @zriser, @zsol
SHA-256 체크섬 확인됨
GitHub 공식 Release 페이지에서 추출된 체크섬
SHA256 체크섬
8b35318ba7377a621ff9d9ef77a443b6ad3cf065be566c84f5ae9c8318df5459이 체크섬은 GitHub Release 페이지에서 추출되었습니다. 다운로드 후 파일 무결성을 확인하세요.
이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.
오픈소스 투명성
GitHub 소스 보기제거 정보
터미널에서 pip uninstall pyrefly 명령줄 제거 도구를 실행하고 VS Code 확장 패널에서 Pyrefly 확장을 비활성화하거나 제거합니다.
추가 의존성 없음
다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.