
2025/12/17 5:52
Ty: A fast Python type checker and LSP
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Tyは、Rustで書かれた新しい超高速Python型チェッカー兼言語サーバーで、mypy、Pyright、Pylanceなどのツールを置き換えることを目指しています。
Astralのベータリリースでは、Tyがわずか4.7 msで診断情報を再計算できることが示されており、これはPyrightの80倍、Pyreflyの500倍の速度です。これは、変更されたファイルのみを再実行する増分解析アーキテクチャのおかげです。
このツールはRustスタイルのエラーメッセージを採用し、第一級インターセクション型、到達性分析、高度な縮小などの高度な型機能を提供します。また、Go To Definition、Symbol Rename、Auto-Complete、Auto-Import、Semantic Syntax Highlighting、および Inlay Hints などの標準的な LSP 機能も備えており、VS Code 拡張機能が利用可能です。
インストールは簡単で、または VS Code 拡張機能を通じて行えます。Ty は MIT ライセンスの下で動作し、Rust、Elixir、および Python タイピングコミュニティから数十人の開発者による貢献を受けています。uv tool install ty@latest
Astral はすでに自社プロジェクト(uv と Ruff)で Ty を独占的に使用しており、本番環境での利用を推奨しています。安定版は来年リリース予定で、完全な Python タイピング仕様対応、バグ修正、および Pydantic や Django などのライブラリへの第一級サポートが追加されます。
長期的な目標としては、Ty の意味解析機能を Astral ツールチェーン全体に拡張し、デッドコード除去、未使用依存関係検出、CVE 到達性分析、型感知リントなどを実現して、大規模 Python コードベースでの生産性向上を図ることが挙げられます。
この改訂された概要は、元のリストからすべての重要ポイントを捉えつつ、言語を簡潔かつ明瞭に保っています。
本文
TL;DR
ty は Rust で書かれた極めて高速な Python 型チェッカーおよび言語サーバーです。mypy、Pyright、Pylance などのツールに代わる選択肢として設計されています。
本日、ベータリリースを発表いたします。現在は社内プロジェクトでのみ使用し、プロダクション利用へ向けて熱意あるユーザーへの導入を推奨できる段階に達しています。
Astral について
Astral は Python エコシステム向けの高性能開発ツールを構築する企業です。
主な実績は次の通りです:
- uv – 高速 Python パッケージマネージャー
- Ruff – リントおよびフォーマッタ
本チェーンで次に登場するツールが ty で、Rust で書かれた極めて高速な Python 型チェッカーおよび言語サーバーです。
コア設計原則
| 原則 | 意味 |
|---|---|
| 性能 | キャッシュ無しでも ty は mypy や Pyright より 10〜60 倍速く動作します。エディタモードではさらに劇的に高速化され、PyTorch リポジトリ内のファイルを編集した後、ty が診断を再計算する時間は 4.7 ms と Pyright(386 ms)より 80 倍、Pyrefly(2.38 s)より 500 倍速です。 |
| 正確性とエルゴノミクス | 第一級の交差型、高度な型狭窄、および洗練された到達可能性解析により、誤検知を回避しつつより精度の高いフィードバックが得られます。 |
| オープン&アクセシブル | コアチームと数十名の貢献者によって MIT ライセンスで開発されました。Python を書ける環境ならどこでも動作します(ブラウザを含む)。 |
主な機能
- インクリメンタル構造 – ファイルが変更されたときに必要な部分だけを再計算します。
- Rust コンパイラのメッセージをモデルにした最高水準の診断情報;複数ファイルからコンテキストを取得し、何が間違っているか・どう修正するかを説明します。
- 標準的な言語サーバー機能:定義へ移動、シンボル名変更、自動補完、自動インポート、セマンティック構文ハイライト、インレイヒント等。
インストール
uv tool install ty@latest # uv でインストール # または code --install-extension astral.ty # VS Code 拡張機能
ロードマップ
| フェーズ | フォーカス |
|---|---|
| ベータ(現在) | 初期採用者をサポートし、フィードバックを収集 |
| 安定版(来年) | 安定性・バグ修正;Python 型システム全体の網羅化;Pydantic や Django など主要ライブラリへの第一級サポート |
| 長期計画 | Astral ツールチェーン全体でのセマンティック機能:デッドコード除去、未使用依存関係検出、SemVer 対応アップグレード強制、CVE 到達可能性解析、型に基づくリント等 |
ビジョン
Python を地球上で最も生産的なプログラミングエコシステムにしたいと考えています。Ruff や uv と同様、ty はユーザーとの密接な協力を通じて毎週大幅に改善されます。
一緒に構築してくださった皆さん、本当にありがとうございます!
謝辞
ty は我々がこれまでに開発した中で最も洗練された製品です。その設計・実装は Astral における最難関の技術問題を解決し、型理論、Python 実行時意味論、実際の使用パターンへの深い理解が必要でした。
コア貢献者
- Douglas Creager
- Alex Waygood
- David Peter
- Micha Reiser
- Andrew Gallant
- Aria Desires
- Carl Meyer
- Zanie Blue
- Ibraheem Ahmed
- Dhruv Manilawala
- Jack O'Connor
- Zsolt Dollenstein
- Shunsuke Shibayama
- Matthew McKee
- Brent Westbrook
- UnboundVariable
- Shaygan Hooshyari
- Justin Chapman
- InSync
- Bhuminjay Soni
- Abhijeet Prasad Bodas
- Rasmus Nygren
- lipefree
- Eric Mark Martin
- Luca Chiodini
- Brandt Bucher
- Dylan Wilson
- Eric Jolibois
- Felix Scherz
- Leandro Braga
- Renkai Ge
- Sumana Harihareswara
- Takayuki Maeda
- Max Mynter
- med1844
- William Woodruff
- Chandra Kiran G
- DetachHead
- Emil Sadek
- Jo
- Joren Hammudoglu
- Mahmoud Saada
- Manuel Mendez
- Mark Z. Ding
- Simon Lamon
- Suneet Tipirneni
- Francesco Giacometti
- Adam Aaronson
- Alperen Keleş
- charliecloudberry
- Dan Parizher
- Daniel Hollas
- David Sherret
- Dmitry
- Eric Botti
- Erudit Morina
- François‑Guillaume Fernandez
- Fabrizio Damicelli
- Guillaume‑Fgt
- Hugo van Kemenade
- Josiah Kane
- Loïc Riegel
- Ramil Aleskerov
- Samuel Rigaud
- Soof Golan
- Usul‑Dev
- decorator‑factory
- omahs
- wangxiaolei
追加のお礼
- Salsa チーム(Niko Matsakis, David Barsky, Lukas Wirth)– サポートと協力
- Elixir チーム(José Valim, Giuseppe Castagna, Guillaume Duboc)– 漸進型タイプと交差型への影響
- Python 型コミュニティ(Eric Traut, Jelle Zijlstra, Jia Chen, Sam Goldman, Shantanu Jain, Steven Troxler)
コアチーム
Alex、Andrew、Aria、Carl、David、Dhruv、Doug、Ibraheem、Jack、Micha – ty をゼロから構築し、最初の一歩から卓越性へ導いた方々です。