Skip to main content

A library implementing the 'SemVer' scheme.

Project description

python-semanticversion

https://secure.travis-ci.org/rbarrois/python-semanticversion.png?branch=master

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()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for semantic-version, version 2.0.0
Filename, size File type Python version Upload date Hashes
Filename, size semantic_version-2.0.0.tar.gz (9.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page