python-semanticversion ====================== .. image:: https://secure.travis-ci.org/rbarrois/python-semanticversion.png?branch=master :target: http://travis-ci.org/rbarrois/python-semanticversion/ This small python library provides a few tools to handle `SemVer `_ in Python. Handles the full 2.0.0-rc1 version of the SemVer scheme, and provides tools to declare version ranges. The full doc is available on http://python-semanticversion.readthedocs.org/; simple usage is described below. The semantic_version library supports Python 2.6, 2.7, 3.2, 3.3. Usage ===== Install:: $ pip install semantic_version $ Define a Version:: >>> from semantic_version import Version >>> v = Version('0.1.1') Compare it to other versions:: >>> v < Version('0.1.2') True >>> sorted([Version('0.1.1'), Version('0.11.1'), Version('0.1.1-alpha')]) [Version('0.1.1-alpha'), Version('0.1.1'), Version('0.11.1')] Define a simple specification:: >>> from semantic_version import Spec >>> s = Spec('>=0.1.1') >>> Version('0.1.1') in s True >>> Version('0.1.1-alpha') in s False Define complex specifications:: >>> s = Spec('>=0.1.1,<0.2.0') >>> Version('0.1.2') in s True >>> Version('0.3.0') in s False >>> Version('0.2.0') in s False Select the best compatible version from a list:: >>> s = Spec('>=0.1.1,<0.2.0') >>> s.select([Version('0.1.1'), Version('0.1.9-alpha'), Version('0.1.9-alpha+1')) Version('0.1.9-alpha+1') Framework integration ===================== Integrates with `Django `_, through the ``VersionField`` and ``SpecField`` custom fields:: from semantic_version import django_fields as semver_fields class MyComputer(models.Model): name = models.CharField(max_length=40) kernel_version = semver_fields.VersionField() Links ===== - Package on `PyPI `_: http://pypi.python.org/pypi/semantic_version/ - Doc on `ReadTheDocs `_: http://readthedocs.org/docs/python-semanticversion/ - Source on `GitHub `_: http://github.com/rbarrois/python-semanticversion/ - Build on `Travis CI `_: http://travis-ci.org/rbarrois/python-semanticversion/ - Semantic Version specification: http://semver.org/