3 releases (stable)

1.0.1 Sep 6, 2022
0.1.0 Sep 3, 2022

#18 in #version-string

MIT license

24KB
387 lines

PyVer

Crates.io Crates.io docs.rs ๐Ÿงช Tests ๐Ÿ–‹  Check linting ๐Ÿ”จ Build ๐Ÿ“ฆ Package ๐Ÿ“„ Build docs ๐Ÿ‘” Check formatting

Python PEP-440 Version Parser

This package allows for parsing Python PEP-440 version numbers and for comparisons between PEP-440 version numbers.

Usage

[dependencies]
pyver = "1"

The following is an example for initilizing and comparing two version strings

use pyver::PackageVersion;

let a = PackageVersion::new("v1.0a2.dev456").unwrap();
let b = PackageVersion::new("v1.0a2.dev457").unwrap();

assert_eq!(a < b, true);

Comparing single version components

use pyver::PackageVersion;

let a = PackageVersion::new("1!1.323.dev2").unwrap();
let b = PackageVersion::new("v3.2.dev2").unwrap();

// Check that both have the same dev version
assert_eq!(a.dev, b.dev);

Seperation of version identifiers

use pyver::PackageVersion;

let version = PackageVersion::new("v1.23.dev2").unwrap();

println!("{:?}", version.release.major);
// > 1

println!("{:?}", version.release.minor);
// > 2

println!("{:?}", version.dev);
// > Some(DevHead { dev_num: Some(2) })

See more examples at the docs

Contribution

For now Contributions will be quite loose.

Dependencies

~3.5โ€“5.5MB
~103K SLoC