
## Summary We want to have consistency between the Ruff and uv documentation for the upcoming release. We don't love the Ruff docs, but we'd rather have consistency and then work towards improving them both, rather than have two very-different documentation sites that both have weaknesses. The setup here is simpler than in Ruff as: (1) we don't yet generate any docs from Rust and (2) we don't try to reuse the README in the uv documentation (which adds a lot of complexity in Ruff). So the change here is mostly a 1-to-1 port to MkDocs. ## Test Plan 
2 KiB
First steps with uv
Check the version
After installing uv, check that it works from the CLI:
uv version
The installed version should be displayed.
uv's interfaces
uv's commands can be grouped into a few sections.
Project management
These commands are intended for managing development of a Python project. In these workflows, management of the virtual environment is done automatically by uv.
uv add
uv remove
uv sync
uv lock
See the documentation on projects for more details on getting started.
Toolchain management
These commands are used to manage Python itself. uv is capable of installing and managing multiple Python versions.
uv python install
uv python list
uv python find
See the documentation on toolchains for more details on getting started.
Command-line tool management
These commands are used to manage command-line tools written in Python.
uv tool run
See the documentation on tools for more details on getting started.
Low-level plumbing commands
The commands in this group allow manual management of environments and packages. They are intended to be used in legacy workflows or cases where the high-level commands do not provide enough control.
This command is designed as replacement for the Python venv
and virtualenv
modules:
uv venv
These commands are designed as replacements for pip
:
uv pip install
uv pip show
uv pip freeze
uv pip check
uv pip list
uv pip uninstall
These commands are designed as replacements for pip-tools
:
uv pip compile
uv pip sync
This command is designed as a replacement for pipdeptree
:
uv pip tree
Please note these commands do not exactly implement the interfaces and behavior of the tools that informed their design. Consult the pip-compatibility guide for details on differences.