Astralがuvとtyを統合、Pythonスクリプトの型チェックが「そのまま動く」時代へ
Bringing uv and ty together

Astralがパッケージマネージャーuvと型チェッカーtyの実験的な統合をプレビュー公開した。PEP 723のインラインメタデータをtyが読み取り、uvが各スクリプト専用の環境を用意することで、同じリポジトリ内でも依存関係が異なるスクリプトを個別に型チェックできる。さらにuv checkコマンドで環境構築から型チェックまでを一括実行可能。将来的にはRuffも統合し、未使用依存の検出など新たな検査も計画している。
我々のAstralツールチェーンへのビジョンはシンプルだ。各ツールは単独でも使え、有用で、エコシステムの他の部分と相互運用できるべきだが、組み合わせて使えばさらに強力になるべきだ。
HNでの議論
106- miki123211
私はPythonプログラマーです。Astralは大好きです。Ruffは素晴らしいと思うし、uvは人生を変えるほどですが、実はtyはそれほど好きではありません。
型チェッカーには型をチェックしてほしいし、チェックできないときは叫んでほしい。"漸進的型付け"はしてほしくない。何かの型が不確かな場合は、その不確かさをモデル化して潜在的なエラーを表示しないのではなく、失敗にしてほしい。エージェントの時代に生きているので、あちこちに注釈を追加する手間はもうそれほど問題ではありません。
MetaのPyreflyはほぼ私の望みどおりに動きます。Pyreflyも完全に好きというわけではありません。エッジケースを作って一部の人気パッケージ(Pydantic、Django、attrs)に独占的地位を与え、あまり人気のないパッケージも活用できる汎用メカニズムを提供しないのは気に入りません。しかし純粋に型チェックの面では優秀です。
- assumed_throwaw
Astralのツールは大好きですが、なぜCLIがこんなに分断されているのか不思議です。
- 今、tyはuvに統合されていますが、tyは技術的にはruffの一部であり[1]、ruffはuvに統合されていません。
- フォーマッタはruffの一部ですが、uvにも文書化されていない"format"コマンドがあり、同じ結果を生成しません。
- 実際、ruffはuvに統合されていますが、"uv tool run ruff"を通して呼び出す必要があります。
"uv format"と"uv lint"が標準コマンドになればいいなと思います。
[1] https://github.com/zed-extensions/pyrefly/issues/26#issuecom...
- WhyNotHugo
これらの別々のツールがこのように混ざり合うという考えは好きではありません。tyは現在、非uvプロジェクトでも完全に使えます。uvには*たくさん*の意見の強い癖があり、独自のロックファイルや他のニュアンスがあり、多くの人が嫌っています — tyが別ツールであることは、プレーンなpipや他の依存関係マネージャ(例:pip-tools)と問題なく動作します。
ただし、tyをuvに統合する必要はなく、その逆も必要ありません。スタンドアロンツールとして維持するのが最も自然に思えます。
- olive-n
pyreflyがこの一年で traction を得ている気がします。私は今週使い始めました。
これはastralが型チェッカー競争に負けたと気づき、人々に使う理由を与えるために人気プロジェクトに折り込んだように見えます。
すでにuvと一緒にインストールされていれば、人々は型チェッカーを探す理由が減り、デフォルトの選択肢に留まるでしょう。
- shahbazac
私は「uv run …」や他のツールがスクリプトやプログラムの実行に干渉するのは好きではありません。コアPython開発者がPythonを使うためのメインインターフェースを「保護」しようとしていることを願っています。必ずしも敵対的な意味ではなく、ますます多くのソフトウェアのクイックスタートやインストールページがuv、conda、venvの20種類のバリエーションなどの使用を要求しています。
ツールに明らかなギャップがあります。ツールのカンブリア爆発が起こり、多くの選択肢を試してきました。今こそコアPythonの人々が介入し、エコシステムを統合する時です。
- bitpush
uvは本当に本当に大好きですが、このuv-tyの投稿は「組織図を出荷している」ように見えます?
単にuvに型チェック機能(何であれ…)が付いたと言えばよかったのに。tyは私の知る限り超有名ブランドではないので、この投稿は人々にまずtyとは何かを理解させることになります…
- thayne
tyはuvよりもruffと統合する方が理にかなっているように思えます。
- xavdid
ああ、これは素晴らしい!PEP 723スクリプトに関する私の最大の不満、つまりエディタサポートの悪さを解決する一歩です。
紙の上ではアイデアが気に入っていましたが、手動で対応するvenvを作成して依存関係をインストールしないと、開発中にエディタ内の補完が得られませんでした。小さなものなら問題ありませんでしたが、スクリプトが大きくなるにつれて耐え難くなりました。そのため、実際の開発環境を作る方が理にかなっていたので、まだあまり使っていない機能です。
ここで改善があると聞いて嬉しいです!