16 unstable releases (3 breaking)

0.4.0 Jun 25, 2024
0.3.1 May 6, 2024
0.3.0 Mar 9, 2024
0.2.2 Sep 27, 2023
0.1.9 Jul 17, 2023

#640 in Database interfaces

Download history 859/week @ 2024-03-13 1540/week @ 2024-03-20 1532/week @ 2024-03-27 3450/week @ 2024-04-03 823/week @ 2024-04-10 1627/week @ 2024-04-17 859/week @ 2024-04-24 1985/week @ 2024-05-01 1556/week @ 2024-05-08 1223/week @ 2024-05-15 1079/week @ 2024-05-22 2402/week @ 2024-05-29 3214/week @ 2024-06-05 3205/week @ 2024-06-12 1799/week @ 2024-06-19 1801/week @ 2024-06-26

10,115 downloads per month
Used in 15 crates (11 directly)

Apache-2.0

26KB
578 lines

debian version handling in rust

This simple crate provides a struct for parsing, validating, manipulating and comparing Debian version strings.

It aims to follow the version specification as described in Debian policy 5.6.12.

Example:

use debversion::Version;

let version: Version = "1.0-1".parse()?;
assert_eq!(version.epoch, Some(0));
assert_eq!(version.upstream_version, "1.0");
assert_eq!(version.debian_revision, Some("1"));

let version1: Version = "1.0-0".parse()?;
let version2: Version = "1.0".parse()?;
assert_eq!(version1, version2);

let version1: Version = "1.0-1".parse()?;
let version2: Version = "1.0~alpha1-1".parse()?;
assert!(version2 < version1);

Features

sqlx

The sqlx feature adds serialization support for the postgres debversion extension when using sqlx.

python-debian

The python-debian feature provides conversion support between the debversion Rust type and the Version class provided by python-debian, when using pyop3.

serde

The serde feature enables serialization to and from simple strings when using serde.

Dependencies

~2–15MB
~194K SLoC