繁中

sh-ty超快Python類型檢查器

ty是由Astral(知名工具uv和Ruff的研發團隊)基於Rust語言開發的超高速Python類型檢查器和語言服務程式。
它的運行速度比mypy、Pyright等主流工具快10~100倍,不僅輸出詳細且易於理解的錯誤提示信息,還支持代碼自動完成、懸停視圖評論等核心IDE功能。可以使用uvx ty check命令直接嘗試該工具。藉助ty,開發人員可以提前排除潛在的代碼錯誤,通過實時反饋大幅提高編碼效率,並顯著優化VS Code等編輯器的開發生產力。

一句話總結:
ty是一款性能驅動的Python靜態類型檢查器+語言伺服器,用Rust編寫,目標是成為下一代Pyright/mypy。

為什麼需要新的Python類型檢查器?

Python的類型系統近年來發展迅速:

  • 打字PEP 484 / 544 / 563 / 695
  • 議定書字面TypedDict
  • 「像靜態語言一樣編寫Python」的工程實踐越來越多

但現實是:

  • mypy:規則嚴格,但速度慢,工程經驗「學術」
  • 皮萊特:快速但複雜且巨大的實現(TypScript)
  • 在大型Python項目中, 類型檢查已成為CI的性能瓶頸

Astral團隊的判斷很簡單:

Python的類型檢查已經到了「必須重寫一次」的階段。

什麼是ty?這不是「另一個mypy」

TY不是一個簡單的lint工具,而是一個 完整類型分析引擎:

  • ✅ 靜態類型檢查器
  • ✅ 語言伺服器(SPL)。
  • ✅ 增量分析
  • ✅ 專為大型代碼庫設計

它的位置更接近:

「Python類型系統的鐵鏽級性能+工程級實施」

核心設計目標:速度第一

在Rust中重寫一切

ty的第一本質只有一個原則: 快速.

  • 實施為使用  
  • 強類型+零成本抽象
  • 內存布局、並發性和生命周期都是可控的

這使得ty理論上擁有:

  • 個數量級 比Python實現更快
  • 比TypScript實現更接近底層

增量分析

傳統類型檢查的問題包括:

更改一行代碼|重新分析整個項目

ty的策略是:

  • 細化依賴圖
  • 只有 重新分析受影響的最小子圖
  • 針對IDE場景進行優化,而不僅僅針對CLI

這對於 大型知識庫+高頻編輯 .

類型系統不是「儘可能長時間地運行」,而是「結構正確」

ty不僅僅是「檢查注釋是否正確」,而是嘗試構建:

  • 約束系統 類型之間
  • 類型推理路徑
  • 類型合併、交叉、縮小

這意味著這不是黑客攻擊,而是 可以隨著時間的推移而進化的發動機.

ty Buttons僅用於CLI,首先是MPS

ty從一開始就假設它將在編輯器中運行。

支持的典型能力:

  • 懸停式懸停
  • 轉到定義
  • 類型錯誤的即時反饋
  • 自動導入(未來)

這讓ty更像是:

Python世界的鐵鏽分析器

而不是一個「運行後會給你一堆錯誤」的工具。

它和Pyright / mypy的區別

尺寸mypy皮萊特Ty
實現語言PythonTypeScript
性能目標正確性正確+快速極快
架構複雜性介質高,但低
IDE優先級極高
項目階段成熟成熟早期(但雄心勃勃)

一條評論:

TY是一款「向後設計未來」的類型檢查器。

Github:https://github.com/astral-sh/ty
管材:

返回頂端