Pyre は、PEP 484 に準拠した Python 用の高性能型チェッカーです。Pyre は、数百万行のコードを含むコードベースを段階的に分析でき、開発者がコードを作成するときに即座にフィードバックを提供します。 Pyre Playground のサンプルで試すことができます。
Pyre にはPysaが同梱されています。これは、Python アプリケーションのデータ フローを推論する、Pyre 上に構築されたセキュリティに重点を置いた静的分析ツールです。セキュリティ分析を開始するには、ドキュメントを参照してください。
Pysa は、GitHub Marketplace で Github Action として入手することもできます。
始めるには、Python 3.8 以降とシステム上で動作する 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
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 ライセンスに基づいてライセンスを取得しています。