Crate version_compare [] [src]

A rust library to easily compare version numbers, and test them against various comparison operators.

Comparing version numbers is hard. Especially when version numbers get really complex, or when their formatting differs.

This library helps you to easily compare any kind of version number with a single code-statement. Two version numbers can be compared to each other, to get a relevant comparison operator (<, ==, >), or version numbers can be tested against any given comparison operator.

Along with version comparison, the library also features other useful tools. For example: version numbers can be parsed to inspect a version number by it's bare numeric or text based parts.

Inspired by PHPs version_compare().


  • Compare two version numbers, get: <, == or >.
  • Compare two version numbers against any comparison operator.
  • Parse complex version numbers.
  • Static, single-statement methods available.

The following features will be added in a later version: * Version manifest, to specify detailed version number constraints. * Batch comparisons.


Check out the examples directory for all available examples.

View complete README


pub use comp_op::CompOp;
pub use version::Version;
pub use version_compare::VersionCompare;
pub use version_manifest::VersionManifest;
pub use version_part::VersionPart;



Module with all supported comparison operators.


Version module, which provides the Version struct as parsed version representation.


Version compare module, with useful static comparison methods.


Module for the version manifest.


Version part module.