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.

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

Project details


Download files

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

Source Distribution

semantic_version-2.2.0.tar.gz (12.5 kB view details)

Uploaded Source

File details

Details for the file semantic_version-2.2.0.tar.gz.

File metadata

File hashes

Hashes for semantic_version-2.2.0.tar.gz
Algorithm Hash digest
SHA256 fec452881f3511514163ca7a7167e1cec49fd4f7d01081f320b0c8b32a69db35
MD5 212a8b1596e75bdf821ac7d86b120e42
BLAKE2b-256 7530db39bb6e5f52df462eb16209155e73681335ba129bf36043f35213dd42e7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page