Use version control tags to discover version numbers
Project description
vcversioner
In-depth documentation: https://vcversioner.readthedocs.org/en/latest/
Elevator pitch: you can write a setup.py with no version number specified, and vcversioner will find a recent properly-formatted git tag and extract the version number from it.
To quote myself:
It’s much more convenient to be able to use your version control system’s tagging mechanism to derive a version number than to have to duplicate that information all over the place.
I ended up copy-pasting the same code into a couple different setup.py files just to avoid duplicating version information. But, copy-pasting is dumb and unit testing setup.py files is hard. Thus: vcversioner.
Basic use
vcversioner installs itself as a distutils hook, which makes its use exceedingly simple:
from setuptools import setup setup( # [...] setup_requires=['vcversioner'], vcversioner={}, )
The presence of a vcversioner argument automagically activates vcversioner and updates the project’s version. In most cases, the following line should also be added to MANIFEST.in:
include version.txt
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.