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 updatePython 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.7Scripts
Execute and manage dependencies in standalone Python scripts. The script needs to contain a script header.
- script header
# /// script
# dependencies = [
# "requests<3",
# "rich",
# ]
# ///
import requests
from rich import print
...- Run a script
uv run example.py- Add a dependency to a script
uv add --script SomePackage- Remove a dependency from a script
uv remove --script SomePackageProjects
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 treeTools
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