Automatically set package version using git tag/hash
No need.
Adding setup_requires=['setuptools-git-ver'] somewhere in setup.py will automatically download the latest version from PyPi and save it in the .eggs folder when setup.py is run.
To just use the default templates for versioning:
setuptools.setup(
    ...
    version_config=True,
    ...
    setup_requires=['setuptools-git-ver'],
    ...
)Changing templates (also shows the defaults):
setuptools.setup(
    ...
    version_config={
        "template": "{tag}",
        "dev_template": "{tag}.dev{ccount}+git.{sha}"
        "dirty_template": "{tag}.dev{ccount}+git.{sha}.dirty"
    },
    ...
    setup_requires=['setuptools-git-ver'],
    ...
)- 
template: used if no untracked files and latest commit is tagged
- 
dev_template: used if no untracked files and latest commit isn't tagged
- 
dirty_template: used if untracked files exist or uncommitted changes have been made
- 
{tag}: Latest tag in the repository
- 
{ccount}: Number of commits since last tag
- 
{sha}: First 8 characters of the sha hash of the latest commit