Differences from other tools#

Alternatives#

General information#

Package

Latest release

License

PEP 440 compatible

setuptools-git-versioning

2023

MIT

yes

setuptools-scm

2022

MIT

yes

versioneer

2022

Public domain

yes

versioningit

2023

MIT

yes

miniver

2021

Public domain

no

setuptools-git-ver

2019

MIT

no

another-setuptools-git-version

2020

MIT

yes

bad-setuptools-git-version

2020

MIT

yes

even-better-setuptools-git-version

2019

MIT

yes

better-setuptools-git-version

2018

MIT

no

very-good-setuptools-git-version

2018

MIT

no

setuptools-git-version

2018

Unknown

no

VCS support#

Package

Git

Mercurial

Can be used in git submodules

setuptools-git-versioning

yes

no

yes

setuptools-scm

yes

yes

yes

versioneer

yes

no

no

versioningit

yes

yes

no

miniver

yes

no

no

setuptools-git-ver

yes

no

no

another-setuptools-git-version

yes

no

no

bad-setuptools-git-version

yes

no

no

even-better-setuptools-git-version

yes

no

no

better-setuptools-git-version

yes

no

no

very-good-setuptools-git-version

yes

no

no

setuptools-git-version

yes

no

no

Development#

Package

Documentation

Tests

Changelog

CI/CD

pre-commit

setuptools-git-versioning

site

yes

yes

yes

yes

setuptools-scm

site

yes

yes

yes

yes

versioneer

repo

yes

yes

yes

no

versioningit

site

yes

yes

yes

yes

miniver

readme

yes

yes

yes

no

setuptools-git-ver

readme

no

no

no

no

another-setuptools-git-version

no

no

no

no

no

bad-setuptools-git-version

no

no

no

no

no

even-better-setuptools-git-version

no

no

no

no

no

better-setuptools-git-version

no

no

no

no

no

very-good-setuptools-git-version

no

no

no

no

no

setuptools-git-version

readme

no

no

no

no

Python version support#

Package

Python support

Type hints

PyPy support

setuptools-git-versioning

3.7+

yes

yes

setuptools-scm

3.7+

yes

unknown

versioneer

3.7+

no

unknown

versioningit

3.6+

yes

yes

miniver

3.5+

no

unknown

setuptools-git-ver

3.7+

no

unknown

another-setuptools-git-version

3.5+

yes

unknown

bad-setuptools-git-version

3.5+

no

unknown

even-better-setuptools-git-version

3.5+

no

unknown

better-setuptools-git-version

3.5+

no

unknown

very-good-setuptools-git-version

3.5+

no

unknown

setuptools-git-version

2.7, 3.5+

no

unknown

OS support#

Package

Linux

MacOS

Windows

setuptools-git-versioning

yes

yes

yes

setuptools-scm

yes

yes

yes

versioneer

yes

yes

yes

versioningit

yes

yes

yes

miniver

yes

yes

yes

setuptools-git-ver

yes

yes

yes

another-setuptools-git-version

yes

yes

no

bad-setuptools-git-version

yes

yes

yes

even-better-setuptools-git-version

yes

yes

no

better-setuptools-git-version

yes

yes

no

very-good-setuptools-git-version

yes

yes

no

setuptools-git-version

yes

yes

yes

Configuration#

Package

pyproject.toml

setup.py

setup.cfg

setuptools-git-versioning

yes

yes

no

setuptools-scm

yes

deprecated

deprecated

versioneer

no

deprecated

yes

versioningit

yes

yes

no

miniver

no

yes

no

setuptools-git-ver

no

yes

no

another-setuptools-git-version

no

yes

no

bad-setuptools-git-version

no

yes

no

even-better-setuptools-git-version

no

yes

no

better-setuptools-git-version

no

yes

no

very-good-setuptools-git-version

no

yes

no

setuptools-git-version

no

yes

no

Substitutions#

Package

Commits count

Short SHA

Full SHA

setuptools-git-versioning

yes

yes

yes

setuptools-scm

yes

yes

no

versioneer

yes

yes

yes

versioningit

yes

yes

yes

miniver

yes

yes

no

setuptools-git-ver

yes

