msg237548 - (view) |
Author: Serhiy Storchaka (serhiy.storchaka) *  |
Date: 2015-03-08 17:50 |
Proposed patch allows Python implementation of the pickle module to pickle nested names (e.g. methods) with protocols < 4. Pickled data is compatible with old releases. If this is good I'll write C implementation. |
|
|
msg237567 - (view) |
Author: Serhiy Storchaka (serhiy.storchaka) *  |
Date: 2015-03-08 20:45 |
Fixed few bugs and added C implementation. |
|
|
msg237568 - (view) |
Author: Antoine Pitrou (pitrou) *  |
Date: 2015-03-08 20:50 |
Interesting. I have only skimmed through the patch, but +1 on the principle. |
|
|
msg239362 - (view) |
Author: STINNER Victor (vstinner) *  |
Date: 2015-03-26 23:08 |
Hum, I don't know well the pickle module. Is it backward compatible? Should Python 2 be able to unserialize data serialized by Python 3? If yes, can you patch break this compatibility? It is unclear to me if it makes sense to even modify protocols different than the latest version. |
|
|
msg239364 - (view) |
Author: Serhiy Storchaka (serhiy.storchaka) *  |
Date: 2015-03-26 23:17 |
Pickle is backward compatible and Python 2 usually is able to unpickle data pickled by Python 3 with protocol < 3. The patch doesn't break compatibility. Current default protocol is 3 for compatibility with older Python 3 versions. It is used in multiprocessing and this is not configurable. |
|
|
msg239368 - (view) |
Author: STINNER Victor (vstinner) *  |
Date: 2015-03-27 00:25 |
> It is used in multiprocessing and this is not configurable. Oh, it would be nice to switch to version 4 by default, or make it configurable. I read that the version 4 is faster. |
|
|
msg239389 - (view) |
Author: Serhiy Storchaka (serhiy.storchaka) *  |
Date: 2015-03-27 12:13 |
Issue23403. But looks it is early yet for this. Note that this patch doesn't modify protocols. It just makes the pickler more smart and able to serialize more objects with existing protocols. It is the same as add pickle support for some type that didn't support the pickling before. |
|
|
msg239683 - (view) |
Author: Roundup Robot (python-dev)  |
Date: 2015-03-31 11:09 |
New changeset ca12465418bd by Serhiy Storchaka in branch 'default': Issue #23611: Serializing more "lookupable" objects (such as unbound methods https://hg.python.org/cpython/rev/ca12465418bd |
|
|
msg239711 - (view) |
Author: Roundup Robot (python-dev)  |
Date: 2015-03-31 13:58 |
New changeset f78b9f700d45 by Serhiy Storchaka in branch 'default': Issue #23611: Fixed enums pickling tests. Now all picklings work with all https://hg.python.org/cpython/rev/f78b9f700d45 |
|
|