On Thu, Jan 3, 2013 at 6:43 AM, Benjamin Peterson <benja...@python.org>wrote:
> 2013/1/3 Eli Bendersky <eli...@gmail.com>: > > > > > >> >> > >> >> 2013/1/1 Eli Bendersky <eli...@gmail.com>: > >> >> > Hello and happy 2013, > >> >> > > >> >> > Something I noticed earlier today is that some C versions of stdlib > >> >> > modules > >> >> > define their name similarly to the Python version in their > >> >> > PyTypeObject. > >> >> > Some examples: Decimal, xml.etree's Element. Others prepend an > >> >> > understore, > >> >> > like _pickle.Pickler and many others. > >> >> > > >> >> > >> >> I don't it's terribly important except if the object from the C > module > >> >> is directly exposed through the API it's nicer if it's __name__ > >> >> doesn't have a leading underscore. > >> > > > > > > > As a followup question: would it be considered a compatibility-breaking > > change to rename PyTypeObject names? As a concrete example, in > > Modules/_elementtree.c the name of Element_Type (essentially the > > xml.etree.ElementTree.Element replacement in C) is "Element". For the > > purpose of pickling/unpickling it should be named "_elementtree.Element" > or > > "xml.etree.ElementTree.Element" or some such thing. Can such a change be > > made between 3.3 and 3.4? Between 3.3 and 3.3.1? > > I don't know much about etree. Can you pickle Element? > etree has a C accelerator that was improved and extended in 3.3 and was made the default when importing etree. But a regression (issue #16076) occurs because _elementree.Element has no pickling support, while the Python version does by default (being a plain Python class). In the aforementioned issue we're trying to resolve the strategy for supporting pickling for _elementtree.Element. I hope my understanding of unpickling is correct - it does need a class name to find the module that can unpickle the object, right? If this is correct, than such a change (name of the type) may be required to solve the regression between 3.3 and 3.3.1 Eli
_______________________________________________ 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