[Python-ideas] module version number support for semver.org

Terry Reedy tjreedy at udel.edu
Tue Apr 15 06:41:34 CEST 2014


On 4/14/2014 11:51 AM, Jörn Hees wrote:

> what do you think about officially supporting Semantic Versioning?
> ( http://semver.org )

> Key differences
> ===============

There are two types of differences. First are the syntax differences, 
which you discuss and illustrate. The top-level x.y.z syntax of semver 
is compatible with PEP440. The incompatibilites come in the postfix 
tags, and in particular, the use of '.' versus '-' following 'z'.

Second are the semantic differences, which you did not discuss. PEP 440 
does not prescribe a meaning for major, minor, micro(patch) numbers. 
Semver does. As I read semver.org, semver syntax without semver 
semantics is not Semantic Versioning. So officially supporting Semantic 
Versioning should mean adopting the semantics. Indeed, a project could 
use semver semantics for x.y.z while using PEP 440 syntax for postfix tags.

For Python, the semantics would require that each Python version get a 
new major number, and that the minor number might always be 0. I don't 
see that as useful. Semantic semver would only be practical on a module 
by module basis (or in some cases, packages).

As I said in response to this same post on python-list, one problem with 
mechanical semantic interpretation of version numbers, the supposed 
justification for the system, is that such interpretation does not work 
as soon as one accidentally makes a release that violates the semantic 
rules.

-- 
Terry Jan Reedy




More information about the Python-ideas mailing list