> ## Documentation Index
> Fetch the complete documentation index at: https://fastapi2day.codewithsiva.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# uv: Modern Python Package Manager — Section Overview

> Discover uv, the blazing-fast all-in-one Python package manager written in Rust that replaces pip, venv, pip-tools, and pyenv in a single tool.

You have already learned the traditional Python toolchain — pip for packages, venv for virtual environments, requirements.txt for dependency tracking. That foundation is important to understand. But the Python ecosystem has evolved, and there is now a dramatically better option for managing projects: **uv**.

`uv` is a modern Python package and project manager written in Rust. It is 10 to 100 times faster than pip, replaces four or five separate tools with one, and handles the entire lifecycle of a Python project from a single command-line interface. It is quickly becoming the standard for new Python projects, and it is what you will use for all the project work in this course.

## What uv replaces

Traditional Python development requires a collection of separate tools:

| Traditional tool | What it does                | uv equivalent               |
| ---------------- | --------------------------- | --------------------------- |
| `pip`            | Install packages            | `uv add` / `uv pip install` |
| `venv`           | Create virtual environments | `uv venv` (automatic)       |
| `pip-tools`      | Lock dependency versions    | `uv.lock` (automatic)       |
| `pyenv`          | Manage Python versions      | `uv python install`         |
| `pipx`           | Install global CLI tools    | `uv tool install`           |

With uv, you get all of this from a single binary with a consistent interface.

## Why uv is faster

The speed difference is dramatic and immediately noticeable in daily work:

```bash theme={null}
# With pip — typically 15–30 seconds
pip install pandas numpy matplotlib

# With uv — typically 1–3 seconds
uv add pandas numpy matplotlib
```

uv achieves this through:

* **Rust implementation** — compiled native code instead of interpreted Python
* **Parallel downloads** — fetches multiple packages simultaneously
* **Smart caching** — reuses previously downloaded package files across projects
* **Optimised dependency resolution** — calculates the correct version tree faster

## What you will learn in this section

<CardGroup cols={3}>
  <Card title="Why uv?" icon="bolt" href="/uv/uv-intro">
    Speed benchmarks, feature comparison, and how to install uv on your system.
  </Card>

  <Card title="Virtual Envs" icon="code" href="/uv/virtual-env">
    Creating projects and managing virtual environments the uv way.
  </Card>

  <Card title="Complete Setup" icon="flag-checkered" href="/uv/complete-setup">
    End-to-end walkthrough: create, configure, commit, and push a real project.
  </Card>
</CardGroup>

<Tip>
  If you are just starting out with Python, it is worth learning pip and venv first so you understand the fundamentals. uv builds on those concepts and you will appreciate it more once you know what it is replacing.
</Tip>
