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

72 lines
1.9 KiB
Markdown

# First steps with uv
## Check the version
After [installing uv](./installation.md), check that it works from the CLI:
```bash
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](./guides/projects.md) 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](./python-versions.md) 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](./preview/tools.md) 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](./pip/compatibility.md) for details on differences.