nat-n / poethepoet

A task runner that works well with poetry.
https://poethepoet.natn.io/
MIT License
1.47k stars 59 forks source link
developer-tools development-workflow poetry poetry-plugin python task-runner

Poe the Poet

Poe the Poet

PyPI version PyPI version PyPI version PyPI version

A batteries included task runner that works well with poetry.

📖 Read the documentation 📖


Features

Quick start

  1. Install the Poe the Poet via pipx or another method.

    pipx install poethepoet
  2. 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
  3. 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, then poe will automatically use CLI tools and libraries from your poetry managed virtualenv without you having to run poetry run or poetry shell

Poe can also be used without poetry.

Contributing

There's plenty to do, come say hi in the discussions or open an issue! 👋

Also check out the CONTRIBUTING guide 🤓

License

MIT