Poetry vs uv: Gerenciamento de Dependências Python Mais Rápido no CI
O uv (da Astral) é o desafiante mais novo, baseado em Rust, ao Poetry - e no CI a diferença de velocidade é difícil de ignorar.
Ambos gerenciam projetos, resolvem dependências e produzem um lockfile. O uv é escrito em Rust e otimiza agressivamente para velocidade de instalação; o Poetry é o padrão maduro e amplamente adotado.
| Poetry | uv | |
|---|---|---|
| Implementação | Python | Rust |
| Velocidade de instalação/resolução | Boa | Muito mais rápida (frequentemente 10x+) |
| Lockfile | poetry.lock | uv.lock |
| Gerenciamento de versão do Python | Não (ferramenta separada) | Sim, pode instalar Pythons |
| Maturidade / ecossistema | Muito maduro | Mais novo, amadurecendo rapidamente |
No CI
O uv resolve e instala dependências muito mais rápido do que o Poetry, o que encurta a parte mais lenta de muitos pipelines Python. O uv também pode instalar e fixar o próprio interpretador Python, removendo um passo de setup separado. O Poetry continua sendo um padrão seguro com o maior corpo de docs, plugins e familiaridade de equipe existentes.
Esforço de migração
O uv pode importar de um pyproject.toml e muitas equipes o adotam de forma incremental (usando o uv como instalador enquanto mantêm o layout de projeto existente). Teste a resolução com cuidado se você tem restrições complexas, já que o comportamento do resolvedor pode diferir.
O veredito
Quer as instalações mais rápidas e gerenciamento de Python embutido: uv. Quer o ecossistema mais maduro e testado em batalha hoje: Poetry. O uv é o que avaliar se o tempo de instalação no CI é o seu gargalo.