Skip to main content

The uv command is an extremely fast, all-in-one Python package and project manager developed by Astral. It serves as a unified replacement for multiple legacy tools like pip, pipx, poetry, pyenv, and virtualenv.

# To create a new Python project:
uv init

# To create a new Python project in a specific directory:
uv init <project-name>

# To add a dependency to the current project:
uv add <package>

# To add a development dependency to the current project:
uv add --dev <package>

# To remove a dependency from the current project:
uv remove <package>

# To sync the project environment with the lockfile:
uv sync

# To run a Python script inside the project environment:
uv run <script.py>

# To run a command inside the project environment:
uv run <command>

# To install a Python CLI tool globally in an isolated environment:
uv tool install <package>

# To run a Python CLI tool without permanently installing it:
uv tool run <package>

# To list installed Python CLI tools:
uv tool list

# To upgrade an installed Python CLI tool:
uv tool upgrade <package>

# To uninstall an installed Python CLI tool:
uv tool uninstall <package>

# To install a specific Python version:
uv python install <version>

# To install Python 3.12:
uv python install 3.12

# To uninstall Python 3.12:
uv python uninstall 3.12

# To list available Python versions:
uv python list

# To pin the current project to a specific Python version:
uv python pin <version>

# To pin the current project to Python 3.12:
uv python pin 3.12

# To install a package using uv's pip-compatible interface:
uv pip install <package>

# To install packages from a requirements file:
uv pip install --requirement requirements.txt

# To freeze installed packages:
uv pip freeze

# To compile dependencies into a requirements file:
uv pip compile pyproject.toml --output-file requirements.txt

# To create a virtual environment:
uv venv

# To create a virtual environment using a specific Python version:
uv venv --python <version>

# To create a virtual environment using Python 3.12:
uv venv --python 3.12