A set of plugins for setuptools_scm to enable better version tracking
pip install pygitversion
The usage is almost exactly the same as using setuptools_scm, so follow those guidelines. This package merely adds a couple of plugin functions to make the versioning a bit better (eg. having the branch name in the version if applicable).
To summarise: create a pyproject.toml
and include (at least) the following lines:
# pyproject.toml
[build-system]
requires = ["setuptools>=30.3.0", "wheel", "setuptools_scm", "pygitversion"]
Then in your setup.py
, add the following to the call to setup()
:
# setup.py
from setuptools import setup
from pygitversion import branch_scheme
setup(
...
use_scm_version={
"local_scheme": branch_scheme
},
)
You can now print the version of the package simply by doing:
$ python setup.py --version
To set the version of your code, make your __init__.py
have the following:
from pkg_resources import get_distribution, DistributionNotFound
try:
__version__ = get_distribution(__name__).version
except DistributionNotFound:
# package is not installed
pass
And that's it!
To run the all tests run:
tox