Parse, validate, compare, bump, and sort semantic version strings per the SemVer 2.0.0 spec.
bash
# Parse a version into components
python3 scripts/semver_toolkit.py parse 1.2.3-beta.1+build.42
# Validate versions
python3 scripts/semver_toolkit.py validate 1.0.0 v2.1 not-a-version
# Bump version
python3 scripts/semver_toolkit.py bump 1.2.3 minor
python3 scripts/semver_toolkit.py bump 1.2.3 major --pre rc
# Compare two versions
python3 scripts/semver_toolkit.py compare 1.2.3 2.0.0
# Sort versions (ascending)
python3 scripts/semver_toolkit.py sort 3.0.0 1.0.0-alpha 1.0.0 2.1.0
# Sort descending, JSON output
python3 scripts/semver_toolkit.py sort 3.0.0 1.0.0 2.1.0 -r -f json
CommandDescriptionparse VERSIONBreak version into major, minor, patch, prerelease, buildvalidate VERSION...Check if versions are valid semverbump VERSION PARTBump major/minor/patch/prerelease (optional --pre TAG)compare A BShow which version is greater/less/equalsort VERSION...Sort versions in semver order ( -r for descending)
v prefix (e.g. v1.2.3)-f json on any command for machine-readable output