昨天 GitHub 每日趋势榜中,又出现了一个微软新开源的项目:
https://github.com/Microsoft/pyright
微软称,创建 PyRight 项目,是为了解决现有 Python 静态类型检查器(比如 mypy)中的不足。
速度
PyRight 通常比 mypy 和其他用 Python 编写的类型检查器快 5 倍或更多。它适用于大型 Python 源代码库。它可以在“监视(Watch)”模式下运行,并在修改文件时执行快速增量更新。
不依赖于 Python 环境
PyRight 是用 TypeScript 编写的,在 node 中运行。它不需要安装 Python 环境或导入的第三方包。当与用 node 作为扩展运行时的 VS Code 编辑器一起使用时,这特别实用。
可配置性
PyRight 支持灵活的配置,提供对设置的粒度控制。可以为源库的不同子集指定不同的“执行环境”。每个环境都可以指定不同的 PYTHONPATH 设置、Python 语言版本和平台目标。
类型检查功能
PyRight 支持:
PEP 484 类型提示,包括泛型
PEP 526 变量注释的语法
PEP 544 结构子类型
函数返回值、实例变量、类变量和全局变量的类型推断
理解条件代码流结构(如if/else语句)的智能类型约束
命令行或语言服务
PyRight 包括了命令行工具,还有用于 VS Code 的语言服务器协议插件。
语言服务特性
PyRight 提供了以下语言服务功能:
显示类型信息的悬停工具提示
指向符号定义的链接
智能优先级排队“实时”反馈期间编辑
局限
PyRight 目前仅支持 Python 3.x,不计划支持 2.x。
网友评论