Skip to content

uv

非常に高速なPythonパッケージおよびプロジェクトマネージャー、Rustで書かれています。

Shows a bar chart with benchmark results.

Shows a bar chart with benchmark results.

ウォームキャッシュでTrioの依存関係をインストールしています。

ハイライト

uvはRuffのクリエイターであるAstralによってバックアップされています。

はじめに

公式のスタンドアロンインストーラーを使用してuvをインストールします:

$ curl -LsSf https://astral.sh/uv/install.sh | sh
$ powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

次に、最初のステップを確認するか、以下の概要を読んでください。

Tip

uvはpip、Homebrewなどでもインストールできます。すべての方法はインストールページで確認できます。

プロジェクト管理

uvはプロジェクトの依存関係と環境を管理し、ロックファイル、ワークスペースなどをサポートします。ryepoetryに似ています:

$ uv init example
プロジェクト`example`を`/home/user/example`に初期化しました

$ cd example

$ uv add ruff
仮想環境を作成しています:.venv
170msで2つのパッケージを解決しました
   Built example @ file:///home/user/example
627msで2つのパッケージを準備しました
1msで2つのパッケージをインストールしました
 + example==0.1.0 (from file:///home/user/example)
 + ruff==0.5.4

$ uv run ruff check
すべてのチェックが合格しました!

プロジェクトガイドを参照して始めてください。

uv also supports building and publishing projects, even if they're not managed with uv. See the publish guide to learn more.

ツール管理

uvはPythonパッケージが提供するコマンドラインツールを実行およびインストールします。pipxに似ています。

一時的な環境でツールを実行するには、uvxuv tool runのエイリアス)を使用します:

$ uvx pycowsay 'hello world!'
167msで1つのパッケージを解決しました
9msで1つのパッケージをインストールしました
 + pycowsay==0.0.0.2
  """

  ------------
< hello world! >
  ------------
   \   ^__^
    \  (oo)\_______
       (__)\       )\/\
           ||----w |
           ||     ||

ツールをインストールするには、uv tool installを使用します:

$ uv tool install ruff
6msで1つのパッケージを解決しました
2msで1つのパッケージをインストールしました
 + ruff==0.5.4
1つの実行可能ファイルをインストールしました:ruff

$ ruff --version
ruff 0.5.4

ツールガイドを参照して始めてください。

Python管理

uvはPythonをインストールし、バージョン間の迅速な切り替えを可能にします。

複数のPythonバージョンをインストールします:

$ uv python install 3.10 3.11 3.12
Python 3.10に一致するバージョンを検索しています
Python 3.11に一致するバージョンを検索しています
Python 3.12に一致するバージョンを検索しています
3.42秒で3つのバージョンをインストールしました
 + cpython-3.10.14-macos-aarch64-none
 + cpython-3.11.9-macos-aarch64-none
 + cpython-3.12.4-macos-aarch64-none

必要に応じてPythonバージョンをダウンロードします:

$ uv venv --python 3.12.0
CPython 3.12.0を使用しています
仮想環境を作成しています:.venv
有効化するには:source .venv/bin/activate

$ uv run --python pypy@3.8 -- python
Python 3.8.16 (a9dbdca6fc3286b0addd2240f11d97d8e8de187a, Dec 29 2022, 11:45:30)
[PyPy 7.3.11 with GCC Apple LLVM 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>>

現在のディレクトリで特定のPythonバージョンを使用します:

$ uv python pin pypy@3.11
`.python-version`を`pypy@3.11`に固定しました

Pythonのインストールガイドを参照して始めてください。

スクリプトサポート

uvは単一ファイルスクリプトの依存関係と環境を管理します。

新しいスクリプトを作成し、インラインメタデータを追加してその依存関係を宣言します:

$ echo 'import requests; print(requests.get("https://astral.sh"))' > example.py

$ uv add --script example.py requests
`example.py`を更新しました

次に、スクリプトを隔離された仮想環境で実行します:

$ uv run example.py
example.pyからインラインスクリプトメタデータを読み取っています
12msで5つのパッケージをインストールしました
<Response [200]>

スクリプトガイドを参照して始めてください。

pipインターフェース

uvは一般的なpippip-tools、およびvirtualenvコマンドのドロップイン置き換えを提供します。

uvは依存関係のバージョンオーバーライド、プラットフォーム非依存の解決、再現可能な解決、代替解決戦略などの高度な機能を備えたインターフェースを拡張します。

既存のワークフローを変更せずにuvに移行し、uv pipインターフェースで10-100倍の速度向上を体験してください。

プラットフォーム非依存の要件ファイルに要件をコンパイルします:

$ uv pip compile docs/requirements.in \
   --universal \
   --output-file docs/requirements.txt
12msで43のパッケージを解決しました

仮想環境を作成します:

$ uv venv
CPython 3.12.3を使用しています
仮想環境を作成しています:.venv
有効化するには:source .venv/bin/activate

ロックされた要件をインストールします:

$ uv pip sync docs/requirements.txt
11msで43のパッケージを解決しました
208msで43のパッケージをインストールしました
 + babel==2.15.0
 + black==24.4.2
 + certifi==2024.7.4
 ...

pipインターフェースのドキュメントを参照して始めてください。

詳細を学ぶ

最初のステップを確認するか、ガイドに直接ジャンプしてuvの使用を開始してください。