[Python-Dev] Proposing PEP 345 : Metadata for Python Software Packages 1.2

Tarek Ziadé ziade.tarek at gmail.com
Mon Dec 28 11:58:00 CET 2009

2009/12/28 "Martin v. Löwis" <martin at v.loewis.de>:
>> 2.5.0 would be the notation required to describe this specific micro version.
> I think it would be a shorthand for >=2.5.0, <2.5.1, right?
> Or are you saying that specifying a version is sometimes a shorthand for
> a range, and sometimes a shorthand for the == operator (i.e. one exact
> version)?

2.5.0 being a shorthand for >=2.5.0, <2.5.1 is fine with me.

>> Requires-Dist: zope.interface (3.1.0)   ==> only 3.1.0
> No, it should be: any version that starts with 3.1.0, not including
> post- or pre-releases

In practice it means the same if we don't consider going further that
the micro version (as I did in my head when providing the examples),
but in theory you are right, so that's fine with me.

>> Requires-Python: 3                              ==> Python 3 (no matter wich one)
> Almost: excluding pre- and post-releases.


>> Requires-Python: >=2.6,<3                  ==> Any version of Python 2.6.x or 2.7.x (and 2.8.x if it exists one day)
> This time, including pre- and post-releases, right?

Which pre- and post-releases exactly in this case ? if you mean 2.6
post- releases, 2.7 and 2.8 pre- and post- releases : yes, they would
be included in that range. 3 post-releases are excluded in that case.

As a side not: as we said earlier in Distutils-SIG, dealing with
specific pre- and -post releases would be a very particular
case ppl would have to deal with manually if they are to be founded at
the edge of a range.

e.g. "<3" doesn't mean Python 3 pre-releases are included.

>> Requires-Python: 2.6.2                         ==> only Python 2.6.2
> No: >=2.6.2, <2.6.3 (of course, the only Python release in that range
> was 2.6.2, since there was no

Sure.  If we agree on all of this, I'll add all these examples in the
PEP to make it crystal-clear.


More information about the Python-Dev mailing list