fault.project

Release version data structures.

total_ordering
import

dataclass
import

Semantic
class

Primary fields for project using semantic versioning.

Prerelease instances should be carried alongside if such information is desired by a codepath. Separation is performed as any desired comparisions should only use the primary delta fields.

SemanticProperties

major

Major revision usually indicating which protocol set is implemented. Often, the API should have intersections with earlier major revisions, but the level of inconsistency is usually high enough to expect mismatches.

minor

Minor revision indicating the level of the protocol set, increasing the number usually indicating an expansion of the protocols.

patch

Revision indicator noting complete protocol set consistency across distinct values. Used for releases that correct defects.

Patch should be negative if describing a pre-release and potentially a negative number indirectly identifying the Prerelease.quality.

Semanticmajor
data
int

major: (int) = None

Semanticminor
data
int

minor: (int) = None

Semanticpatch
data
int

patch: (int) = None
	@total_ordering

Semantic__gt__
method

__gt__(self, operand)

Prerelease
class

Pre-release version information.

PrereleaseProperties

quality

A string describing the quality of the release. For example, 'beta', 'alpha', 'rc'.

serial

An integer incremented to distinguish from previous pre-releases with the same quality.

Prereleasequality
data
str

quality: (str) = None

Prereleaseserial
data
int

serial: (int) = None