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