关注前沿技术,分享热点话题,QCon全球软件开发大会三站同启,重磅回归!立即查看 了解详情

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

2019 年 3 月 24 日

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

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

2019 年 3 月 24 日 17:21 13582
用户头像
田晓旭 InfoQ 编辑

发布了 359 篇内容, 共 175.1 次阅读, 收获喜欢 1005 次。

关注

评论

发布
暂无评论
发现更多内容

大作业2

雪涛公子

JavaScript原型机制

Clloz

JavaScript 原型

我的 2020 iOS BAT面试心得:Bigo、字节、快手、伴鱼、百度、微博等

iOSer

ios 面试 面试题 大厂面试 面试经历

Golang 反射性能优化

余歌

go 性能优化

收藏手册:该不该用Lombok?15个常用注解全解析

互联网应用架构

lombok

拆分链表、图解HTTPS、Zookeeper原理、如何成为技术专家、架构师三板斧 John 易筋 ARTS 打卡 Week 18

John(易筋)

ARTS 打卡计划 图解https ZooKeeper原理 架构师三板斧 拆分链表

90%的开发都没搞懂的CI和CD!

华为云开发者社区

DevOps 持续集成 CD

腾讯PCG数据中台专场介绍&招聘报名

腾讯PCG招聘

数据中台 腾讯 招聘

科大讯飞再握一国产核心技术,可高精细拾取30分贝超小音量

Talk A.I.

收藏手册:Docker安装RabbitMQ,只需3步

互联网应用架构

Docker RabbitMQ

Java开发连Redis都不会还想跳槽涨薪?先把Redis的知识点吃透再说

Geek_71bb95

Java redis 编程 程序员 面试

RDS、DDS和GaussDB理不清?看这一篇足够了!

华为云开发者社区

数据库 华为云 RDS

使用递增计数器的线程同步工具 —— 信号量,它的原理是什么样子的?

liuzhihang

Java 源码 源码阅读 JUC Semaphore

架构设计:微服务架构如何划分?这6个标准原则让你一目了然

互联网应用架构

微服务 微服务架构 微服务冶理 架构设计 微服务划分

Java新特性:数据类型可以扔掉了?

云流

Java 编程 架构师

程序员为什么热衷于造轮子,升职加薪吗?

小傅哥

Java 小傅哥 代码质量 编程开发 编程经验

超全面分布式缓存高可用方案:哨兵机制

架构精进之路

redis哨兵模式

java安全编码指南之:输入校验

程序那些事

java安全编码 安全编码规范 java安全编码指南

智能商业时代的思考(三)数据驱动

刘旭东

大数据 数据驱动 智能商业

从linux源码看socket的阻塞和非阻塞

无毁的湖光

Linux TCP socket Linux Kenel

Java ConcurrentHashMap 高并发安全实现原理解析

vivo互联网技术

Java hashmap 多线程 高并发

rpc探路(一)

余歌

Java新特性:数据类型可以扔掉了?

王磊

Java 新特性 Java新特性 var 局部类型推导

信任环:口碑传播的关键环节

boshi

用户增长 运营创新

深入理解JVM垃圾回收算法 - 标记清理算法

NORTH

GC算法 标记清理 位图标记 懒惰标记

高效程序员的45个习惯:敏捷开发修炼之道(8)

石云升

敏捷开发 技术分享 轮换制

高难度对话读书笔记

wo是一棵草

站在巨人的肩膀上学习:五位阿里大牛联手撰写的《深入浅出Java多线程》

Geek_71bb95

Java 编程 面试 并发编程 多线程

Apache Doris 在 WeLab实时大数据平台的应用实践

DorisDB

数据库 数据仓库 OLAP 实时数据分析 实时大数据平台

Golang框架探索(一)

余歌

Web框架 Go web

springboot2.3手册:多租户及自动创建数据,这样做

互联网应用架构

springboot mybaitsplus 多租户 自动填充基础信息

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