[!WARNING]
このリポジトリはアーカイブされました
このリポジトリはメンテナンスされておらず、アーカイブされています。
- 型チェック: Pyre は、次世代の Python 型チェッカー兼言語サーバーである Pyrefly に置き換えられました。
- セキュリティ解析 (Pysa): Pysa は独自のリポジトリ github.com/facebook/Pysa に移行しました。Pysa をお探しの場合は、そちらをご覧ください。
Pyre は、PEP 484 に準拠した高性能な Python 型チェッカーです。Pyre は数百万行のコードベースをインクリメンタルに解析でき、開発者がコードを書く際に即座にフィードバックを提供します。始めるには ドキュメント をご覧ください。
Pyre には、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`.
初回の実行では、ファイルシステムの変更を監視するデーモンが起動します。コードを編集するたびに、プロジェクトの型チェックがインクリメンタルに行われます。2回目以降の pyre の実行は、初回よりも高速になることに気付くでしょう。
より詳細なドキュメントについては、https://pyre-check.org を参照してください。
貢献方法については CONTRIBUTING.md をご覧ください。
Pyre は MIT ライセンスの下でライセンスされています。