GitHub 熱門:微軟新開源的 Python 靜態型別檢查器
(給Python開發者加星標,提升Python技能)
原創整理:Python開發者(id:PythonCoder)
昨天 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。
推薦閱讀
(點選標題可跳轉閱讀)
覺得本文對你有幫助?請分享給更多人
關注「Python開發者」加星標,提升Python技能
喜歡就點一下「好看」唄~
相關文章
- React的靜態型別檢查React型別
- Flow_JS靜態型別檢查器JS型別
- Vue中的靜態型別檢查Vue型別
- Python的靜態型別之旅Python型別
- Flow靜態型別檢查及在Vue專案中的使用型別Vue
- 微軟開源 MS-DOS「GitHub 熱點速覽」微軟Github
- 程式碼靜態掃描規則——型別轉換檢查型別
- python程式碼檢查工具(靜態程式碼審查)Python
- 理解 TypeScript 的靜態型別TypeScript型別
- Model Inspector — 軟體模型靜態規範檢查工具模型
- ESLint 靜態程式碼檢查EsLint
- ReactFlow程式碼靜態檢查React
- 淺談程式語言型別的強型別,弱型別,動態型別,靜態型別型別
- 查漏補缺,這些熱門開源專案你都知道麼?「GitHub 熱點速覽」Github
- 使用puppeteer爬蟲,檢查頁面靜態資源丟失爬蟲
- Github上最熱門的Java專案終於開源了!GithubJava
- 2018上半年GitHub上最熱門的開源專案Github
- 近期GitHub上最熱門的開源專案(附連結)Github
- Android 隱私合規靜態檢查Android
- GitHub 創始人資助的開源瀏覽器「GitHub 熱點速覽」Github瀏覽器
- 5 個有趣的 Python 開源專案「GitHub 熱點速覽」PythonGithub
- Rust 的靜態網站生成器「GitHub 熱點速覽」Rust網站Github
- TypeScript防脫髮級入門——基本型別檢查TypeScript型別
- GitHub 官方開源的字型集「GitHub 熱點速覽」Github
- 靜態資源伺服器伺服器
- 微軟對Github的收購意味著開源的未來?微軟Github
- 檢查型別是否溢位型別
- React手稿之型別檢查React型別
- 開源的 Switch 模擬器——GitHub 熱點速覽 v.21.12Github
- C++編譯器認為的指標型別(靜態聯編)C++編譯指標型別
- 偽靜態、靜態和動態的區別
- React Native工程中TSLint靜態檢查工具的探索之路React Native
- 2018年12月份GitHub上最熱門的Java開源專案GithubJava
- 原始碼 | 靜態工廠返回宣告的返回型別的子型別的例項原始碼型別
- 微軟開源 Python 自動化神器 Playwright微軟Python
- 超火GitHub專案!一夜獲得5000星,竟是微軟開源的計算器Github微軟
- GitHub 開源的小工具「GitHub 熱點速覽 v.21.45」Github
- Nginx靜態資源伺服器配置Nginx伺服器