[Python-Dev] PEP 407: New release cycle and introducing long-term support versions (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Thu Jan 19 12:35:19 CET 2012


On Thu, Jan 19, 2012 at 9:07 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:

I fear the day that people asking questions on the tutor or python-list mailing lists will have to say (e.g.) "I'm using Python 3.4.1 and standard library 1.2.7" in order to specify the version they're using. Yeah, that's my biggest problem with Nick's proposal. Hopefully we can avoid parallel version schemes.

They're not really parallel - the stdlib version would fully determine the language version. I'm only proposing two version numbers because we're planning to start versioning two things (the standard library, updated every 6 months, and the language spec, updated every 18-24 months).

Since the latter matches what we do now, I'm merely proposing that we leave its versioning alone, and add a new identiifier specifically for the interim stdlib updates.

Thinking about it though, I've realised that the sys.version string already contains a lot more than just the language version number, so I think it should just be updated to include the stdlib version information, and the version_info named tuple could get a new 'stdlib' field as a string.

That way, sys.version and sys.version_info would still fully define the Python version, we just wouldn't be mucking with the meaning of any of the existing fields.

For example, the current:

sys.version '3.2.2 (default, Sep 5 2011, 21:17:14) \n[GCC 4.6.1]' sys.versioninfo sys.version_info(major=3, minor=2, micro=2, releaselevel='final', serial=0)

might become:

sys.version '3.3.1 (stdlib 12.08, default, Feb 18 2013, 21:17:14) \n[GCC 4.6.1]' sys.versioninfo sys.version_info(major=3, minor=3, micro=1, releaselevel='final', serial=0, stdlib='12.08')

for the maintenance release and:

sys.version '3.3.1 (stdlib 13.02, default, Feb 18 2013, 21:17:14) \n[GCC 4.6.1]' sys.versioninfo sys.version_info(major=3, minor=3, micro=1, releaselevel='final', serial=0, stdlib='13.02')

for the stdlib-only update.

Explicit-is-better-than-implicit'ly yours, Nick.

-- Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia



More information about the Python-Dev mailing list