[Python-Dev] Pronouncement needed in issue9675

Guido van Rossum guido at python.org
Tue Sep 28 15:49:24 CEST 2010

On Mon, Sep 27, 2010 at 7:44 PM, Jesus Cea <jcea at jcea.es> wrote:
> http://bugs.python.org/issue9675
> Long history sort: Python 2.7 backported Capsule support and
> (incorrectly, in my opinion) marked CObject as deprecated.
> All C modules in the stdlib were updated to Capsule (with a CObject
> compatibility layer), except BSDDB, because this change was done late in
> the cycle, the proposed patch was buggy (solvable) and a pronouncement
> was done that CObject was not actually deprecated.
> But in python 2.7 release, CObject is marked as deprecated (arg!), so
> when executing python with -We (mark warnings as errors), bsddb fails.
> Since I think that adopting Capsule in BSDDB for 2.7.1 would break the
> API compatibility (maybe the CObject proxy would solve this), and since
> a previous pronouncement was done abour CObject not-deprecated in 2.7.x,
> I would like comments.
> Long history and links to previous pronouncements in
> http://bugs.python.org/issue9675
> My proposal: CObject should not be marked as deprecated in 2.7.1.

It strikes me that in general deprecation warnings in 2.7 don't do
anybody any good unless they're Py3k warnings. It sounds to me that
there is no shame in removing the warning in Python 2.7 (or turning it
into a Py3k warning -- nobody should expect their code to behave well
when Py3k warnings are turned into errors). My guess is that the
warning was added to 2.7 before it was clear that there would never be
a 2.8.

At the same time I don't want to go so far as to remove all remaining
deprecation warnings from 2.7.1 (too  much churn) -- but for this
specific one it sounds like a reasonable compromise.

--Guido van Rossum (python.org/~guido)

More information about the Python-Dev mailing list