Package versioning
While there are many versioning schemes available, many Python packages, and Python itself, use PEP-440 for the version specifications.
Some people adhere to the slightly stricter version called semantic versioning (SemVer), but the two are largely compatible.
The short and simplified explanation is that version numbers such as 1.2
or 1.2.3
are used. For instance, looking at version 1.2.3
:
1
is the major version and indicates API-breaking incompatible changes2
is the minor version and indicates backward-compatible functionality addition3
is the patch version, which is used for backward-compatible bugfixes
In the case of major versions, some libraries opt for making the versions non-contiguous and use dates for the versions, such as 2022.5
.
Pre-releases such as alphas and betas can be specified through the minor version with letters. The options are a
for alpha, b
for beta, and rc
for release candidate. This...