Automatic semantic versioning for python projects
Automatic semantic versioning for python projects. This is an python implementation of the semantic-release for js by Stephan Bönnemann. If you find this topic interesting you should check out his talk from JSConf Budapest.
pip install python-semantic-release
The general idea is to have some sort of tag in commit messages that indicates certain types of changes. If a commit message lack a tag it is ignored. Running release can be run locally or from a CI service.
Usage: semantic-release [OPTIONS] COMMAND Options: --major Force major version. --minor Force minor version. --patch Force patch version. --noop No-operations mode, finds the new version number without changing it. --post If used with the changelog command, the changelog will be posted to the release api. --help Show this message and exit.
Add the following to your setup.py and you will be able to run python setup.py <command> as you would semantic-release <command>.
try: from semantic_release import setup_hook setup_hook(sys.argv) except ImportError: pass
Configuration belongs in semantic_release section of the setup.cfg file in your project. Details about configuration options can be found in the configuration documentation.
Please create a pull-request with a test case that shows the usage. If you are unsure were to put it, just create a new file inside tests, and we will point you in the right direction.
|File Name & Checksum SHA256 Checksum Help||Version||File Type||Upload Date|
|python_semantic_release-3.10.0-py2.py3-none-any.whl (29.3 kB) Copy SHA256 Checksum SHA256||py2.py3||Wheel||May 5, 2017|
|python-semantic-release-3.10.0.tar.gz (18.1 kB) Copy SHA256 Checksum SHA256||–||Source||May 5, 2017|