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. Usage ===== 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')]) [, , ] 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 Framework integration ===================== Integrates with `Django `_, through ``VersionField``, ``SpecField`` and ``SpecListField``:: 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/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/