Skip to main content
2025 Python Packaging Survey is now live!  Take the survey now

Semantic Version Processor

Project description

sem_ver

This package contains a parser for Semantic Version labels complete with type annotations.

In addition to parsing version labels they may be compared via standard comparison operators and modified directly.

See https://semver.org for details.

sem_ver.SemVer

sem_ver.validate(version: str) -> bool

Test if string is a valid SemVer.

sem_ver.compare(version_a: str, version_b: str) -> int

Compare two SemVer strings. Will raise ValueError if either string is not a valid SemVer.

SemVer(version: str = None, major: int = 0, minor: int = 0, patch: int = 0,

        prerelease: Union[str, Sequence[Union[int, str]]] = '', build: Union[str, Sequence[str]] = '')

Constructor. Will raise ValueError if the passed version string does not match the proper format.

SemVer.major: int

Major version. Changing the major version will reset the minor, patch, prerelease, and build versions.

SemVer.minor: int

Minor version. Changing the minor version will reset the patch, prerelease, and build versions.

SemVer.patch: int

Patch version. Changing the patch version will reset the prerelease and build versions.

SemVer.prerelease: Optional[str]

Prerelease tags as a single string. Will raise ValueError if the prerelease string does not match the proper format.

SemVer.prereleases: List[Union[int, str]]

Prerelease tags as a list of int or string. Does not validate the strings.

SemVer.build: Optional[str]

Build labels as a single string. Will raise ValueError if the build string does not match the proper format.

SemVer.builds: List[str]

Build labels as a list of strings. Does not validate the strings.

SemVer.next_major() -> SemVer

Create a new SemVer for the next major release. Minor, patch, prerelease, and build will be reset.

SemVer.next_minor() -> SemVer

Create a new SemVer for the next minor release. Patch, prerelease, and build will be reset.

SemVer.next_patch() -> SemVer

Create a new SemVer for the next patch release. Prerelease and build will be reset.

SemVer.str() -> str

Convert to string.

Installation

Install with pip:

pip install sem_ver

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page