O Que É o uv? O Gerenciador Rápido de Pacotes e Projetos Python
O uv é um gerenciador rápido de pacotes e projetos Python baseado em Rust que pode substituir o pip, o virtualenv e o pip-tools com uma única ferramenta muito mais veloz.
O uv é uma ferramenta mais nova dos criadores do Ruff que busca ser um substituto rápido e drop-in para boa parte da stack de empacotamento do Python. Ele instala e resolve dependências dramaticamente mais rápido que o pip, gerencia ambientes virtuais e pode travar e executar projetos, tudo a partir de um único binário.
O que é o uv
O uv é um instalador, resolver e gerenciador de projetos Python escrito em Rust. Ele fala os formatos padrão (requirements.txt, pyproject.toml) e expõe uma interface compatível com o pip, então os fluxos de trabalho existentes em sua maioria continuam funcionando enquanto rodam muito mais rápido, graças a um resolver paralelo e a um caching agressivo.
Como funciona
O uv resolve dependências com um resolver rápido no estilo SAT e instala a partir de um cache global, fazendo hard link dos arquivos nos ambientes para evitar cópia. Ele pode criar ambientes virtuais ("uv venv"), instalar neles ("uv pip install") e gerenciar projetos inteiros com um lockfile ("uv sync"). O cache compartilhado significa que installs repetidos são quase instantâneos.
Um exemplo de uso
O uv espelha o pip de perto, além de comandos de projeto de nível mais alto.
# create a venv and install fast
uv venv
uv pip install -r requirements.txt
# or manage a project end to end
uv sync
uv run pytestPapel no CI/CD
O uv brilha no CI porque o install de dependências costuma ser a etapa mais lenta que não é de teste em pipelines Python. Sua velocidade e seu design amigável a cache reduzem substancialmente os tempos de install, e um cache do uv persistente entre execuções acumula a economia. Em runners gerenciados do Latchkey, um cache do uv aquecido mais o auto-retry em soluços transitórios do PyPI mantêm essas etapas de install rápidas e confiáveis.
Alternativas
O pip é o padrão, mas mais lento; o pip-tools adiciona travamento; o Poetry e o PDM oferecem gerenciamento de projeto integrado. O uv compete sendo muito mais rápido enquanto permanece amplamente compatível, e pode assumir os papéis de várias dessas ferramentas de uma só vez.
Principais conclusões
- O uv é um substituto rápido baseado em Rust para o pip, o virtualenv e o pip-tools.
- Um cache compartilhado e um resolver paralelo tornam os installs muito mais rápidos.
- No CI, o uv mais um cache persistente reduz a etapa de install do Python, muitas vezes lenta.