Flit vs Poetry: ferramentas de empacotamento Python comparadas
Escolha o Flit para pacotes Python puros e simples que você só quer construir e publicar; escolha o Poetry quando também quiser dependências travadas, gerenciamento de virtualenv e resolução em uma única ferramenta.
Flit e Poetry constroem e publicam pacotes Python a partir do pyproject.toml, mas miram escopos diferentes. O Flit é intencionalmente minimalista: ele constrói e envia pacotes Python puros com quase nenhuma configuração. O Poetry é um gerenciador completo de projetos e dependências, com seu próprio resolvedor, lockfile (poetry.lock) e tratamento de ambientes.
| Flit | Poetry | |
|---|---|---|
| Escopo | Apenas build + publicação | Resolução + lock + venv + build + publicação |
| Lockfile | Nenhum | poetry.lock |
| Resolvedor de dependências | Nenhum (você gerencia as deps) | Resolvedor integrado |
| Melhor para | Bibliotecas Python puras | Apps e bibliotecas com deps complexas |
| Config | pyproject.toml ([tool.flit]) | pyproject.toml ([tool.poetry]) |
| Publicação | flit publish | poetry publish |
Onde cada um realmente se destaca
O Flit vence na simplicidade: para um pacote de módulo único ou Python puro, sem extensões compiladas, flit build e flit publish têm o mínimo de cerimônia possível. O Poetry vence quando o gerenciamento de dependências importa: ele resolve e trava dependências transitivas, gerencia um virtualenv e oferece uma CLI consistente para todo o ciclo de vida.
No CI
Os pipelines do Flit são minúsculos: instalar, flit build e então enviar um artifact. Os pipelines do Poetry se beneficiam de poetry install restaurando um ambiente exato a partir do poetry.lock, o que torna os builds reproduzíveis entre runners. Se você só publica um pacote simples, o Flit significa menos partes móveis no CI.
Ressalvas honestas
O Flit não é a ferramenta certa para projetos com muitas dependências ou etapas de build não triviais, já que não faz resolução nem lock. O Poetry historicamente divergiu de alguns padrões de metadados PEP e seu resolvedor podia ser lento em grafos grandes, embora tenha melhorado; ferramentas mais novas (uv, PDM) competem diretamente em velocidade.
O veredito
Prefira o Flit para pacotes Python puros e minimalistas, onde você quer o mínimo de ferramentas possível. Prefira o Poetry quando precisar de resolução de dependências, um lockfile e gerenciamento de ambiente, e não apenas empacotamento.