PEP 621とPEP 517のメタデータに基づいて、仮想環境、ロックファイル、ビルドを管理する最新のPythonパッケージ・依存関係管理ツール。
- スター
- 91,117
- フォーク
- 3,689
- 未解決の Issue
- 2,984
- 最終コミット
- 58 分前
これは何?
uvは、Pythonパッケージ、プロジェクト、仮想環境、Pythonのインストールを管理するコマンドラインツールです。pip、pip-tools、pipx、poetry、pyenv、twine、virtualenvの役割を単一のバイナリに集約しており、開発者は1つのCLIからインタープリターのインストール、依存関係の解決、ツールの実行を行えます。
プロジェクトでは、uvはプラットフォームをまたいで使えるlockfileを作成し、workspacesをサポートします。また、依存関係のメタデータをインラインで記述した単一ファイルのスクリプトを、隔離された環境で実行できます。pipxと同様に、Pythonパッケージとして公開されたコマンドラインツールの実行やインストールにも対応し、PyPyを含む複数のPythonバージョンを管理できます。
uvはpip互換のインターフェース(uv pip)を備えているため、既存のワークフローを変更せずに移行できます。グローバルキャッシュを使って、環境間で依存関係が重複しないようにします。macOS、Linux、Windowsで動作し、スタンドアロンスクリプトまたはPyPI経由でインストールできます。
主な機能
- 01pip、pip-tools、pipx、poetry、pyenv、twine、virtualenvを1つのツールで置き換えます。
- 02lockfileとCargo風のworkspacesでプロジェクトを管理します。
- 03依存関係をインラインで宣言した単一ファイルのスクリプトを、隔離された環境で実行します。
- 04PyPyを含むPythonの各バージョンをインストールし、切り替えられます。
- 05Pythonパッケージとして公開されたコマンドラインツールを実行・インストールします。
- 06既存のワークフロー向けにpip互換のインターフェースを提供します。
- 07グローバルキャッシュで依存関係の重複を防ぎます。
ユースケース
- 新しいPythonプロジェクトを始め、依存関係とlockfileを管理する。
- 依存関係を自身で宣言したスタンドアロンのPythonスクリプトを実行する。
- CI環境やローカル環境で、pyenv、virtualenv、pipの組み合わせを置き換える。
- pip互換のインターフェースを利用して、既存プロジェクトのpipによるインストールを高速化する。
クイックスタート
- 1
pipでPyPIからuvをインストールする
pip install uv - 2
新しいプロジェクトを作成する
uv init example - 3
プロジェクトに依存関係を追加する
uv add ruff - 4
プロジェクト環境内でコマンドを実行する
uv run ruff check
収録されている特集
トピック
よくある質問
- uv とは?
- Rust製の超高速なPythonパッケージ/プロジェクト管理ツール。pip、virtualenv、pyenv、pipxなどを置き換えます。 uvは、Pythonパッケージ、プロジェクト、仮想環境、Pythonのインストールを管理するコマンドラインツールです。pip、pip-tools、pipx、poetry、pyenv、twine、virtualenvの役割を単一のバイナリに集約しており、開発者は1つのCLIからインタープリターのインストール、依存関係の解決、ツールの実行を行えます。
- uv は無料で使えますか?ライセンスは?
- uv は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- uv は今もメンテナンスされていますか?
- 活発にメンテナンス中。uv の最終コミットは 2026年10月24日 です。
- uv は何に使えますか?
- 新しいPythonプロジェクトを始め、依存関係とlockfileを管理する。 依存関係を自身で宣言したスタンドアロンのPythonスクリプトを実行する。 CI環境やローカル環境で、pyenv、virtualenv、pipの組み合わせを置き換える。 pip互換のインターフェースを利用して、既存プロジェクトのpipによるインストールを高速化する。
- uv のインストール方法は?
- pipでPyPIからuvをインストールする: pip install uv 新しいプロジェクトを作成する: uv init example プロジェクトに依存関係を追加する: uv add ruff プロジェクト環境内でコマンドを実行する: uv run ruff check
- uv はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/astral-sh/uv
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
アプリケーションと依存関係を、ポータブルな virtualenv のように使える単一の実行可能な .pex ファイルにパッケージ化する Python ツール。
リポジトリ内の古いパッケージを検出し、アップグレード用のプルリクエストを作成する依存関係の自動更新ツールです。
macOSとLinux向けのパッケージマネージャー。formulaとcaskのリポジトリからCLIツールやGUIアプリをインストールできます。
WinGet、Scoop、Chocolatey、Homebrew、APT、pip、npmなどを一元管理する、Windows中心のGUIアプリ。
Windows向けのMicrosoft製コマンドラインパッケージマネージャー。アプリのインストールや更新に使えるPowerShellモジュールとCOM APIも備えています。