<!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.&nbsp;
    (Well, hacked up CObject to give it a new API.)<br>
    <br>
    PyCObject_AsVoidPtr emitted a PendingDeprecationWarning in 3.1.&nbsp; I
    was surprised when it was removed completely in trunk shortly after
    the release of 3.1.&nbsp; I thought it was supposed to get promoted to
    DeprecationWarning in 3.2 and then removed in 3.3.&nbsp; 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.&nbsp; Nick Coghlan brought this matter to my
    attention just this morning.<br>
    <br>
    The PyCapsule API is very much like the CObject API.&nbsp; In fact, in
    Python 3.1 CObject was actually implemented on top of PyCapsule.&nbsp; It
    should be very easy to support both APIs.<br>
    <br>
    Are you still at PyCon?&nbsp; 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.&nbsp; I expect
    the PEP to discuss coping strategies on how to simultaneously
    support 2.6 and 3.2.&nbsp; 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>