[Python-Dev] Preserving the definition order of class namespaces.
donald at stufft.io
Wed May 27 16:37:19 CEST 2015
On May 27, 2015 at 10:32:47 AM, Barry Warsaw (barry at python.org) wrote:
> On May 27, 2015, at 06:34 PM, Nick Coghlan wrote:
> >I'd actually like to pursue a more nuanced view of what's permitted in
> >maintenance releases, based on a combination of the language moratorium
> >PEP, and an approach inspired by PEP 466, requiring that every feature
> >added in a maintenance release be detectable through an attribute check on
> >a module (with corresponding support in dependency checking tools).
> PEP 466 and Python 2.7 are a special case. I wouldn't want to adopt such
> tactics in normal Python 3 releases.
> Imagine the nightmare of some poor library author who wants to make sure their
> package works with Python 3.6. They're faced with a source release of 3.6.5,
> but 3.6.3 in Ubuntu, 3.6.4 in Fedora, 3.6.2 in Debian, and users of all
> stripes of patch releases on Windows and OS X. Now they have to pepper their
> code with attribute tests just to support "Python 3.6". In fact, claiming
> support for Python 3.6 actually doesn't convey enough information to their
> Sure, we can limit this to new features, but even new features introduce risk.
> We've decided to accept this risk for Python 2.7 for good and important
> reasons, but we shouldn't do the same for ongoing normal releases.
> >The problem with simply speeding up the release cycle without constraining
> >the interim releases in some way is that it creates significant pain for
> >alternate implementations and for downstream redistributors (many of whom
> >are still dealing with the fallout of the Python 3 transition).
> I'm not convinced that relaxing the maintenance release constraints lessens
> the pain for anybody.
> Python-Dev mailing list
> Python-Dev at python.org
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/donald%40stufft.io
I think it increases the pain for everyone TBH.
I find the backport we did to Python 2.7 pretty crummy, but I think the only
thing worse than backporting to a random patch release of 2.7 was not making
it available to the 2.x line at all. I think that it would have been better to
release it as a 2.8, however that was a hill I felt like dying on personally.
Going forward I think we should either stick to the slower release schedule
and just say it is what it is or release more often. The inbetween is killer.
PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
More information about the Python-Dev