<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
<br>
On 03/09/2011 01:15 AM, Stefan Behnel wrote:
<blockquote cite="mid:il75tb$c8s$1@dough.gmane.org" type="cite">I
can confirm that the Cython project was as surprised of the
PyCapsule change in Python 3.2 as (I guess) most other users,</blockquote>
<br>
I was a bit surprised by it too, and I wrote the Capsule object.
(Well, hacked up CObject to give it a new API.)<br>
<br>
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.<br>
<br>
<br>
On 03/14/2011 06:30 PM, Lennart Regebro wrote:<br>
<blockquote
cite="mid:AANLkTimjfiJ6r8vcYgMXwqbmb4TtfhYSP2-kMZ-sqZ-F@mail.gmail.com"
type="cite">
<pre wrap="">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.
</pre>
</blockquote>
<br>
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.<br>
<br>
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.<br>
<br>
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.<br>
<br>
<blockquote
cite="mid:AANLkTimjfiJ6r8vcYgMXwqbmb4TtfhYSP2-kMZ-sqZ-F@mail.gmail.com"
type="cite">
<pre wrap="">**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!**
</pre>
</blockquote>
<br>
The one-year deprecation period seems to be in keeping with PEP 5,
which states<span class="Apple-style-span" style="border-collapse:
separate; color: rgb(0, 0, 0); font-family:
Arial,Verdana,Geneva,'Bitstream Vera Sans',Helvetica,sans-serif;
font-size: 16px; font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal; line-height: normal;
orphans: 2; text-indent: 0px; text-transform: none; white-space:
normal; widows: 2; word-spacing: 0px;"><span
class="Apple-style-span" style="font-size: 15px; line-height:
17px;"><br>
</span></span>
<blockquote>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.<br>
</blockquote>
<span class="Apple-style-span" style="border-collapse: separate;
color: rgb(0, 0, 0); font-family: Arial,Verdana,Geneva,'Bitstream
Vera Sans',Helvetica,sans-serif; font-size: 16px; font-style:
normal; font-variant: normal; font-weight: normal; letter-spacing:
normal; line-height: normal; orphans: 2; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px;"><span class="Apple-style-span"
style="font-size: 15px; line-height: 17px;"><br>
</span></span>
<blockquote
cite="mid:AANLkTimjfiJ6r8vcYgMXwqbmb4TtfhYSP2-kMZ-sqZ-F@mail.gmail.com"
type="cite">
<pre wrap="">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.</pre>
</blockquote>
<br>
I'm not a release manager for Python but I suspect this is unlikely.<br>
<br>
<br>
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.<br>
<br>
Personally I'm hoping the PEP will be rejected ;)<br>
<br>
<br>
<i>larry</i><br>
</body>
</html>