PDM vs Poetry: Qual ferramenta de dependências Python para CI?
O PDM é um gerenciador de dependências voltado a padrões com lockfile; o Poetry é o padrão maduro e amplamente adotado.
O PDM gerencia dependências e empacotamento usando metadados PEP 621, entrega um lockfile e historicamente explorou o PEP 582 (__pypackages__). O Poetry é o gerenciador de projeto e dependências consolidado com o maior ecossistema e documentação.
| PDM | Poetry | |
|---|---|---|
| Padrão de metadados | PEP 621 nativo | Específico do Poetry, PEP 621 suportado mais recentemente |
| Lockfile | pdm.lock | poetry.lock |
| Instalação em CI | pdm install | poetry install --no-root |
| Ecossistema de plugins | Em crescimento | Grande, maduro |
| Adoção / familiaridade | Menor | Muito amplamente usado |
No CI
Ambos oferecem instalações determinísticas a partir de um lockfile comitado, então o comportamento diário no CI é similar: comite o lock, faça cache do venv ou do cache de wheels com chave nele, e as instalações são reproduzíveis. O PDM é atraente se você valoriza metadados nativos em PEP 621 e uma ferramenta mais leve e voltada a padrões. O Poetry é o padrão mais seguro pela familiaridade da equipe, pela abrangência de guias existentes e pela cobertura de plugins.
Escolhendo para pipelines
Quer metadados nativos em padrões e uma ferramenta mais enxuta: PDM. Quer a opção mais documentada e conhecida: Poetry. Se você também está avaliando a velocidade bruta de instalação, avalie o uv ao lado de ambos.
O veredito
Quer configuração nativa em PEP 621 e um gerenciador voltado a padrões: PDM. Quer o ecossistema mais maduro e familiar: Poetry. Ambos fazem lock de forma reproduzível - escolha entre padrões vs familiaridade, e considere o uv pela velocidade.