The Radiant Light of UV
Wed, Apr 23, 2025
The Radiant Light of UV — A Python Package Manager
Ultraviolet (UV) light is a type of electromagnetic radiation with a wavelength shorter than visible light — and it’s not actually “radiant” to the eye, because it’s invisible.
But here, we’re talking about UV, the latest and lightning-fast package management system for Python.

Introducing UV — A Package Manager by ASTRAL
UV stands for Ultraviolet, a smart metaphor.
Just like UV rays are fast, powerful, and invisible — the UV package manager aims to bring that same spirit to Python development: fast, silent, and effortless.
- ⚡ Blazing Fast: UV is written in Rust and outperforms tools like
pip
andpip-tools
. - 🧼 Silent & Automated: Tasks like creating virtual environments and lockfiles are handled behind the scenes.
- 🔧 All-in-One: UV replaces fragmented tools like
pip
,pip-tools
,virtualenv
, andbuild
.
A once-beloved package manager in Python was Poetry — poetically managing dependencies with structure and elegance. Developers appreciated its order.
But now, UV steps into the spotlight — fast, agile, and unassuming.
While Poetry carefully manages dependencies, UV, powered by Rust, does the job at lightning speed —
before you even realize it, your packages are installed and ready to go.
Behind UV — The Astral Team & The Birth of a Modern Tool
Astral is a creative and forward-thinking team in the Python ecosystem. They previously created PDM, a modern package manager based on PEP 582, which received great community feedback.
Through this experience, they encountered limitations in current tools like pip
, pip-tools
, virtualenv
, and poetry
.
They realized traditional tools were:
- Slow,
- Scattered (you had to combine multiple tools),
- Not always developer-friendly.
That’s why UV was born —
A modern, fast, and unified solution to transform how Python projects are managed.
🎯 UV’s Core Mission:
To be a single, modern tool for managing all aspects of Python projects, offering features like:
- 🚀 A complete replacement for pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more.
- ⚡ 10–100x faster than pip.
- 🗂️ Comprehensive project management with a universal lockfile.
- ❇️ Script execution with inline dependency metadata.
- 🐍 Python version installation and management.
- 🛠️ Running tools published as Python packages.
- 🔩 pip-compatible CLI for familiar usage with enhanced performance.
- 🏢 Support for scalable projects with Cargo-style workspaces.
- 💾 Disk-efficient with a global cache to avoid duplicate dependencies.
- ⏬ Installable without needing Rust or Python (via
curl
orpip
). - 🖥️ Cross-platform: macOS, Linux, and Windows support.
UV isn’t just a replacement for existing tools —
It’s a vision for a faster, simpler, more powerful future of Python packaging.

💡 Installing and Using UV
Installing UV is quick and easy. Depending on your OS, run one of the following:
For Windows
In PowerShell, run:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
For macOS and Linux
Run this in your terminal using curl:
curl -LsSf https://astral.sh/uv/install.sh | sh
After installation, check the version to ensure everything’s working:
uv --version
To see all available commands:
uv --help
To view available Python versions:
uv python list
To install a specific version of Python (or latest if not specified):
uv python install 3.11.6
Activating the Virtual Environment
After setting up UV and choosing your Python version, activate the virtual environment.
uv venv
uv venv --python 3.11.6
Activating the Virtual Environment
After setting up UV and choosing your Python version, activate the virtual environment
- Linux/macOS:
source .venv/bin/activate
- Windows (CMD):
.venv\Scripts\activate.bat
Initializing a Project and Creating a Lockfile:
uv init
To install a package like FastAPI with standard extras:
uv add fastapi --extra standard
So, what about removing a package? Or what does this command do?
uv run fastapi dev
Maybe it’s time for you to try UV for yourself. Trust me — it’s one of the most satisfying Python package managers out there.
If you want to dive deeper into UV, make sure to check out the official documentation:
I personally learned the UV commands from the official website, and I hope my explanation has given you enough motivation to explore it further.
** Your turn to try it out.