setuptools-scm (manage versions by scm tags)

setuptools-scm handles managing your python package versions in scm
metadata instead of declaring them as the version argument or in a scm
managed file. It also handles file finders for the supported scm's.

Python3 is an optional dependency.