CMD + K

semver

Community

Python helper for Semantic Versioning (http://semver.org/)

Installation

To install this package, run one of the following:

Pip
$pip install -i https://pypi.anaconda.org/rolando/simple semver

Usage Tracking

2.7.5
1 / 8 versions selected
Downloads (Last 6 months): 0

Description

Semver |latest-version|

|build-status| |python-support| |downloads| |license|

A Python module for semantic versioning_. Simplifies comparing versions.

.. |latest-version| image:: https://img.shields.io/pypi/v/semver.svg :alt: Latest version on PyPI :target: https://pypi.python.org/pypi/semver .. |build-status| image:: https://travis-ci.org/k-bx/python-semver.svg?branch=master :alt: Build status :target: https://travis-ci.org/k-bx/python-semver .. |python-support| image:: https://img.shields.io/pypi/pyversions/semver.svg :target: https://pypi.python.org/pypi/semver :alt: Python versions .. |downloads| image:: https://img.shields.io/pypi/dm/semver.svg :alt: Monthly downloads from PyPI :target: https://pypi.python.org/pypi/semver .. |license| image:: https://img.shields.io/pypi/l/semver.svg :alt: Software license :target: https://github.com/k-bx/python-semver/blob/master/LICENSE.txt .. _semantic versioning: http://semver.org/

Usage

This module provides just couple of functions, main of which are:

.. code-block:: python

>>> import semver
>>> semver.compare("1.0.0", "2.0.0")
-1
>>> semver.compare("2.0.0", "1.0.0")
1
>>> semver.compare("2.0.0", "2.0.0")
0
>>> semver.match("2.0.0", ">=1.0.0")
True
>>> semver.match("1.0.0", ">1.0.0")
False
>>> semver.format_version(3, 4, 5, 'pre.2', 'build.4')
'3.4.5-pre.2+build.4'
>>> version_parts = semver.parse("3.4.5-pre.2+build.4")
>>> version_parts == {
...     'major': 3, 'minor': 4, 'patch': 5,
...     'prerelease': 'pre.2', 'build': 'build.4'}
True
>>> version_info = semver.parse_version_info("3.4.5-pre.2+build.4")
>>> version_info
VersionInfo(major=3, minor=4, patch=5, prerelease='pre.2', build='build.4')
>>> version_info.major
3
>>> version_info > (1, 0)
True
>>> version_info < (3, 5)
True
>>> semver.bump_major("3.4.5")
'4.0.0'
>>> semver.bump_minor("3.4.5")
'3.5.0'
>>> semver.bump_patch("3.4.5")
'3.4.6'
>>> semver.max_ver("1.0.0", "2.0.0")
'2.0.0'
>>> semver.min_ver("1.0.0", "2.0.0")
'1.0.0'

Installation

For Python 2:

.. code-block:: bash

pip install semver

For Python 3:

.. code-block:: bash

pip3 install semver

How to Contribute

When you make changes to the code please run the tests before pushing your code to your fork and opening a pull request_:

.. code-block:: bash

python setup.py test

We use py.test_ and tox_ to run tests against all supported Python versions. All test dependencies are resolved automatically, apart from virtualenv, which for the moment you still may have to install manually:

.. code-block:: bash

pip install "virtualenv<14.0.0"  # <14.0.0 needed for Python 3.2 only

You can use the clean command to remove build and test files and folders:

.. code-block:: bash

python setup.py clean

.. _pull request: https://github.com/k-bx/python-semver/pulls .. _py.test: http://pytest.org/ .. _tox: http://tox.testrun.org/

About

Summary

Python helper for Semantic Versioning (http://semver.org/)

Last Updated

Feb 18, 2017 at 04:47

License

BSD

Total Downloads

81