Automatic semantic versioning for python projects
Project description
Automatic semantic versioning for python projects. This blogpost explains in more detail.
Install
pip install python-semantic-release
Usage
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. --help Show this message and exit.
Commands
version - Create a new release. Will change the version, commit it and tag it.
publish - Runs version before pushing to git and uploading to pypi.
Running commands from setup.py
Add the following to your setup.py and you will be able to run python setup.py <command> as you woul semantic-release <command>.
try:
from semantic_release import setup_hook
setup_hook(sys.argv)
except ImportError:
pass
Configuration
All configuration described here belongs in setup.cfg in a section: semantic-release.
version_variable - The filename and variable name of where the version number is stored, e.g. semantic_release/__init__.py:__version__. patch_without_tag - If set to true semantic-release will create a new release even if there is no tag in any commits since last release. Default: false. check_build_status - If set to true the status of the head commit will be checked and a release will only be created if the status is success. Default: false.
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.
Source Distributions
Built Distribution
Hashes for python_semantic_release-0.9.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfe70dd9aa2e35e432bb6dd0619648e7c4495dad3c2dbc8bb2cf45dd8c9c7ca3 |
|
MD5 | 4c0a51a2a48f367af540ab7d26f725dc |
|
BLAKE2b-256 | 51da85246533f6931511b4aaefc7a19f4d53078a44dc948447692ab6b93e829a |