Updated from jacebrowning/template-python.