
2025/12/17 5:52
Announcing the Beta release of ty
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
ty は、Rust で書かれた超高速 Python 型チェッカーおよび言語サーバーで、mypy、Pyright、および Pylance の代替として位置付けられています。ベンチマークでは既存ツールより 10〜60 倍速いことが示されており、大きなファイルを編集した後の診断更新はわずか 4.7 ms と、Pyright の 386 ms や Pyrefly の 2.38 s よりもはるかに高速です。
Astral(uv および Ruff を開発している会社)によって開発された ty は、すでに社内で使用されており、モチベーションのあるユーザーを本番環境で試してもらうために Beta バージョンとしてリリースされています。MIT ライセンス下でオープンソース化され、Astral のコアチームと数十人の貢献者によって構築されており、Python が動作する任意のプラットフォーム(ブラウザを含む)で実行可能です。
アーキテクチャは「インクリメンタリティ」を中心に設計されており、ファイルや関数が変更されたときに選択的な再計算を可能にし、その結果として驚異的に高速なライブアップデートを実現しています。ty はさらに、ファーストクラスの交差型、洗練された型狭窄、および到達性分析などの高度な型チェック機能も提供し、より正確なフィードバックを可能にします。その診断システムは Rust コンパイラからインスピレーションを得ており、複数ファイルからコンテキストを引き出し、修正案を提案する明瞭なエラーメッセージを提供します。
VS Code 拡張機能(および任意の LSP 対応エディタ)は、定義へのジャンプ、シンボル名変更、自動補完、自動インポート、意味的構文ハイライト、Inlay ヒントなど、すべての標準言語サーバー機能をサポートします。
Beta 後の作業は安定性とバグ修正に焦点を当て、Python 型付け仕様の完成、および Pydantic や Django などのライブラリへのファーストクラスサポートの追加を目指します。安定版は来年リリースする予定です。長期的な目標としては、Astral のツールチェーン全体(未使用コード除去、未使用依存関係検出、SemVer アップグレード強制、CVE 到達性分析、型感知 linting)にわたる意味論的機能を提供することが挙げられます。発表では、広範な Python 型付けコミュニティの多くの開発者と協力者からの貢献が大きいことが認められています。
本文
TL;DR
tyはRustで書かれた極めて高速なPython型チェッカーおよび言語サーバーです。mypy、Pyright、Pylanceなどのツールをそのまま置き換えることが想定されています。
発表
本日 ty Beta をリリースします。
- すべての社内プロジェクトは現在 ty のみで動作しています。
- 本番レベルのパフォーマンスを求める意欲的なユーザーにおすすめします。
Astralについて
Astral は Python エコシステム向けに高性能開発ツールを構築しています:
| ツール | 説明 |
|---|---|
| uv | Python パッケージマネージャー |
| Ruff | Linter とフォーマッタ |
ty はこのチェーンの次世代ツールであり、Rust ベースの高速型チェッカーおよび言語サーバーです。
なぜ ty なのか?
- パフォーマンス – キャッシュ無しでも、ty は mypy や Pyright より10〜60倍速い。エディタ上ではさらに早く、PyTorch リポジトリの大きなファイルを編集した後に ty が診断を再計算するのは 4.7 ms、対して Pyright は 386 ms、Pylance は 2.38 s。
- 正確性と使い勝手 – 第一級インターセクション型、高度な型絞り込み、洗練された到達可能性解析により誤検知を抑えつつ正確なフィードバックを提供します。
- オープンソース – MIT ライセンスで公開されており、コアチームと数十人の貢献者によって構築されています。Python が動くどこでも実行可能です(ブラウザも含む)。
主な機能
| 機能 | 説明 |
|---|---|
| インクリメンタルアーキテクチャ | ファイルが変更されたときに必要な計算だけを再実行します。 |
| 診断システム | Rust コンパイラのメッセージを模倣し、複数ファイルからコンテキストを取得してエラーを説明し、修正案を提示します。 |
| エディタサポート | VS Code 拡張機能と LSP 互換で「定義へジャンプ」「名前変更」「補完」「インポート」「シンタックスハイライト」「インレイヒント」などが利用可能です。 |
ロードマップ
- Beta – 安定性向上、バグ修正、および Python 型仕様の拡張に注力します。
- Stable(来年) – Pydantic、Django など人気ライブラリへの第一級サポートを追加します。
- 長期 – Astral 全体でセマンティック機能を強化:デッドコード除去、未使用依存関係検出、SemVer アップグレード制御、CVE 到達可能性解析、型感知 linting など。
感謝の言葉
ty は私たちが構築した中で最も洗練された製品です。型理論、Python ランタイムセマンティクス、実際の利用パターンに関する深い知識が不可欠でした。貢献いただいた皆様に感謝します:
- コアチーム:Alex, Andrew, Aria, Carl, David, Dhruv, Doug, Ibraheem, Jack, Micha
- 主な貢献者(抜粋):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, Tomer Bin, 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, cake‑monotone, slyces, Chris Krycho, Mike Perlov, Raphael Gaschignard, Connor Skees, Aditya Pillai, Lexxxzy, haarisr, Joey Bar, Andrii Turov, Kalmaegi, Trevor Manz, Teodoro Freund, Hugo Polloli, Nathaniel Roman, Victor Hugo Gomes, Nuri Jung, Ivan Yakushev, Hamir Mahal, Denys Zhak, Daniel Kongsgaard, Emily B. Zhang, Ben Bar‑Or, Aleksei Latyshev, Aditya Pratap Singh, wooly18, Samodya Abeysiriwardane, Pepe Navarro。
特に 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)の皆様に感謝します。
始め方:
uv tool install ty@latest
または VS Code 拡張機能をインストールしてください。
私たちと共に構築してくださった皆様に感謝いたします。Python を地球上で最も生産的なプログラミングエコシステムにすることを目指し、ty はユーザーとの密接な協力の中で毎週進化していきます。