Skip to main content

A library for comparing version strings

Project description

Compare package versions in all their varied glory.


This module provides the compare() function which compares two version strings and returns a negative value, zero, or a positive value depending on whether the first string represents a version number lower than, equal to, or higher than the second one, and the key_compare() function which may be used as a key for e.g. sorted().

This module does not strive for completeness in the formats of version strings that it supports. Some version strings sorted by its rules are:

  • 0.1.0
  • 0.2.alpha
  • 0.2
  • 0.2.1
  • 0.2a
  • 0.2a.1
  • 0.2p3
  • 1.0.beta
  • 1.0.beta.2
  • 1.0


This module is developed in a Gitlab repository. The author is Peter Pentchev.

Version history


  • add a file so that more files will be included in the source distribution even if built without setuptools_scm
  • move some options to the tools invoked by tox.ini to the setup.cfg and pyproject.toml files


  • reformat the source code using black 20
  • drop Python 2.x compatibility:
    • use types and modules from the Python 3 standard library
    • use type annotations, not type hints
    • subclass NamedTuple, using Python 3.6 variable type annotations
  • switch to a declarative setup.cfg file
  • install the module into the unit_tests tox environment
  • add a PEP 517 buildsystem definition to the pyproject.toml file
  • add the py.typed marker
  • push the source down into a src/ subdirectory
  • add a command-line utility exposing some of the functionality
  • add a shell tool for testing the command-line utility
  • add a manual page generated from an scdoc source file


  • first public release

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 trivver, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size trivver-1.0.1-py3-none-any.whl (9.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size trivver-1.0.1.tar.gz (11.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page