Replace Makefile with poe tasks in pyproject.yaml #118
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
poethepoet is a pyproject.toml based task runner that works well with poetry.
It's not as powerful as make, but it doesn't need to be. It is however python/poetry native, easy to configre, and has some nice features that are hard (or impossible?) to get with make such as native support for help messages, and automatic passing of extra command line arguments to the task, so for instance when running
poe test
which is based on pytest, you can pass any extra pytest arguments likepoe test -vv tests/test_features.py
The one thing I couldn't cleanly replicate from the Makefile was the plugin task which kind of didn't work very well anyway. This will be fixed though when poe gets support for task arguments!
The tasks section of the pyproject.toml could theoretically be presented more nicely with tasks split over multiple lines, but the python 3.6 version of the toml package doesn't seem to support this :/ In fact it looks like not even the current version has related bugs.