Skip to main content

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.48"
  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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

poethepoet-0.48.0.tar.gz (148.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

poethepoet-0.48.0-py3-none-any.whl (185.8 kB view details)

Uploaded Python 3

File details

Details for the file poethepoet-0.48.0.tar.gz.

File metadata

  • Download URL: poethepoet-0.48.0.tar.gz
  • Upload date:
  • Size: 148.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for poethepoet-0.48.0.tar.gz
Algorithm Hash digest
SHA256 a06f49d244fadfc2e2e7faa78b54e64a9694727e4ce1d50e08f23cea3ded74f1
MD5 528481589ed0ce85fc0728d9d6fdc4c5
BLAKE2b-256 5c9293a4af9511b8c7c647874521d9e6c904266be98067c2ee1eb2e74520d208

See more details on using hashes here.

Provenance

The following attestation bundles were made for poethepoet-0.48.0.tar.gz:

Publisher: ci.yml on nat-n/poethepoet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file poethepoet-0.48.0-py3-none-any.whl.

File metadata

  • Download URL: poethepoet-0.48.0-py3-none-any.whl
  • Upload date:
  • Size: 185.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for poethepoet-0.48.0-py3-none-any.whl
Algorithm Hash digest
SHA256 98da6096d060f49b8d84034770265863fb7dc92a40233b7694b9d216ac68737d
MD5 5ed079cd2ae94f95443c69ce65992214
BLAKE2b-256 598dd7c9455b15f8d2d7ce57e7b71a8ef8d02d9992ae4283c9777120620c9022

See more details on using hashes here.

Provenance

The following attestation bundles were made for poethepoet-0.48.0-py3-none-any.whl:

Publisher: ci.yml on nat-n/poethepoet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page