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.
I was about to open an issue on poyo when I realized there's a much more fundamental question I should be asking: given that pyyaml was "adopted" two years ago, does it still make sense to maintain an entire separate YAML parser for cookiecutter?
This came up a bit before. #1136 (comment)
I could be wrong, but I sort of had the impression nobody with cookiecutter ever really wanted to be in the business of YAML parsing in the first place, and that poyo was just an act of desperation --- IIRC, with the half-complete migration to BitBucket, it wasn't even clear where you would go to contribute any fixes you needed. At this point, pyyaml is owned by The YAML Project and lives on GitHub with cookiecutter: https://github.com/yaml/pyyaml
It seems like it might be worth folding poyo into pyyaml, if there's anything cookiecutter needs that pyyaml doesn't currently have.
At this point
pip install pyyaml
just works on Linux and Windows. I'm opening this as a PR rather than an issue to show what a small change we're really talking about here --- anecdotally, the drop-in replacement in this branch just works.(This turned out a bit more complicated than just replacing the parsing call, but it's all to do with testing --- some tests were writing out test config files that, as it turned out, were not actually valid YAML. That's one of the things about having a separate hand-rolled parser; the language it actually represents tends to drift without anyone noticing, with the obvious implications for debugging.)