A library implementing the 'SemVer' scheme.
Project description
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')]) [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/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.