[Python-ideas] stdlib upgrades

M.-A. Lemburg mal at egenix.com
Wed Jun 2 12:13:00 CEST 2010

While I played with this idea a long time ago as well, I have
since found that it causes more trouble than it's worth.

Apart from having the user to maintain at least two different
versioned packages (Python and (part of) the stdlib), it also
causes problems if you use this Python installation for more
than one project: it's easily possible to have project A require
version 2 or a stdlib module and project B version 3 of that
same module.

If you then load both projects in an application, you end up
either with a broken project A or B (depending on whether you have
version 2 or 3 of that stdlib module installed), or you allow
loading multiple versions of the same module, in which case you
will likely break you application, since it will find multiple
class implementations (and objects) for the the same instances.

Things like exception catching, pickling (and esp. unpickling),
security checks based on classes, interface adapters and even
simply isinstance() checks would then fail in various hard to
reproduce ways.

IMHO, we've so far done well by issuing new Python patch level
releases whenever there was a problem in the stdlib (and only

Introducing new features by way of updates is left to
minor releases, which then require more testing by the

This additional testing is what causes many corporates to
not follow the Python release cycle or skip a few minor
releases: the work involved often just doesn't warrant the
advantages of the added new features.

The situations won't get any better if we start releasing
partial or complete stdlib updates even more often.

If users really want bleeding edge, they can just use the
SVN version of the stdlib or cherry pick updates to module
or packages they care about from SVN.

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Jun 02 2010)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
2010-07-19: EuroPython 2010, Birmingham, UK                46 days to go

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611

More information about the Python-ideas mailing list