On 03/09/2011 01:15 AM, Stefan Behnel wrote:
I can confirm that the Cython project was as surprised of the PyCapsule change in Python 3.2 as (I guess) most other users,

I was a bit surprised by it too, and I wrote the Capsule object. (Well, hacked up CObject to give it a new API.)

PyCObject_AsVoidPtr emitted a PendingDeprecationWarning in 3.1. I was surprised when it was removed completely in trunk shortly after the release of 3.1. I thought it was supposed to get promoted to DeprecationWarning in 3.2 and then removed in 3.3. But I'm not totally familiar with the policy subtleties of CPython, and the CObject API had enough flaws that I was happy to see it gone, so I kept a still tongue.


On 03/14/2011 06:30 PM, Lennart Regebro wrote:
But if I move the PyCObject API to the PyCapsule
API, the zope packages will **only work on Python 2.7 and 3.2**. This
is obviously not an option. If I do *not* switch, I can't support
Python 3.2. That's bad.

Sorry I didn't see your email until just now; I've been tuning out python-dev for a while. Nick Coghlan brought this matter to my attention just this morning.

The PyCapsule API is very much like the CObject API. In fact, in Python 3.1 CObject was actually implemented on top of PyCapsule. It should be very easy to support both APIs.

Are you still at PyCon? I'm in the core / hg room, and I'd be happy to help you get this code working for both 2.6 and 3.2.

**We can't deprecate an API in one version and drop the API in the
next. This is not acceptable. The deprecation period must be much
longer!**

The one-year deprecation period seems to be in keeping with PEP 5, which states

   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.


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.

I'm not a release manager for Python but I suspect this is unlikely.


Nick has convinced me that I should create the world's first "temporal inversion" PEP, discussing the justification for adding the Capsule API and (eventually) removing the CObject API. I expect the PEP to discuss coping strategies on how to simultaneously support 2.6 and 3.2. I'm enjoying PyCon too much to write the PEP this week, but I expect I can have a draft up next week.

Personally I'm hoping the PEP will be rejected ;)


/larry/
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to