pyre check
v0
Pyre 是一款符合 PEP 484 的 Python 高性能类型检查器。Pyre 可以增量分析包含数百万行代码的代码库 - 在开发人员编写代码时提供即时反馈。您可以在 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 许可证获得许可。