[Python-ideas] Add from __experimental__ import bla [was: Should we move to replace re with regex?]

Guido van Rossum guido at python.org
Wed Aug 31 19:23:55 CEST 2011

On Wed, Aug 31, 2011 at 9:56 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Wed, 31 Aug 2011 09:31:46 -0700
> Guido van Rossum <guido at python.org> wrote:
>> > If we had this built-in, then including ipaddr in the stdlib as it currently
>> > stands would be a no-brainer, even with a suboptimal API.  It would get lots
>> > of testing, and a completely different API could be designed for Python 3.4
>> > without break packages that relied on the old API.  Python's deprecation
>> > policy could be adjusted to include diminishing support for older versions of
>> > a module in the stdlib, and we'd avoid ugliness like unittest2 and such.
>> You sound like you have a solution for using multiple versions of an
>> API in the same program. Do you? Then out with it! Otherwise, no, it
>> wouldn't be a no-brainer.
> But couldn't __experimental__ also mean we don't guarantee API
> stability (until the module leaves the __experimental__ namespace)?

Yes, to some extent. My specific proposal is that experimental (by
whatever name) would not change APIs in bugfix release, but would
(potentially) change APIs in "major" releases (e.g. 3.3 -> 3.4(*)).

(*) Can we pick a terminology so we all agree that "3.3.3" is a "minor
release", "3.3" is a "major release", and "3" an "earthshattering
release"? Or other terms -- but something that is both agreed upon and
clear enough without explanation. I'm tired of having to clarify minor
and major every time I use them out of fear they'll be mistaken for
"3" and "3.3".

--Guido van Rossum (python.org/~guido)

More information about the Python-ideas mailing list