Pyre는 PEP 484를 준수하는 Python용 고성능 유형 검사기입니다. Pyre는 수백만 줄의 코드로 코드베이스를 점진적으로 분석하여 개발자가 코드를 작성할 때 즉각적인 피드백을 제공할 수 있습니다. Pyre Playground의 예제에서 시험해 볼 수 있습니다.
Pyre에는 Python 애플리케이션의 데이터 흐름을 추론하는 Pyre를 기반으로 구축한 보안 중심 정적 분석 도구인 Pysa가 함께 제공됩니다. 보안 분석을 시작하려면 설명서를 참조하세요.
Pysa는 GitHub Marketplace에서도 Github Action으로 사용할 수 있습니다.
시작하려면 Python 3.8 이상이 필요하고 시스템에서 작동하는 Watchman이 필요합니다. MacOS 에서는 홈브류로 모든 것을 얻을 수 있습니다.
$ brew install python3 watchman
Ubuntu , Mint 또는 Debian 의 경우; apt-get
및 homebrew를 사용하십시오.
$ sudo apt-get install python3 python3-pip python3-venv
$ brew install watchman
우리는 Ubuntu 18.04.5 LTS , CentOS 7 및 OSX 10.11 이상에서 Pyre를 테스트했습니다.
먼저 빈 프로젝트 디렉터리를 만들고 가상 환경을 설정합니다.
$ 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 라이선스에 따라 라이선스가 부여됩니다.