uv/docs/first-steps.md
Ibraheem Ahmed 360079fd05
Write project guide (#5195)
## Summary

Write the project guide that was added in
https://github.com/astral-sh/uv/pull/5135.

I tried to expand on details as much as I felt was necessary for someone
new to python package managers (which was myself a couple months ago).
2024-07-18 19:45:25 -05:00

1.9 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 project guide 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.