Pyre是一个符合PEP 484的高性能Python类型检查器。Pyre可以增量分析数百万行代码的代码库,为开发人员提供即时反馈。您可以在Pyre Playground上尝试一些示例。
Pyre附带了Pysa,这是我们在Pyre基础上构建的一个专注于安全的静态分析工具,用于分析Python应用程序中的数据流。请参阅我们的文档以开始使用我们的安全分析。
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
现在我们可以运行Pyre了:
(venv) $ echo "i: int = 'string'" > test.py
(venv) $ pyre
ƛ 发现1个类型错误!
test.py:1:0 不兼容的变量类型 [9]:i被声明为`int`类型,但被用作`str`类型。
第一次调用将启动一个守护进程,监听文件系统的变化 – 当您对代码进行编辑时,它会增量地检查您的项目。您会注意到,后续调用pyre
的速度会比第一次快。
有关更详细的文档,请访问https://pyre-check.org。
加入Pyre社区
有关如何提供帮助,请参阅CONTRIBUTING.md。
许可证
Pyre采用MIT许可证授权。