PDM vs Poetry para CI: Qual gerenciador de pacotes Python?
Ambos são gerenciadores de pacotes modernos baseados em pyproject.toml com lockfiles; o PDM aposta mais forte em padrões PEP e layouts de instalação flexíveis, o Poetry em um fluxo all-in-one polido.
O PDM é um gerenciador de pacotes Python rápido e orientado a padrões que suporta tanto layouts virtualenv quanto __pypackages__, com um lockfile pdm.lock. O Poetry é um gerenciador all-in-one popular construído em torno do poetry.lock, virtualenvs e packaging.
| PDM | Poetry | |
|---|---|---|
| Lockfile | pdm.lock | poetry.lock |
| Layout de instalação | Virtualenv ou __pypackages__ | Virtualenv |
| Foco em padrões | Alto (guiado por PEP) | Bom, algum schema próprio |
| Resolver | Rápido | Confiável |
| Maturidade / popularidade | Crescendo | Grande, consolidado |
No CI
Ambos entregam instalações determinísticas a partir de um lockfile, que é o que o CI precisa. O PDM é rápido e com foco em padrões, com um layout flexível que pode pular uma etapa separada de virtualenv. O Poetry é mais amplamente adotado, com a documentação e os tutoriais mais aprofundados. O desempenho é próximo para repos típicos; a escolha costuma se resumir à preferência por padrões e à familiaridade existente do time.
Faça cache
Faça cache da cache de dependências chaveada no pdm.lock ou poetry.lock e instale a partir do lock para reprodutibilidade. As instalações rodam nos runners de CI; runners gerenciados mais rápidos ajudam mais quando instalações a frio dominam o job.
O veredito
Quer um gerenciador rápido e com foco em padrões e layouts de instalação flexíveis: PDM. Quer o all-in-one consolidado e bem documentado: Poetry. Ambos travam dependências - commite o lockfile e instale a partir dele em qualquer um.