跳转到主要内容

Python的高效类型检查器

项目描述

lint tests pyre License: MIT Gitter

Pyre是一个符合PEP 484的Python类型检查器。Pyre可以增量分析数百万行代码的代码库,在开发者编写代码时提供即时反馈。您可以在Pyre游乐场中的示例中尝试它。

Pyre附带了Pysa,这是我们基于Pyre构建的一个以安全为重点的静态分析工具,它对Python应用程序中的数据流进行推理。请参阅我们的文档以开始使用我们的安全分析。

Pysa也作为GitHub Marketplace上的GitHub Action提供。

要求

要开始,您需要Python 3.8或更高版本以及在工作系统上运行的watchman。在MacOS上,您可以使用homebrew获取所有内容。

$ brew install python3 watchman

在Ubuntu、Mint或Debian上;使用apt-gethomebrew

$ 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
 ƛ 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

加入 Pyre 社区

有关如何帮助的说明,请参阅 CONTRIBUTING.md

许可证

Pyre 在 MIT 许可下授权。

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面