概要

uv・Ruffの開発元として知られるAstral Softwareが、Rustで実装した高速Python型チェッカー「ty」をリリースした。バージョン0.0.37(ベータ版)として公開されており、mypy・Pyright・Pylanceなどの既存ツールの代替として設計されている。uv tool install ty@latestコマンドまたはVS Code拡張機能からすぐに利用できる。

パフォーマンス

tyの最大の特徴は圧倒的な処理速度にある。home-assistantプロジェクトをキャッシュなしで型チェックした場合、tyは2.19秒で完了するのに対し、Pyrefly(5.3秒)、Pyright(19.62秒)、mypy(45.66秒)と大幅に差をつけている。

エディタ連携でのインクリメンタル更新においては、さらに顕著な差が出る。PyTorchプロジェクトでファイル編集後に診断を再計算する際、tyは4.5ミリ秒で完了する。これはPyright(370.5ミリ秒)と比べて80倍以上、Pyrefly(2.6秒)と比べると500倍以上の高速化に相当する。

アーキテクチャと技術的特徴

この速度を支えるのが「インクリメンタリティ」を中心に据えたアーキテクチャだ。tyはファイルが編集された際に必要な計算のみを再実行する設計となっており、長時間起動し続けるエディタプロセスでの極めて高速なライブ更新を実現している。

型システムの面では、以下の高度な機能を備える。

  • **インターセクション型(交差型)**の一級サポート
  • 高度な型ナローイングと到達可能性分析に基づく型の絞り込み
  • 漸進的型付けをサポートしつつ型保証を維持する設計

診断メッセージはRustコンパイラのアプローチに着想を得ており、単一の診断が複数ファイルから文脈を引き出し、問題点だけでなくその原因説明も提供する。

言語サーバー(LSP)としての機能も充実しており、定義へのジャンプ、シンボルリネーム、オートコンプリート、自動インポート、セマンティック構文ハイライト、インレイヒントなどをサポートしている。

今後の展望

現在はベータ版段階にあり、今後は安定性の向上、未実装機能の追加、Pydantic・Djangoなどサードパーティライブラリへの対応強化が優先課題とされている。長期的には、uvやRuffを含むAstralツールチェーン全体にセマンティック機能を統合していく計画だ。開発はMITライセンスのオープンソースとして行われており、10名のコアチームと100名以上の貢献者が携わっている。