
O que é uv?
uv é um instalador e resolvedor de pacotes Python turbo-rápido, escrito em Rust como um substituto de alta velocidade para pip, pip-tools e virtualenv.
É de 10 a 100 vezes mais rápido que pip e pip-tools: com um cache aquecido, as instalações com uv são quase instantâneas.
Alguns destaques adicionais:
- Economiza Espaço em Disco: utiliza um cache global para evitar dependências duplicadas.
- Funciona em Qualquer Lugar: suporta macOS, Linux e Windows.
- Fácil de Instalar: você não precisa ter Python ou Rust instalados. Pode ser usado com curl, pip ou brew.
- Recursos Avançados: suporta substituições de versão de dependências e estratégias alternativas de resolução.
- Melhores Mensagens de Erro: Mensagens de erro de melhor qualidade com um resolvedor de rastreamento de conflitos.
- pip Avançado: instalações editáveis, dependências git, dependências locais, distribuições de origem.
Por que é rápido:
- Rust: Rust é conhecido por sua velocidade e segurança.
- “resolver”: uma maneira inteligente de determinar quais versões dos pacotes podem funcionar juntas.
- Cache global de módulos: ele lembra dos arquivos que já viu, então não faz download ou reconstrói dependências novamente.
- Copy-on-Write e hardlinks: isso ajuda a minimizar o uso de espaço em disco.
A visão maior do uv é transformar o gerenciamento de pacotes Python com sua velocidade e confiabilidade. O próximo Poetry?
Se você está no ecossistema Python há tempo suficiente, sabe como é doloroso configurar um ambiente Python ou criar um pacote.
uv tem planos de estabelecer um “Cargo para Python,” um gerenciador unificado de pacotes e projetos Python que seja extremamente rápido, confiável e fácil de usar.
“Imagine: um único binário que inicializa sua instalação do Python e fornece tudo o que você precisa para ser produtivo com Python, integrando não apenas pip, pip-tools e virtualenv, mas também pipx, tox, poetry, pyenv, ruff e mais.
As ferramentas do Python podem proporcionar uma experiência de baixa confiança: é um trabalho significativo iniciar um novo projeto ou dar continuidade a um projeto existente, e os comandos falham de maneiras confusas. Em contraste, ao trabalhar no ecossistema Rust, você confia que as ferramentas funcionarão. A cadeia de ferramentas Astral tem como objetivo transformar a experiência com Python de uma experiência de baixa confiança para uma de alta confiança.”
Estou empolgado para ver o uv melhorar significativamente a experiência de desenvolvimento em Python!
Benchmarks
Vamos ver alguns números de seus benchmarks
instalação a frio (8–10x mais rápido)
Isso equivale a executar uv pip sync em uma nova máquina uv é 8–10x mais rápido que pip e pip-tools sem cache.

instalação com cache (80–115x mais rápido)
É 80–115x mais rápido ao executar com um cache aquecido (por exemplo, recriando um ambiente virtual ou atualizando uma dependência)
Mais sobre esses benchmarks, instalando transformers
Testei o uv no pacote transformers da Hugging Face. A diferença de velocidade é claramente visível.


Como usar?
Abaixo estão alguns comandos que você deve ter em mãos para começar a usar o uv.
Desde a instalação até a sincronização de dependências. Encontre o código no Deepnote. Instalação
# Em macOS e Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows.
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Com pip.
pip install uv
# Com pipx.
pipx install uv
# com Homebrew.
brew install uv
# Com Pacman.
pacman -S uv
Criando venv
# No macOS e Linux.
source .venv/bin/activate
# Windows.
.venv\Scripts\activate
Instalando pacotes
uv pip install flask
uv pip install -r requirements.txt
Sincronizando dependências.
uv pip sync requirements.txt # Install from a requirements.txt file.

