Skip to content
Latchkey

Hatch vs Poetry: Qual ferramenta de projeto Python para CI?

O Hatch se apoia em padrões PEP e ambientes de matrix; o Poetry oferece um fluxo integrado, com lockfile em primeiro lugar.

O Hatch é um gerenciador de projetos da PyPA focado em configuração pyproject.toml compatível com padrões, ambientes scriptáveis e um build backend rápido. O Poetry reúne resolução de dependências, um lockfile e empacotamento em uma única ferramenta opinativa.

HatchPoetry
Configuraçãopyproject.toml (PEP 621)pyproject.toml (historicamente específico do Poetry)
LockfileVia plugin / suporte mais recentepoetry.lock (nativo)
AmbientesGerenciamento de ambientes em matrixÚnico venv de projeto
Build backendhatchling (rápido, popular)poetry-core
Melhor paraBibliotecas, testes multi-ambienteApps que querem dependências fixadas por padrão

No CI

O Hatch se destaca quando você testa sobre uma matrix de versões do Python e conjuntos de dependências - seu modelo de ambientes se mapeia de forma limpa às matrizes de CI, e o hatchling é um build backend amplamente usado e amigável aos padrões. O Poetry se destaca quando você quer instalações determinísticas a partir de um lockfile comitado com configuração mínima. Muitos autores de bibliotecas preferem o Hatch para builds; muitas equipes de apps preferem o Poetry para o locking.

Escolhendo para pipelines

Publicar uma biblioteca e rodar uma matrix de versões/dependências: Hatch. Construir um app onde um lockfile comitado e uma instalação em um comando importam mais: Poetry. Faça cache do venv relevante ou do cache de wheels com chave no seu lock ou entradas fixadas em ambos os casos.

O veredito

Biblioteca com testes multi-ambiente e configuração no padrão PEP: Hatch. App que quer gerenciamento de dependências com lockfile em primeiro lugar e tudo incluído: Poetry. Escolha a ferramenta conforme você esteja empacotando ou fixando versões.

Guias relacionados