uv
uv is a high-performance Python package and project manager, created by Astral (makers of Ruff).
Key Features
- Package Management: Drop-in replacement for pip that’s 10-100x faster
- Project Management: Creates and manages Python projects, dependencies, and environments
- Python Management: Downloads and manages Python interpreters
- Tool Management: Runs and installs Python CLI tools in isolated environments
- Universal Lockfiles: Cross-platform dependency locking
- Cache Optimization: Aggressive caching and build optimizations
Key Components
- uv pip: Drop-in pip replacement for package management
- uv run: Executes Python scripts and commands in managed environments
- uv venv: Creates and manages virtual environments
- uvx: Alias for
uv tool run
to execute tools in isolated environments - uv python: Manages Python interpreter installations
Advantages
- Written in Rust for exceptional performance
- Integrates multiple tools’ functionality into one CLI
- Cross-platform support (macOS, Linux, Windows)
- Supports Python virtual environments and packaging standards
- Aggressive caching optimizations
- Can be installed without Python
Limitations
- Newer tool still gaining features
- Some pip features not yet supported
- Pre-release software may have breaking changes
Learn More
- Create your first Python project
- Setting up testing with pytest and uv
- Run your first Python script with uv
- uv documentation
- Installation guide
- Package management
- Project management
- Python version management
- Tool management
Also Mentioned In
- Pyrefly: Meta's New Type Checker for Python
- Why uv makes Make less essential for Python projects
- The Python Tooling Revolution
- Simple, Modern Python
- build
- Conda
- Create your first Python project
- How to add dynamic versioning to uv projects
- How to add Python to your system path with uv
- How to configure Claude Code to use uv
- How to configure Cursor rules to use uv
- How to Fix ModuleNotFoundError: No module named 'numpy' During pip Install
- How to fix Python version incompatibility errors in uv
- How to migrate from Poetry to uv
- How to migrate from requirements.txt to pyproject.toml with uv
- How to Run a Jupyter Notebook with uv
- How to try the ty type checker
- How to Use `--exclude-newer` for Reproducible Python Environments
- How to use pip in a uv virtual environment
- How to Use Poe the Poet as a Task Runner with uv
- How to write self-contained Python scripts using PEP 723 inline metadata
- pip
- Publishing Your First Python Package to PyPI
- pyproject.toml
- Run your first Python script
- Setting up testing with pytest and uv
- ty
- What is a lockfile?
- What is a Python package?
- What is PEP 751?
- Why does uv Use Hatch as a backend?
- Why Should I Choose pyproject.toml over requirements.txt for managing dependencies?
- Why should I use a virtual environment?
Last updated on