poethepoet 0.42.1


pip install poethepoet

  Latest version

Released: Feb 26, 2026


Meta
Author: Nat Noordanus
Requires Python: >=3.10

Classifiers

Development Status
  • 5 - Production/Stable

Environment
  • Console

Intended Audience
  • Developers

Operating System
  • OS Independent

License
  • OSI Approved :: MIT License

Programming Language
  • Python
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • Python :: 3.14
  • Python :: 3 :: Only

Topic
  • Software Development :: Build Tools
  • Software Development :: Libraries
  • Software Development :: Quality Assurance
  • Software Development :: Testing

Poe the Poet

Poe the Poet

Python versions PyPI version Download stats License

A batteries included task runner that works well with poetry or uv.

๐Ÿ“– Read the documentation ๐Ÿ“–


Features

Quick start

  1. Install the Poe the Poet globally via pipx or another method.
pipx install poethepoet

Or add it as a poetry project plugin:

[tool.poetry.requires-plugins]
poethepoet = ">=0.39"
  1. Define some tasks in your pyproject.toml
[tool.poe.tasks]
test         = "pytest --cov=my_app"                         # a simple command task
serve.script = "my_app.service:run(debug=True)"              # python script based task
tunnel.shell = "ssh -N -L 0.0.0.0:8080:$PROD:8080 $PROD &"   # (posix) shell based task

# A more complete example with documentation and named arguments
[tool.poe.tasks.count-incomplete]
help = "Count incomplete tasks in DynamoDB"
cmd  = """
aws dynamodb scan --table-name tasks
                  --select "COUNT"
                  --filter-expression "status >= :status"
                  --expression-attribute-values '{":status":{"S":"incomplete"}}'
                  --no-cli-pager
"""
args = [
  # Allow $AWS_REGION to be overridden with a CLI option when calling the task
  {name = "AWS_REGION", options = ["--region", "-r"], default = "${AWS_REGION}"}
]
  1. Run your tasks via the CLI
$ poe test -v tests/unit # extra CLI arguments are appended to the underlying command
Poe => pytest --cov=my_app
...

If you're using poetry or uv, then poe will automatically use CLI tools and libraries from your project's virtualenv without you having to run poetry run / uv run

Poe can also be used as a general purpose task runner.

Contributing

There's plenty to do, come say hi in the discussions or open an issue! ๐Ÿ‘‹

Also check out the CONTRIBUTING guide ๐Ÿค“

License

MIT

0.42.1 Feb 26, 2026
0.42.0 Feb 22, 2026
0.41.0 Feb 08, 2026
0.40.0 Jan 05, 2026
0.39.0 Dec 25, 2025
0.38.0 Nov 23, 2025
0.38.0b0 Oct 12, 2025
0.37.0 Aug 11, 2025
0.36.0 Jun 29, 2025
0.35.1 Jun 29, 2025
0.35.0 Jun 09, 2025
0.34.0 Apr 21, 2025
0.33.1 Mar 15, 2025
0.33.0 Mar 02, 2025
0.32.2 Jan 26, 2025
0.32.1 Jan 09, 2025
0.32.0 Dec 27, 2024
0.31.1 Nov 25, 2024
0.31.0 Nov 23, 2024
0.30.0 Nov 09, 2024
0.29.0 Sep 23, 2024
0.28.0 Aug 31, 2024
0.27.0 Jun 26, 2024
0.26.1 Apr 30, 2024
0.26.0 Apr 27, 2024
0.25.1 Apr 13, 2024
0.25.0 Feb 25, 2024
0.24.4 Nov 18, 2023
0.24.3 Nov 12, 2023
0.24.2 Nov 04, 2023
0.24.1 Oct 07, 2023
0.24.0 Sep 30, 2023
0.23.0 Sep 23, 2023
0.22.1 Sep 03, 2023
0.22.0 Aug 14, 2023
0.21.1 Jul 12, 2023
0.21.0 Jul 09, 2023
0.20.0 May 03, 2023
0.19.0 Mar 22, 2023
0.18.2b2 Feb 17, 2023
0.18.2b1 Feb 04, 2023
0.18.1 Jan 15, 2023
0.18.0 Jan 09, 2023
0.17.1 Dec 26, 2022
0.17.0 Dec 26, 2022
0.16.5 Nov 27, 2022
0.16.4 Oct 09, 2022
0.16.3 Oct 08, 2022
0.16.2 Sep 03, 2022
0.16.1 Aug 30, 2022
0.16.0 Jul 17, 2022
0.15.0 Jul 03, 2022
0.14.0 Jun 18, 2022
0.13.1 Mar 01, 2022
0.13.0 Feb 27, 2022
0.12.3 Feb 09, 2022
0.12.2 Jan 16, 2022
0.12.1 Jan 13, 2022
0.12.0 Jan 08, 2022
0.11.0 Nov 14, 2021
0.11.0b6 Oct 26, 2021
0.11.0b5 Aug 24, 2021
0.11.0b4 Aug 22, 2021
0.11.0b3 Jun 13, 2021
0.11.0b2 Apr 28, 2021
0.11.0b1 Feb 14, 2021
0.10.0 Feb 07, 2021
0.9.0 Sep 29, 2020
0.8.0 Sep 02, 2020
0.7.0 Aug 16, 2020
0.6.0 Aug 09, 2020
0.5.0 Aug 02, 2020
0.4.0 Jul 11, 2020
0.3.0 Jun 20, 2020
0.2.0 Jun 17, 2020
0.1.0 Jun 04, 2020
0.0.3 May 31, 2020
0.0.2 May 29, 2020
0.0.1 May 28, 2020

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies:
pastel (<0.3.0,>=0.2.1)
pyyaml (<7.0,>=6.0.3)
tomli (>=1.3.0)