51

刚刚开源的 Python 静态类型检查器:Pyright

 5 years ago
source link: https://www.infoq.cn/article/SJfOw-lr8EKLx8kd9DYu?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

近日,开发者 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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK