
파이썬을 위한 고성능 타입 검사.
[!WARNING]
이 저장소는 보관되었습니다
이 저장소는 더 이상 유지 관리되지 않으며 보관되었습니다.
- 타입 검사: Pyre는 차세대 Python 타입 검사기 및 언어 서버인 Pyrefly로 대체되었습니다.
- 보안 분석 (Pysa): Pysa는 자체 저장소인 github.com/facebook/Pysa로 이동했습니다. Pysa를 찾고 계시다면 해당 저장소를 방문해 주세요.
Pyre는 PEP 484을 준수하는 고성능 Python 타입 검사기입니다. Pyre는 수백만 줄의 코드로 구성된 코드베이스를 증분 방식으로 분석하여, 개발자가 코드를 작성하는 동안 즉각적인 피드백을 제공합니다. 시작하려면 문서를 참조하세요.
Pyre에는 Pysa가 포함되어 있습니다. Pysa는 Pyre 위에 구축된 보안 중심 정적 분석 도구로, Python 애플리케이션의 데이터 흐름을 추론합니다. Pysa는 이제 github.com/facebook/Pysa라는 자체 저장소에서 관리됩니다. 최신 버전과 보안 분석 시작을 위해 해당 저장소를 방문해 주세요.
Pysa는 GitHub Marketplace에서 Github Action으로도 사용할 수 있습니다.
시작하려면 시스템에 Python 3.9 이상과 watchman이 작동해야 합니다. MacOS에서는 homebrew로 모든 것을 설치할 수 있습니다:
$ brew install python3 watchman
Ubuntu, Mint 또는 Debian에서는 apt-get과 homebrew를 사용하세요:
$ sudo apt-get install python3 python3-pip python3-venv
$ brew install watchman
Pyre는 Ubuntu 18.04.5 LTS, CentOS 7, 그리고 OSX 10.11 이상에서 테스트되었습니다.
먼저 빈 프로젝트 디렉토리를 만들고 가상 환경을 설정합니다:
$ mkdir my_project && cd my_project
$ python3 -m venv ~/.venvs/venv
$ source ~/.venvs/venv/bin/activate
(venv) $ pip install pyre-check
다음으로, Pyre에 새 프로젝트를 알려줍니다:
(venv) $ pyre init
이 명령은 프로젝트 디렉토리에 Pyre (.pyre_configuration)와 watchman (.watchmanconfig)의 설정 파일을 생성합니다. 기본값을 그대로 사용하세요 – 필요한 경우 나중에 변경할 수 있습니다.
이제 Pyre를 실행할 준비가 되었습니다:
(venv) $ echo "i: int = 'string'" > test.py
(venv) $ pyre
ƛ Found 1 type error!
test.py:1:0 Incompatible variable type [9]: i is declared to have type `int` but is used as type `str`.
첫 번째 실행은 파일 시스템 변경을 감지하는 데몬을 시작합니다. 코드를 편집할 때마다 프로젝트를 증분 방식으로 타입 검사합니다. 이후 pyre를 실행하면 첫 번째 실행보다 더 빠르다는 것을 알 수 있습니다.
더 자세한 문서는 https://pyre-check.org를 참조하세요.
기여 방법은 CONTRIBUTING.md를 참조하세요.
Pyre는 MIT 라이선스에 따라 라이선스가 부여됩니다.