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')]) [<SemVer(0, 1, 1, ('alpha',), ())>, <SemVer(0, 1, 1, (), ())>, <SemVer(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
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/
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.