昨天 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。

©著作权归作者所有:来自51CTO博客作者mb5fe18fed96438的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 推荐一个使用 Go 语言题解 LeetCode 的开源项目
  2. 算法面试经常需要你手写的三个排序算法(Python语言)
  3. Excelize 2.3.2 发布, Go 语言 Excel 文档基础库, 2021 年首个更新
  4. C语言的一些练习以及写一个猜数字游戏
  5. Bokeh中独特的数据类型简介: ColumnDataSource | Bokeh 小册子
  6. 以B站C语言视频为基础的课后总结(二)
  7. Python数据类型-List介绍(下)-列表推导式
  8. Python数据类型-List介绍(上)
  9. 5分钟了解Python语言的简单介绍

随机推荐

  1. div底部随机5 px空间
  2. Outlook Express 无法读取Html邮件的解决
  3. 如何在SQL中写正则表达式(适用于Ms SQL S
  4. AngularJS ng-repeat项目水平到垂直
  5. HTML5 笔记之 HTML5 的常见用法介绍
  6. html2canvas 识别 svg 解决方案
  7. 你所不知道的html5与html中的那些事(一)
  8. 为什么2012年HTML5发展远未达预期
  9. 在HTML标签中显示很长一段文字,显示两行,多
  10. HTML中图片的截取一部分显示