yes

no

another-setuptools-git-version

yes

no

no

bad-setuptools-git-version

yes

no

no

even-better-setuptools-git-version

no

yes

no

better-setuptools-git-version

no

yes

no

very-good-setuptools-git-version

yes

yes

no

setuptools-git-version

yes

yes

no

Package

Branch

Remove branch prefix

Remove branch suffix

setuptools-git-versioning

yes

yes

yes

setuptools-scm

no

no

no

versioneer

no

no

no

versioningit

yes

no

no

miniver

no

no

no

setuptools-git-ver

no

no

no

another-setuptools-git-version

no

no

no

bad-setuptools-git-version

no

no

no

even-better-setuptools-git-version

no

no

no

better-setuptools-git-version

no

no

no

very-good-setuptools-git-version

no

no

no

setuptools-git-version

no

no

no

Package

Tag timestamp

Commit timestamp

Current timestamp

Env variable

setuptools-git-versioning

no

no

yes

yes

setuptools-scm

no

no

no

no

versioneer

no

no

no

no

versioningit

yes

yes

yes

no

miniver

no

no

no

no

setuptools-git-ver

no

no

no

no

another-setuptools-git-version

no

no

no

no

bad-setuptools-git-version

no

no

no

no

even-better-setuptools-git-version

no

no

no

no

better-setuptools-git-version

no

no

no

no

very-good-setuptools-git-version

no

no

no

no

setuptools-git-version

no

no

no

no

Tag-based versioning#

Package

Post (distance) version

Dirty version

Initial version

setuptools-git-versioning

yes

yes

yes

setuptools-scm

yes

yes

no

versioneer

yes

no

no

versioningit

yes

yes

yes

miniver

no

no

no

setuptools-git-ver

yes

yes

no

another-setuptools-git-version

yes

no

yes

bad-setuptools-git-version

yes

no

yes

even-better-setuptools-git-version

no

no

yes

better-setuptools-git-version

no

no

yes

very-good-setuptools-git-version

no

no

no

setuptools-git-version

no

no

no

Package

Remove tag prefix

Remove tag suffix

Select only tags matching template

setuptools-git-versioning

yes

yes

yes

setuptools-scm

no

no

no

versioneer

no

no

no

versioningit

yes

yes

yes

miniver

no

no

no

setuptools-git-ver

no

no

no

another-setuptools-git-version

no

no

no

bad-setuptools-git-version

no

no

no

even-better-setuptools-git-version

no

no

no

better-setuptools-git-version

no

no

no

very-good-setuptools-git-version

no

no

no

setuptools-git-version

no

no

no

File-based versioning#

Package

Read from file

Write to file

Use file commit history

setuptools-git-versioning

yes

no (but can be done using bash script)

yes

setuptools-scm

no

yes

no

versioneer

yes

yes

no

versioningit

no

yes

no

miniver

no

yes

no

setuptools-git-ver

no

no

no

another-setuptools-git-version

no

no

no

bad-setuptools-git-version

no

no

no

even-better-setuptools-git-version

no

no

no

better-setuptools-git-version

no

no

no

very-good-setuptools-git-version

no

no

no

setuptools-git-version

no

no

no

Callback-based versioning#

Package

Use callback function to get version number

Use module variable as version number

setuptools-git-versioning

yes

yes

setuptools-scm

no

no

versioneer

no

no

versioningit

yes

no

miniver

no

no

setuptools-git-ver

no

no

another-setuptools-git-version

no

no

bad-setuptools-git-version

no

no

even-better-setuptools-git-version

no

no

better-setuptools-git-version

no

no

very-good-setuptools-git-version

no

no

setuptools-git-version

no

no

Misc#

Package

Reuse functions in your code

Supports extensions

setuptools-git-versioning

yes

no

setuptools-scm

yes

no

versioneer

yes

no

versioningit

yes

yes

miniver

yes

no

setuptools-git-ver

no

no

another-setuptools-git-version

yes

no

bad-setuptools-git-version

yes

no

even-better-setuptools-git-version

yes

no

better-setuptools-git-version

yes

no

very-good-setuptools-git-version

yes

no

setuptools-git-version

no

no