[Python-Dev] PyTypeObject type names in Modules/

Benjamin Peterson benjamin at python.org
Thu Jan 3 23:43:39 CET 2013


2013/1/3 Eli Bendersky <eliben at gmail.com>:
>
>
>
> On Thu, Jan 3, 2013 at 6:50 AM, Benjamin Peterson <benjamin at python.org>
> wrote:
>>
>> 2013/1/3 Eli Bendersky <eliben at gmail.com>:
>> > 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
>>
>> Yes, but you're probably going to have to do more than change the
>> class name in order for pickling to work for C types.
>
>
> Yes, of course. All of that is already implemented in patches Daniel Shahaf
> has submitted to the issue. The "controversial" question here is whether
> it's valid to change the __module__ of the type between 3.3 and 3.3.1 ?

Failure to pickle suddenly is more of a compatibility issue IMO.


-- 
Regards,
Benjamin


More information about the Python-Dev mailing list