Opinionated, no config build version incrementer. No regex. Drop in and go.
pip install jiggle_library cd src # should run from same folder with setup.py # or parent folder of my_module/__init__.py jiggle_library here # find, bump & update version strings in source code jiggle_version here --module=my_module # specify which module. git --tag $(jiggle_library find)
Depends on cmp-version, docopt, parver, semantic-version, versio, which your application is unlikely to depend on.
How's it doing?
Python Versions Supported
3.6, 3.7, 3.8, and forward. Pypi still hosts the old version that supported python 2 and earlier.
A library should have one working, no-options, no questions asked scenario, e.g.
jiggle_library here # find, bump & update version strings in source code
An opinionated library has an opinion about the right way to do it. That said, if the library can discover existing conventions, it should discover them and use them. If you don't like it, see the end for competing opinionated libraries and their philosophy, such as vcs-tag-only, regex-more-regex-all-day-regex.
The following contraints enable "drop in and go"
No Config, No Regex
If the config is more complex than re-writing the code from scratch, there is something wrong with a library. Forcing the developer to write regex to use a utility is a collosal cop out.