近日,开发者msfterictraut在GitHub上提交了一个名为Pyrignt的开源项目,这是一个Python的静态类型检查器,主要是为了解决mypy等现有的Python类型检查器无法解决的问题。
Pyright的编写语言是TypeScript,可在节点内运行,适用于大型Python源代码库,不需要安装Python环境或导入的第三方软件包,在与VS Code编辑器一起使用时,使用节点作为其扩展运行时。
相比于mypy等其它类型的检查器,Pyright的速度可以达到5倍甚至更多,在“watch”模式下运行,在修改文件时执行快速增量更新。
Pyright提供以下语言服务功能:
Pyright实现了一种服务,可为语言服务器提供一个接口,当其拥有一个程序实例之后,将会跟踪配置文件和所有构成分析基础的源文件,跟踪多个sourceFile对象。每个源文件代表磁盘上一个Python源文件的内容,文件的整个分析状态,例如分析的每个中间结果、最终结果以及产生的诊断(警告和错误)都会一一跟踪到。同时,程序也会通过importResolver来解析每个源文件中引用的导入模块。
与微软官方支持的Microsoft Python语言服务器相比,Pyright的特点在于其提供了一些独特的功能,如更多的可配置性、命令行执行和更好的性能。目前,Pyright只发布了1.0.1版本,还处于需要大家积极建设贡献的阶段,感兴趣的小伙伴可以点击下方GitHub地址。
Pyright GitHub地址:https://github.com/Microsoft/pyright