Use version control tags to discover version numbers
Elevator pitch: you can write a setup.py with no version information
specified, and vcversioner will find a recent, properly-formatted
VCS tag and extract a version from it.
It’s much more convenient to be able to use your version control
system’s tagging mechanism to derive a version number than to have
to duplicate that information all over the place. I eventually ended
up copy-pasting the same code into a couple different setup.py files
just to avoid duplicating version information. But, copy-pasting is
dumb and unit testing setup.py files is hard. This code got factored
out into vcversioner.