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

Metadata

Release files for poethepoet 0.49.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for poethepoet 0.49.0
File Size Uploaded
poethepoet-0.49.0.tar.gz 157.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for poethepoet 0.49.0
File Interpreter ABI Platform
poethepoet-0.49.0-py3-none-any.whl Python 3 none any Details

Total release size: 353.7 kB

Release files / poethepoet-0.49.0.tar.gz

Download URL poethepoet-0.49.0.tar.gz
Size 157.8 kB
Tags Source
SHA-256 checksum
How to use checksums
256b72c057b5f60341bbe09498212939e558341fac4ab59d0ce478aca04f0d2a
BLAKE2b-256 checksum
How to use checksums
4e7e160d391368d359f7dd6dd647575499c395687beb4a6b2ebfbfbf8a20b817
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / poethepoet-0.49.0-py3-none-any.whl

Download URL poethepoet-0.49.0-py3-none-any.whl
Size 196.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
97b456f3c52c9af75d4bc504e0f5cfee44545a84f446ba645a0a8f6a0131422f
BLAKE2b-256 checksum
How to use checksums
a1f5a2404b9cb3c299cd148533d07e1a378b60aa4ae640c69fb522596ca157ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.49.0 This release

2 release files

0.47.0

2 release files

0.46.0

2 release files

0.45.0

2 release files

0.42.1

2 release files

0.42.0

2 release files

0.39.0

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.36.0

2 release files

0.35.1

2 release files

0.34.0

2 release files

0.33.1

2 release files

0.32.2

2 release files

0.32.0

2 release files

0.31.1

2 release files

0.31.0

2 release files

0.29.0

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.26.1

2 release files

0.26.0

2 release files

0.25.1

2 release files

0.25.0

2 release files

0.24.4

2 release files

0.24.3

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.1

2 release files

0.19.0

2 release files

0.18.1

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.5

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.11.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page