pyre check
v0
Pyre 是一款符合 PEP 484 的 Python 高效能類型檢查器。您可以在 Pyre Playground 中的範例中嘗試。
Pyre 附帶Pysa ,這是我們在 Pyre 之上構建的一個專注於安全的靜態分析工具,用於分析 Python 應用程式中的資料流。請參閱我們的文件以開始我們的安全分析。
Pysa 也可以作為 Github Action 在 GitHub Marketplace 上使用
首先,您需要 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 許可證獲得許可。