Skip to main content

Automatic semantic versioning for python projects

Project description

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.

Build status PyPI version

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.
  --post   If used with the changelog command, the changelog will be posted to the release api.
  --retry  Retry the same release, do not bump.
  --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.

  • changelog - Generates the changelog for the next release.

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 would semantic-release <command>.

try:
    from semantic_release import setup_hook
    setup_hook(sys.argv)
except ImportError:
    pass

Configuration

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-semantic-release-pypi-3.11.2.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

python_semantic_release_pypi-3.11.2-py2.py3-none-any.whl (28.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file python-semantic-release-pypi-3.11.2.tar.gz.

File metadata

  • Download URL: python-semantic-release-pypi-3.11.2.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for python-semantic-release-pypi-3.11.2.tar.gz
Algorithm Hash digest
SHA256 291ebcb1e11cbd2f83ea25e74eacab199dbb719f90b1e35aa39c8ad69f8e809d
MD5 5ee6551ed2a8a1896fb9b711b0e78581
BLAKE2b-256 445f74ca15fddcd7a72a2e4741e0699377dd913a84b2e3600df987957762c5c4

See more details on using hashes here.

File details

Details for the file python_semantic_release_pypi-3.11.2-py2.py3-none-any.whl.

File metadata

  • Download URL: python_semantic_release_pypi-3.11.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 28.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for python_semantic_release_pypi-3.11.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d05eda720121316ff85ca32d644db6641684d10866b697b35ecf65eb465fb2bc
MD5 2b719c73eb79801ee0d9b658f0144f66
BLAKE2b-256 f9fc1b3bb2ab667f7d5f2727c3033d000c64321c426a29ae9b31b26831d382ec

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page