Skip to content

uv

An extremely fast Python package and project manager, written in Rust.Rustで書かれた非常に高速なPythonパッケージおよびプロジェクトマネージャー。

Shows a bar chart with benchmark results.

Shows a bar chart with benchmark results.

Installing Trio's dependencies with a warm cache. Trioの依存関係を温かいキャッシュでインストール中。

Highlightsハイライト

uv is backed by Astral, the creators of Ruff.uvはAstralによってサポートされており、Ruffのクリエイターです。

Installationインストール

Install uv with our official standalone installer:公式のスタンドアロンインストーラーを使用してuvをインストールします:

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

Then, check out the first steps or read on for a brief overview.次に、最初のステップを確認するか、簡単な概要を読むことができます。

Tipヒント

uv may also be installed with pip, Homebrew, and more. See all of the methods on the installation page.uvはpip、Homebrewなどを使ってもインストールできます。すべての方法については、インストールページを参照してください。

Projectsプロジェクト

uv manages project dependencies and environments, with support for lockfiles, workspaces, and more, similar to rye or poetry:uvはプロジェクトの依存関係と環境を管理し、ryepoetryに似たロックファイル、ワークスペースなどをサポートします。

$ uv init example
Initialized project `example` at `/home/user/example`

$ cd example

$ uv add ruff
Creating virtual environment at: .venv
Resolved 2 packages in 170ms
   Built example @ file:///home/user/example
Prepared 2 packages in 627ms
Installed 2 packages in 1ms
 + example==0.1.0 (from file:///home/user/example)
 + ruff==0.5.4

$ uv run ruff check
All checks passed!

$ uv lock
Resolved 2 packages in 0.33ms

$ uv sync
Resolved 2 packages in 0.70ms
Audited 1 package in 0.02ms

See the project guide to get started.プロジェクトガイドを参照して始めましょう。

uv also supports building and publishing projects, even if they're not managed with uv. See the packaging guide to learn more.uvは、uvで管理されていないプロジェクトの構築と公開もサポートしています。詳細については、パッケージングガイドを参照してください。

Scriptsスクリプト

uv manages dependencies and environments for single-file scripts.uvは単一ファイルスクリプトの依存関係と環境を管理します。

Create a new script and add inline metadata declaring its dependencies:新しいスクリプトを作成し、その依存関係を宣言するインラインメタデータを追加します:

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

$ uv add --script example.py requests
Updated `example.py`

Then, run the script in an isolated virtual environment:次に、隔離された仮想環境でスクリプトを実行します:

$ uv run example.py
Reading inline script metadata from: example.py
Installed 5 packages in 12ms
<Response [200]>

See the scripts guide to get started.スクリプトガイドを参照して始めましょう。

Toolsツール

uv executes and installs command-line tools provided by Python packages, similar to pipx.uvは、pipxに似たPythonパッケージによって提供されるコマンドラインツールを実行およびインストールします。

Run a tool in an ephemeral environment using uvx (an alias for uv tool run):uvxuv tool runのエイリアス)を使用して、一時的な環境でツールを実行します:

$ uvx pycowsay 'hello world!'
Resolved 1 package in 167ms
Installed 1 package in 9ms
 + pycowsay==0.0.0.2
  """

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

Install a tool with uv tool install:uv tool installを使用してツールをインストールします:

$ uv tool install ruff
Resolved 1 package in 6ms
Installed 1 package in 2ms
 + ruff==0.5.4
Installed 1 executable: ruff

$ ruff --version
ruff 0.5.4

See the tools guide to get started.ツールガイドを参照して始めましょう。

Python versionsPythonのバージョン

uv installs Python and allows quickly switching between versions.uvはPythonをインストールし、バージョン間の迅速な切り替えを可能にします。

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

$ uv python install 3.10 3.11 3.12
Searching for Python versions matching: Python 3.10
Searching for Python versions matching: Python 3.11
Searching for Python versions matching: Python 3.12
Installed 3 versions in 3.42s
 + cpython-3.10.14-macos-aarch64-none
 + cpython-3.11.9-macos-aarch64-none
 + cpython-3.12.4-macos-aarch64-none

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

$ uv venv --python 3.12.0
Using CPython 3.12.0
Creating virtual environment at: .venv
Activate with: 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.
>>>>

Use a specific Python version in the current directory:現在のディレクトリで特定のPythonバージョンを使用します:

$ uv python pin 3.11
Pinned `.python-version` to `3.11`

See the installing Python guide to get started.Pythonのインストールガイドを参照して始めましょう。

The pip interfacepipインターフェース

uv provides a drop-in replacement for common pip, pip-tools, and virtualenv commands.uvは一般的なpippip-tools、およびvirtualenvコマンドのドロップイン置き換えを提供します。

uv extends their interfaces with advanced features, such as dependency version overrides, platform-independent resolutions, reproducible resolutions, alternative resolution strategies, and more.uvは、依存関係のバージョンオーバーライド、プラットフォームに依存しない解決、再現可能な解決、代替解決戦略などの高度な機能でインターフェースを拡張します。

Migrate to uv without changing your existing workflows — and experience a 10-100x speedup — with the uv pip interface.既存のワークフローを変更することなくuvに移行し、10-100倍のスピードアップを体験してください — uv pipインターフェースを使用して。

Compile requirements into a platform-independent requirements file:プラットフォームに依存しないrequirementsファイルに依存関係をコンパイルします:

$ uv pip compile docs/requirements.in \
   --universal \
   --output-file docs/requirements.txt
Resolved 43 packages in 12ms

Create a virtual environment:仮想環境を作成します:

$ uv venv
Using CPython 3.12.3
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate

Install the locked requirements:ロックされた依存関係をインストールします:

$ uv pip sync docs/requirements.txt
Resolved 43 packages in 11ms
Installed 43 packages in 208ms
 + babel==2.15.0
 + black==24.4.2
 + certifi==2024.7.4
 ...

See the pip interface documentation to get started.pipインターフェースのドキュメントを参照して始めましょう。

Learn more詳細を学ぶ

See the first steps or jump straight to the guides to start using uv.最初のステップを参照するか、直接ガイドに飛んでuvの使用を開始してください。