Poethepoet is a lightweight task automation tool tailored for Python developers who want to manage project tasks without leaving their pyproject.toml. It works as both a standalone CLI and as a Poetry plugin eliminating the need for separate Makefile or shell script management. Running tasks within the project virtual environment it automatically handles dependency context and environment variable setup, a critical feature that eliminates configuration friction across development teams and CI pipelines.
The task composition model supports sequential execution for dependent workflows, parallel execution for concurrent operations, and directed acyclic graphs for complex multi-stage pipelines. Each task supports shell command execution, Python script invocation, environment variable interpolation, and .env file loading. Self-documenting task features automatically generate help text from task definitions and shell completion generation covers bash, zsh, and fish.
Poethepoet fills a genuine gap in the Python ecosystem where existing tools like Make and npm scripts often clash with Python environment management. By integrating with Poetry and uv it ensures tasks execute in the correct virtual environment with correct dependencies. This is especially valuable in CI/CD pipelines, development workflows, and team environments where consistency matters. The minimal learning curve and integration with existing packaging workflows make it a natural choice for teams using modern Python practices.