uv
CLI
tool
package manager
uv is a Python package manager with additional features for managing Python versions, scripts, projects, and tools.
Concepts
- Projects: You can manage packages project-wide using
uvcommands and theproject.tomlfile. - Scripts: You can also manage packages for independent scripts using
uvcommands using the script-header in a python script. - Scripts: You can also manage packages for independent scripts using
uvcommands using the script-header in a python script. - Tools: To run packages as commandline tools, you can use special
uvcommands.
Installation
- Install uv
-
pipx install uv - Upgrade uv
-
uv self update
Python Versions
Manage Python installations and versions.
- Install Python versions
-
uv python install 3.9.7 - List available Python versions
-
uv python list - Find an installed Python version
-
uv python find 3.9 - Pin a project to a specific Python version
-
uv python pin 3.9.7 - Uninstall a Python version
-
uv python uninstall 3.9.7
Scripts
Execute and manage dependencies in standalone Python scripts. The script needs to contain a script header.
- script header
- ```python # /// script # dependencies = [ # “requests<3”, # “rich”, # ] # ///
import requests from rich import print …
Run a script
: ```bash
uv run example.py
- Add a dependency to a script
-
uv add --script SomePackage - Remove a dependency from a script
-
uv remove --script SomePackage
Projects
Create and manage depencies of whole projects with a pyproject.toml file.
- Create a new project with a
pyproject.tomlfile and a virtual environment -
uv init - Add a dependency to the project
-
uv add SomePackage - Remove a dependency from the project
-
uv remove SomePackage - Sync project dependencies with the virtual environment
-
uv sync - Create a lockfile for dependencies
-
uv lock - Run a command in the project environment
-
uv run python script.py - View the dependency tree
-
uv tree
Tools
Install and manage tools from Python package indexes.
- Run a tool in a temporary environment
-
uvx ruff - Install a tool user-wide
-
uv tool install black - Uninstall a tool
-
uv tool uninstall black - List installed tools
-
uv tool list - Update the shell to include tool executables
-
uv tool update-shell