On 15 Apr 2014 00:42, "Terry Reedy" <tjreedy@udel.edu> wrote:
>
> 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).

PEP 440 uses semantic versioning semantics by default unless a project appears to be using date based versions, or the consumer specifies a different comparison operator.

The only real discrepancy is the postfix syntax, and that's due to the unordered nature of semver build labels.

Cheers,
Nick.

>
> 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
>
>
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas@python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/