🧙 version-wizard
The version wizard extracts version information from a git tag and includes it in your python package so you don't have to worry about commit messages like Bump version to 0.8.1
anymore. Here's how to use the wizard:
- Install by running
pip install version-wizard
. - Add
include VERSION
to yourMANIFEST.in
file (or create one by runningecho "include VERSION" > MANIFEST.in
). - Update your
setup.py
as shown below. - Push semantic versioning tags to your GitHub branch, e.g,
0.8.1
.
# setup.py
from setuptools import setup, ...
from version_wizard import from_github_tag
setup(
version=from_github_tag(),
...
)
Behind the scenes
The call to from_github_tag
will do one of two things:
- If the
VERSION
file exists, it simply returns its contents. This is the typical behavior when your installing the package from pypi, for example. - If the
VERSION
file does not exist, it will try to extract the version from theGITHUB_REF
environment variable and write it to theVERSION
file.
Because the MANIFEST.in
includes VERSION
, the VERSION
file will be included in any distribution, e.g., when you run python setup.py sdist
. The correct version is thus automatically packaged with your distribution elminiating any possible inconsistencies.
Interface
.. automodule:: version_wizard :members: