Pular para conteúdo

Poe, the poet + Poetry

Poe é um task runner auxiliar com suporte a pyproject.toml. Tenho usado em alguns contextos e quero só achar um lugar pra botar a configuração que funciona pra mim junto ao poetry.

Você pode usar o poe de muitas maneiras, a que melhor atende minhas necessidades é como plugin do poetry no projeto local:

pyproject.toml
[tool.poetry.requires-plugins]
poethepoet = { version = "~0.46.0", extras = ["poetry_plugin"]}

Isso faz o Poe ser instalado junto ao poetry como um plugin, mas não no poetry global.

Para simplificar as chamadas, tenho optado por "omitir" o cli do poe:

pyproject.toml
[tool.poe]
poetry_command = ""

Assim, qualquer task pode ser chamada diretamente. Algo como:

pyproject.toml
# Exemplo das tasks aqui na bc
[tool.poe.tasks]
serve = "zensical serve"
_build = "zensical build"
_deploy = "netlify deploy --dir=site --prod"
deploy = ["_build", "_deploy"]

pode ser chamado com:

> Execução no terminal
poetry serve   # inicia o zensical
poetry deploy  # roda a sequência de comandos

Isso funciona a custo de um poetry install. Sem venv, sem poetry shell nem meu alias do amor pshell.