[Python-ideas] stdlib upgrades

Tarek Ziadé ziade.tarek at gmail.com
Tue Jun 1 23:40:57 CEST 2010


On Tue, Jun 1, 2010 at 4:46 PM, Jesse Noller <jnoller at gmail.com> wrote:
[..]
> I dislike this more than I thought I would - I would rather have the
> stdlib broken out from core and have it have more releases than the
> whole of python then allowing for piecemeal "blessed" upgrades.
> Allowing piecemeal upgrades of the stdlib means you have to say
> something akin to:
>
> "I support Python 2.6, with the upgraded unittest (2.6.1.3), socket
> (2.6.1.2) and multiprocessing modules"
>
> And so on. Sure, API compatibility should be "fine" - but we all know
> that there are exceptions to the rule all the time, and that alone is
> enough to put the nix on allowing arbitrary upgrades of individual
> modules within the standard lib. For package authors, and users, the
> simple "I support 2.6" statement is key. For corporations with strict
> upgrade checks and verifications, the same applies.


What I expect would be for some projects to state :

  "I support Python 2.6, with the upgraded unittest (2.6.1.3), or Python 3.2"

Instead of:

   "I support Python 2.6, with unittest2 or Python 3.2 with its own unittest"

Because the latter makes more work in the project itself, (and no
difference on the
corporation/end user side) where it has to deal with two different
unittest versions. Well, the
same, but with a different namespace that is used to be able to
install it on previous
Python versions besides the stdlib one.

At some point, if a package or module in the stdlib evolve in a
backward compatible
way, it would be nice to be able to upgrade an existing Python installation.

And this is going to be more and more true with the moratorium I guess: what
people are creating now for Python should work in a wider range of Pythons.

Now, releasing the stdlib on its own and shortening its cycle would also resolve
the problem we have. But then, while there will be less combinations,
the problems you have mentioned will remain the same.
Just replace in your example "I support Python 2.6, with the upgraded unittest
(2.6.1.3), socket (2.6.1.2) and multiprocessing modules" by  "I
support Python 2.6,
with the upgraded stdlib 2.6.1.2".

Regards,
Tarek
-- 
Tarek Ziadé | http://ziade.org



More information about the Python-ideas mailing list