uv(パッケージマネージャー)、Ruff(リンター/フォーマッター)、ty(型チェッカー)を含む高性能なPythonツールを開発するAstralは、uvとtyの実験的な統合を発表しました。この統合の目的は、ツールがプロジェクトの環境と依存関係について統一された理解を共有する、よりまとまりのあるツールチェーンを作成することです。各ツールは引き続き独立して使用可能であり、広範なエコシステムと相互運用可能ですが、この統合された連携は、単独では提供できない機能を解放することを目指しています。

この画像は、Astralのuvとtyツールの実験的な統合に関する主要な発表を表しています。
この統合は、特にPEP 723スクリプトの課題に対処するものです。PEP 723スクリプトでは、Pythonスクリプトを通じてインラインメタデータで依存関係とバージョン要件を宣言できます。以前は、uvはこのメタデータを使用して環境を準備できましたが、tyにはこれらのスクリプトを特定の要件に対して自動的に発見してチェックするためのネイティブな方法がありませんでした。新しい統合により、tyはこれらのスクリプトに必要な環境を準備するためにuvを使用できるようになります。これにより、スクリプトが周囲のプロジェクトとは異なる要件を持っている場合でも、正確な型チェック、コードナビゲーション、およびエディタの補完(ホバー情報や「定義へ移動」など)が可能になります。VS Codeのようなエディタでは、tyはバックグラウンドでuvを自動的に呼び出してこれらの環境をセットアップできます。
さらに、このアップデートでは「uv check」コマンドを介した統合された診断インターフェースを導入しています。「uv check」を実行すると、プロジェクト環境が自動的に準備され、必要な依存関係がインストールされ、型チェックを実行するためにtyが実行されます。このコマンドはワークスペース構成もサポートしており、ユーザーは一貫した構文を使用して、個々のパッケージまたはワークスペース内のすべてのパッケージをチェックできます。PEP 723スクリプトについては、「uv check --script」を使用して、スクリプト自身の宣言された要件を使用してスクリプトを検証できます。この統合は現在は実験的なもので、uv(0.12.3以上)およびty(0.0.76以上)の特定のバージョンを必要としますが、Astralはこれらの機能を拡張し、Ruffによるリンティングや、uvの依存関係の知識とtyのコード分析を組み合わせて未使用の依存関係などの問題を検出する新しいチェックを含める計画です。