[Python-Dev] public visibility of python-dev decisions "before it's too late"

Lennart Regebro regebro at gmail.com
Tue Mar 15 16:01:37 CET 2011

On Tue, Mar 15, 2011 at 09:20, "Martin v. Löwis" <martin at v.loewis.de> wrote:
>> In fact, since the deprecation in the Python 2 line happened in 2.7,
>> the deprecation period of this API in practice was between July 3rd
>> 2010 and February 20 2011. That is a deprecation period of somewhat
>> longer than seven months. Nobody obviously though 2.6 was out of
>> practical use by now, so why did you decide to remove one if it's
>> API's?
> Python 2.6's API wasn't removed in 2.7. It remains available.

But not in 3.2. And the new API appeared in 2.7. That is a deprecation
period of seven and a half months.

> If you go from 2.7 to 3.2, you should expect things to break. That's
> why the major version changed.

And 3.1 to 3.2? There is no major version break there.

> For 3.x, as Reid points out, the API was deprecated in 3.1, so the
> deprecation period was rather 19 months, not 7.

Yes, but we are now in a period of parallell support for Python 2 and
Python 3. So it doesn't work like that. We need to support both Python
2 and Python 3 at the same time. Therefore, the deprecation period was
seven and a half month, because it was impossible to support the new
API before, and impossible to support the new API after, if you need
to support both Python 2 and Python 3.

>> Let's make no bones about this: The PyCObject API should *not* have
>> been removed in 3.2. In fact, the removal should be reversed, and
>> 3.2.1 should be released ASAP, making 3.2 a moot and unsupported
>> version.
> This change conforms to PEP 5:
> "There must be at least a one-year transition period between the
> release of the transitional version of Python and the release
> of the backwards incompatible version.  Users will have at
> least a year to test their programs and migrate them from use
> of the deprecated construct to the alternative one."

It is too short, and so is 19 months, but this change does *not* conform.


More information about the Python-Dev mailing list