summaryrefslogtreecommitdiffstats
path: root/Lib/pickle.py
Commit message (Collapse)AuthorAgeFilesLines
* Issue #6784: Strings from Python 2 can now be unpickled as bytes objects.Alexandre Vassalotti2013-12-071-29/+42
| | | | | | | Initial patch by Merlijn van Deen. I've added a few unrelated docstring fixes in the patch while I was at it, which makes the documentation for pickle a bit more consistent.
* Issue #6477: Merge with 3.3.Alexandre Vassalotti2013-12-011-1/+10
|\
| * Issue #6477: Added support for pickling the types of built-in singletons.Alexandre Vassalotti2013-12-011-1/+10
| |
* | Make Ellipsis and NotImplemented picklable through the reduce protocol.Alexandre Vassalotti2013-11-241-8/+0
| |
* | Make built-in methods picklable through the reduce protocol.Alexandre Vassalotti2013-11-241-8/+1
| |
* | Make framing optional in pickle protocol 4.Alexandre Vassalotti2013-11-241-71/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow us to control in the future whether to use framing or not. For example, we may want to turn it off for tiny pickle where it doesn't help. The change also improves performance slightly: ### fastpickle ### Min: 0.608517 -> 0.557358: 1.09x faster Avg: 0.798892 -> 0.694738: 1.15x faster Significant (t=3.45) Stddev: 0.17145 -> 0.12704: 1.3496x smaller Timeline: http://goo.gl/3xQE1J ### pickle_dict ### Min: 0.669920 -> 0.615271: 1.09x faster Avg: 0.733633 -> 0.645058: 1.14x faster Significant (t=5.05) Stddev: 0.12041 -> 0.02961: 4.0662x smaller Timeline: http://goo.gl/LpLSXI ### pickle_list ### Min: 0.397583 -> 0.368112: 1.08x faster Avg: 0.412784 -> 0.397223: 1.04x faster Significant (t=2.78) Stddev: 0.01518 -> 0.03653: 2.4068x larger Timeline: http://goo.gl/v39E59 ### unpickle_list ### Min: 0.692935 -> 0.594870: 1.16x faster Avg: 0.730012 -> 0.628395: 1.16x faster Significant (t=17.76) Stddev: 0.02720 -> 0.02995: 1.1012x larger Timeline: http://goo.gl/2P9AEt The following not significant results are hidden, use -v to show them: fastunpickle.
* | Issue #17810: Implement PEP 3154, pickle protocol 4.Antoine Pitrou2013-11-231-154/+428
| | | | | | | | Most of the work is by Alexandre.
* | Issue #18783: Removed existing mentions of Python long type in docstrings,Serhiy Storchaka2013-08-271-2/+2
|\ \ | |/ | | | | error messages and comments.
| * Issue #18783: Removed existing mentions of Python long type in docstrings,Serhiy Storchaka2013-08-271-2/+2
| | | | | | | | error messages and comments.
* | Issue #18200: Back out usage of ModuleNotFoundError (8d28d44f3a9a)Brett Cannon2013-07-041-2/+2
| |
* | Issue #18200: Update the stdlib (except tests) to useBrett Cannon2013-06-141-2/+2
| | | | | | | | ModuleNotFoundError.
* | Merge 3.3Alexandre Vassalotti2013-04-201-2/+8
|\ \ | |/
| * Isuse #17720: Fix APPENDS handling in the Python implementation of UnpicklerAlexandre Vassalotti2013-04-201-2/+8
| | | | | | | | to correctly process the opcode when it is used on non-list objects.
* | Make C and Python implementations of pickle load STRING opcodes the same way.Alexandre Vassalotti2013-04-161-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | The C version tried to remove trailing whitespace between the last quote and the newline character. I am not sure why it had this because pickle never generated such pickles---for this to happen repr(some_string) would need to return trailing whitespace. It was maybe there to make it easier for people to write pickles in text editors. Anyhow, the Python version doesn't do this so there is no point keeping this around anymore. Also, I've changed the exception raised when a bad pickle is encountered. Again this unlikely to make much difference to anyone though it does make testing slightly nicer for us.
* | Issue #17710: Fix pickle raising a SystemError on bogus input.Antoine Pitrou2013-04-151-1/+1
|\ \ | |/
| * Issue #17710: Fix pickle raising a SystemError on bogus input.Antoine Pitrou2013-04-151-1/+1
| |
* | Closes #16551. Cleanup pickle.py.Serhiy Storchaka2013-04-141-138/+85
| |
* | Style cleanups for pickle.py and _pickle.Alexandre Vassalotti2013-04-141-5/+7
|/
* Issue #12848: The pure Python pickle implementation now treats object ↵Antoine Pitrou2012-11-241-13/+26
|\ | | | | | | | | | | lengths as unsigned 32-bit integers, like the C implementation does. Patch by Serhiy Storchaka.
| * Issue #12848: The pure Python pickle implementation now treats object ↵Antoine Pitrou2012-11-241-13/+26
| | | | | | | | | | | | lengths as unsigned 32-bit integers, like the C implementation does. Patch by Serhiy Storchaka.
* | Fixes #13842: cannot pickle Ellipsis or NotImplemented.Łukasz Langa2012-03-121-0/+8
| | | | | | | | Thanks for James Sanders for the bug report and the patch.
* | Issue #14166: Pickler objects now have an optional `dispatch_table` ↵Antoine Pitrou2012-03-041-2/+2
| | | | | | | | | | | | attribute which allows to set custom per-pickler reduction functions. Patch by sbt.
* | Merge 3.2Alexandre Vassalotti2011-12-131-1/+5
|\ \ | |/
| * Issue #13505: Make pickling of bytes object compatible with Python 2.Alexandre Vassalotti2011-12-131-1/+5
| | | | | | | | Initial patch by sbt.
* | Issue #13575: there is only one class type.Florent Xicluna2011-12-121-1/+1
| |
* | Remove redundant imports.Florent Xicluna2011-11-041-1/+1
| |
* | Merge 3.2Florent Xicluna2011-10-281-1/+1
|\ \ | |/
| * Closes #13258: Use callable() built-in in the standard library.Florent Xicluna2011-10-281-1/+1
| |
* | Issue #7689: Allow pickling of dynamically created classes when theirAntoine Pitrou2011-10-041-9/+9
|\ \ | |/ | | | | | | metaclass is registered with copyreg. Patch by Nicolas M. Thiéry and Craig Citro.
| * Issue #7689: Allow pickling of dynamically created classes when theirAntoine Pitrou2011-10-041-9/+9
| | | | | | | | | | metaclass is registered with copyreg. Patch by Nicolas M. Thiéry and Craig Citro.
* | Issue #12847: Fix a crash with negative PUT and LONG_BINPUT arguments inAntoine Pitrou2011-08-291-0/+6
|\ \ | |/ | | | | the C pickle implementation.
| * Issue #12847: Fix a crash with negative PUT and LONG_BINPUT arguments inAntoine Pitrou2011-08-291-0/+6
| | | | | | | | the C pickle implementation.
* | remove __version__s dependent on subversion keyword expansion (closes #12221)Benjamin Peterson2011-06-011-2/+0
|/
* Issue #9410: Various optimizations to the pickle module, leading toAntoine Pitrou2010-09-091-6/+6
| | | | | speedups up to 4x (depending on the benchmark). Mostly ported from Unladen Swallow; initial patch by Alexandre Vassalotti.
* Issue #9378: python -m pickle <pickle file> will now load and displayAlexander Belopolsky2010-07-271-1/+23
| | | | the first object in the pickle file.
* Issue #5180: Fixed a bug that prevented loading 2.x pickles in 3.xAlexander Belopolsky2010-07-171-16/+5
| | | | python when they contain instances of old-style classes.
* Issue #8383: pickle and pickletools use surrogatepass error handler whenVictor Stinner2010-04-131-2/+2
| | | | | encoding unicode as utf8 to support lone surrogates and stay compatible with Python 2.x and 3.0
* Simplified long coding in pickle.py.Alexandre Vassalotti2010-01-121-51/+7
|
* Issue #6137: The pickle module now translates module names when loadingAntoine Pitrou2009-06-041-16/+40
| | | | | | or dumping pickles with a 2.x-compatible protocol, in order to make data sharing and migration easier. This behaviour can be disabled using the new `fix_imports` optional argument.
* Only try to intern str objects when unpickling attributes.Alexandre Vassalotti2009-05-251-8/+6
| | | | This matches the behaviour implmented in _pickle.
* Merged revisions 72223 via svnmerge fromAntoine Pitrou2009-05-021-1/+9
| | | | | | | | | | | | svn+ssh://pythondev@svn.python.org/python/trunk ........ r72223 | antoine.pitrou | 2009-05-02 23:13:23 +0200 (sam., 02 mai 2009) | 5 lines Isue #5084: unpickling now interns the attribute names of pickled objects, saving memory and avoiding growth in size of subsequent pickles. Proposal and original patch by Jake McGuire. ........
* Issue #4842, patch 1/2: fix pickle in Python 3.x so that pickling with theMark Dickinson2009-01-201-1/+3
| | | | | | 'L' opcode always appends an 'L' on output, just as 2.x does. When unpickling, remove the trailing 'L' (if present) before passing the result to PyLong_FromString.
* fix typo #4904Benjamin Peterson2009-01-101-1/+1
|
* Fix issue #4374: Pickle tests fail w/o _pickle extension.Alexandre Vassalotti2008-12-271-0/+10
| | | | Add an initialization check to mimic the interface of _pickle.
* Sorry, r67092 is commit miss....Hirokazu Yamamoto2008-11-041-13/+0
|
* Blocked revisions 67002 via svnmergeHirokazu Yamamoto2008-11-041-0/+13
| | | | | | | | ........ r67002 | hirokazu.yamamoto | 2008-10-23 09:37:33 +0900 | 1 line Issue #4183: Some tests didn't run with pickle.HIGHEST_PROTOCOL. ........
* Remove a confusing statement in Pickler's docstring.Alexandre Vassalotti2008-10-251-2/+0
| | | | Pickler does not read anything from the given file.
* Restore _pickle module accelerator module.Alexandre Vassalotti2008-06-121-83/+71
| | | | | Removed Windows support temporarily. 64bit bug with integer unpickling is now fixed.
* revert the addition of _pickle because it was causing havok with 64-bitBenjamin Peterson2008-06-121-71/+83
|
* Removed exception renaming cruft in pickle.py.Alexandre Vassalotti2008-06-111-3/+0
|