uv에는 두 가지 명령 흐름이 있어. uv pip ...은 기존 pip 명령과 플래그를 그대로 받는 호환 경로고, uv add·uv run·uv sync는 새 프로젝트에 권장하는 uv 고유 흐름이야.
uv init <name>은 pyproject.toml, .python-version, 초기 src 구조를 가진 새 프로젝트를 만들어. uv add <pkg>는 필요하면 자동으로 환경을 만들고 의존성을 설치한 뒤 uv.lock을 갱신해. uv add --dev <pkg>는 개발 의존성을 추가하고, uv remove <pkg>는 pip과 달리 더 이상 쓰이지 않는 전이 의존성까지 깨끗하게 제거해.
uv run <cmd>은 프로젝트 환경을 자동으로 찾아 그 안에서 명령을 실행해. 더 이상 source .venv/bin/activate를 먼저 입력할 필요가 없어. uv run pytest, uv run python main.py, uv run flask --app server run이 모두 바로 작동해.
uv python install <version>은 pyenv를 대신해 관리되는 Python을 설치하고, uv python pin <version>은 .python-version을 작성해 프로젝트 버전을 고정해. uv sync는 uv.lock에서 프로젝트의 정확한 상태를 재현해.
uvx <tool>은 uv의 npx 또는 pipx run으로, 설치 기록을 남기지 않고 도구를 실행해. uvx ruff check .나 uvx black .처럼 써. 계속 쓸 도구는 uv tool install <tool>로 전역 격리 설치할 수 있어.