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' >>> 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/