Quem programa em Python sabe que a gestão de ambientes virtuais e dependências com ferramentas tradicionais como pip, venv e poetry pode ser surpreendentemente lenta, especialmente ao instalar pacotes volumosos como PyTorch, Pandas ou Transformers.
Criado pela Astral (mesma equipe por trás do linter Ruff), o uv é uma reescrita completa do ferramental de gerenciamento Python em Rust, projetado para ser um substituto drop-in para o pip.
O que torna o uv revolucionário?
- Velocidade de 10x a 100x: Enquanto um
pip installem projetos com lockfiles complexos pode demorar minutos, o uv resolve e instala dependências em questão de milissegundos graças a um cache global de wheels com links duros (hardlinks). - Substituição de Múltiplas Ferramentas:
- Substitui
virtualenv(uv venv) - Substitui
pip install(uv pip install) - Substitui
pip-compile(uv pip compile) - Gerencia versões do próprio interpretador Python (
uv python install 3.12)
- Substitui
- Execução de Scripts Isolados: Similar ao
npxoubunx, o comandouvxroda qualquer ferramenta CLI do ecossistema Python em um ambiente efêmero sem poluir seu sistema.
Comandos Essenciais
1. Instalação do uv
No Linux ou macOS:
curl -LsSf https://astral.sh/uv/install.sh | sh
Ou via Homebrew / pipx:
brew install uv
2. Criando um Ambiente e Instalando Pacotes
# Cria um venv instantaneamente
uv venv
# Ativa o venv
source .venv/bin/activate
# Instala pacotes na velocidade do Rust
uv pip install fastapi uvicorn
3. Rodando uma CLI sem Instalar Globalmente (uvx)
# Roda a ferramenta Ruff para checar o código sem instalá-la no sistema
uvx ruff check .
Vale a pena adotar?
Sem dúvida. O uv já é considerado o novo padrão da indústria Python para 2026. A equipe da Astral tem mantido um ritmo de desenvolvimento impressionante e a ferramenta é estável para uso diário em desenvolvimento e ambientes de CI/CD.