[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: [Python-Dev] folding cElementTree behind ElementTree in 3.3 Nick Coghlan Mon Feb 13 21:00:11 2012

On Tue, Feb 14, 2012 at 1:42 PM, Eli Bendersky <[EMAIL PROTECTED]> wrote:
> An open question remains on whether to deprecate cElementTree, now that this
> change is in place.
> Currently in 3.3 the whole cElementTree module is:
>   # Deprecated alias for xml.etree.ElementTree
>   from xml.etree.ElementTree import *
> Would it be alright to issue a DeprecationWarning if this module is
> imported? Then hopefully a couple of releases after 3.3 we can just dump it.

What do we really gain by dumping it, though? Just add a CPython
specific test that ensures:

    for key, value in xml.etree.ElementTree.__dict__.items():
        self.assertIs(getattr(xml.etree.cElementTree, key), value)

and then ignore it for the next decade or so.

Programmatic deprecation is a significant imposition on third party
developers and should really be reserved for APIs that actively
encourage writing broken code (e.g. contextlib.nested) or are
seriously problematic for python-dev to maintain. For cleanup stuff,
documented deprecation is sufficient.

Something that might be worth doing (although it would likely scare
the peanut gallery) is to create a PEP 4000 to record the various
cleanup tasks (like dropping cElementTree) that are being deliberately
excluded from the 3.x series.


Nick Coghlan   |   [EMAIL PROTECTED] |   Brisbane, Australia
Python-Dev mailing list