Commit graph

108 commits

Author SHA1 Message Date
Hugo van Kemenade
4ac916ae33
gh-130645: Add color to stdlib argparse CLIs (gh-133380) 2025-05-05 19:46:46 +02:00
Semyon Moroz
85c04f80fd
gh-93096: Update and document pickletools CLI (#131273) 2025-03-17 09:36:30 +00:00
donBarbos
3ddf983afd
gh-93096: Remove -t and -v flags from pickletools cli (#131039)
Remove `python -m pickletools -t`
2025-03-11 12:06:26 +01:00
Serhiy Storchaka
eaf2171082
gh-126997: Fix support of non-ASCII strings in pickletools (GH-127062)
* Fix support of STRING and GLOBAL opcodes with non-ASCII arguments.
* dis() now outputs non-ASCII bytes in STRING, BINSTRING and
  SHORT_BINSTRING arguments as escaped (\xXX).
2024-11-21 13:15:12 +02:00
Serhiy Storchaka
5414b97ce2
gh-123309: Remove check for redefined memo entry in pickletools.dis() (GH-123374)
Such pickles are supported by the Unpickler even if the Pickler does not
produce them.
2024-08-31 16:21:49 +03:00
Justin Applegate
4a7f63869a
gh-115146: Fix typo in pickletools.py documentation (GH-115148) 2024-02-08 10:12:58 +02:00
Serhiy Storchaka
bd754b93ca
gh-85567: Fix resouce warnings in pickle and pickletools CLIs (GH-113618)
Explicitly open and close files instead of using FileType.
2024-01-06 00:12:34 +02:00
Antoine Pitrou
91f4380ced
bpo-36785: PEP 574 implementation (GH-7076) 2019-05-26 17:10:09 +02:00
Krzysztof Wroblewski
488cfb78c8 Fix pickletools doc for NEWFALSE. (GH-9432)
Also make docs for NEWFALSE and NEWTRUE more consistent
with docs for other opcodes.
2018-09-22 18:13:53 +03:00
Olivier Grisel
3cd7c6e6eb bpo-31993: Do not allocate large temporary buffers in pickle dump. (#4353)
The picklers do no longer allocate temporary memory when dumping large
bytes and str objects into a file object. Instead the data is
directly streamed into the underlying file object.

Previously the C implementation would buffer all content and issue a
single call to file.write() at the end of the dump. With protocol 4
this behavior has changed to issue one call to file.write() per frame.

The Python pickler with protocol 4 now dumps each frame content as a
memoryview to an IOBytes instance that is never reused and the
memoryview is no longer released after the call to write. This makes it
possible for the file object to delay access to the memoryview of
previous frames without forcing any additional memory copy as was
already possible with the C pickler.
2018-01-06 17:18:54 +02:00
Serhiy Storchaka
3daaafb700
bpo-32037: Use the INT opcode for 32-bit integers in protocol 0 pickles. (#4407) 2017-11-16 09:44:43 +02:00
Jelle Zijlstra
5a4e3d8f9c bpo-30174: Remove duplicate definition from pickletools (#1301)
There were two almost identical definitions of bytes1.
2017-04-27 19:05:26 +03:00
Serhiy Storchaka
5f1a5187f7 Use sequence repetition instead of bytes constructor with integer argument. 2016-09-11 14:41:02 +03:00
Martin Panter
1ce738e08f Merge typo fixes from 3.5 2016-05-08 14:02:35 +00:00
Martin Panter
4c35964b76 Corrections for a/an in code comments and documentation 2016-05-08 13:53:41 +00:00
Benjamin Peterson
860c8a404a merge 3.5 (#25502) 2015-10-28 23:15:22 -07:00
Benjamin Peterson
669ff66c32 remove duplicated imports (closes #25502) 2015-10-28 23:15:13 -07:00
Serhiy Storchaka
dbc517c2dd Issue #25382: pickletools.dis() now outputs implicit memo index for the
MEMOIZE opcode.
2015-10-13 21:20:14 +03:00
Serhiy Storchaka
5805ddeedb Issue #25380: Fixed protocol for the STACK_GLOBAL opcode in
pickletools.opcodes.
2015-10-13 21:12:32 +03:00
Serhiy Storchaka
05dadcfb28 Issue #19858: pickletools.optimize() now aware of the MEMOIZE opcode, can
produce more compact result and no longer produces invalid output if input
data contains MEMOIZE opcodes together with PUT or BINPUT opcodes.
2014-12-16 18:00:56 +02:00
Alexandre Vassalotti
d05c9ff845 Issue #6784: Strings from Python 2 can now be unpickled as bytes objects.
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.
2013-12-07 01:09:27 -08:00
Alexandre Vassalotti
02066d3fbd Issue #19754: Fix typo. 2013-12-01 16:31:49 -08:00
Alexandre Vassalotti
28d271ef6b Issue #19754: Make pickletools.optimize respect the frame size target. 2013-12-01 16:27:46 -08:00
Gregory P. Smith
057e58dc01 Fix test_pickletools.py doctest's on 32-bit platforms. I hate doctests. 2013-11-23 20:40:46 +00:00
Antoine Pitrou
c9dc4a2a8a Issue #17810: Implement PEP 3154, pickle protocol 4.
Most of the work is by Alexandre.
2013-11-23 18:59:12 +01:00
Serhiy Storchaka
46e1ce214b Issue #18783: Removed existing mentions of Python long type in docstrings,
error messages and comments.
2013-08-27 20:17:03 +03:00
Serhiy Storchaka
9594942716 Issue #18783: Removed existing mentions of Python long type in docstrings,
error messages and comments.
2013-08-27 19:40:23 +03:00
Ezio Melotti
9a3777e525 #18705: merge with 3.3. 2013-08-17 15:53:55 +03:00
Ezio Melotti
30b9d5d3af #18705: fix a number of typos. Patch by Févry Thibault. 2013-08-17 15:50:46 +03:00
Alexandre Vassalotti
96d6a78ce0 Merge 3.3 2013-04-14 03:44:47 -07:00
Alexandre Vassalotti
8db89ca56c Issue #16550: Update the opcode descriptions of pickletools to use unsigned
integers where appropriate.  Initial patch by Serhiy Storchaka.
2013-04-14 03:30:35 -07:00
Victor Stinner
765531d2d0 Issue #17516: use comment syntax for comments, instead of multiline string 2013-03-26 01:11:54 +01:00
Alexandre Vassalotti
a23d65ccfe Merge 3.2 2011-12-13 13:22:42 -05:00
Alexandre Vassalotti
3bfc65a25b Issue #13505: Make pickling of bytes object compatible with Python 2.
Initial patch by sbt.
2011-12-13 13:08:09 -05:00
Florent Xicluna
aa6c1d240f Issue #13575: there is only one class type. 2011-12-12 18:54:29 +01:00
Florent Xicluna
2bb96f593a Cleanup code: remove int/long idioms and simplify a while statement. 2011-10-23 22:11:00 +02:00
Ezio Melotti
3b3499ba69 #11565: Merge with 3.1. 2011-03-16 11:35:38 +02:00
Ezio Melotti
13925008dc #11565: Fix several typos. Patch by Piotr Kasprzyk. 2011-03-16 11:05:33 +02:00
Florent Xicluna
b4efb3d81e Merged revisions 83212,83829,83833,83838-83839,83878,84019,84025,84028,84032,84036 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83212 | florent.xicluna | 2010-07-28 18:39:41 +0200 (mer., 28 juil. 2010) | 2 lines

  Syntax cleanup.
........
  r83829 | florent.xicluna | 2010-08-08 18:16:07 +0200 (dim., 08 août 2010) | 2 lines

  Use unittest specific methods for some urllib test cases.  And replace urllib2 with urllib.request in comments.
........
  r83833 | florent.xicluna | 2010-08-08 18:25:27 +0200 (dim., 08 août 2010) | 2 lines

  Add test case for the HTTPResponse being an iterable.  Follow-up of issue #4608.
........
  r83838 | florent.xicluna | 2010-08-08 20:03:44 +0200 (dim., 08 août 2010) | 2 lines

  Typo.
........
  r83839 | florent.xicluna | 2010-08-08 20:06:13 +0200 (dim., 08 août 2010) | 2 lines

  Issue #7564: Skip test_ioctl if another process is attached to /dev/tty.
........
  r83878 | florent.xicluna | 2010-08-09 10:29:08 +0200 (lun., 09 août 2010) | 1 line

  Merge the 2to3 script from /sandbox/trunk/2to3/2to3, revision 72867 (latest).
........
  r84019 | florent.xicluna | 2010-08-14 17:56:42 +0200 (sam., 14 août 2010) | 11 lines

  Merged manually from 2.7 branch to 3.x trunk.

    ------------------------------------------------------------------------
    r79925 | nick.coghlan | 2010-04-10 16:24:36 +0200 (sam. 10 avril 2010)

    Try to turn some buildbots green by allowing test_multiprocessing to
    pass even if it hits the sys.exc_clear code in the threading module, and
    improve the test coverage by making the ctypes dependencies a bit more
    granular (two of the cited ctypes objects don't exist on my system)
    ------------------------------------------------------------------------
........
  r84025 | florent.xicluna | 2010-08-14 18:56:27 +0200 (sam., 14 août 2010) | 1 line

  List Misc/python-config.in in Misc/README.  Fix few typos.
........
  r84028 | florent.xicluna | 2010-08-14 19:02:49 +0200 (sam., 14 août 2010) | 1 line

  Fix order.
........
  r84032 | florent.xicluna | 2010-08-14 19:15:31 +0200 (sam., 14 août 2010) | 1 line

  Convert to spaces.
........
  r84036 | florent.xicluna | 2010-08-14 20:03:19 +0200 (sam., 14 août 2010) | 1 line

  Remove bad merge (from svnmerge r82301)
........
2010-08-14 18:24:40 +00:00
Florent Xicluna
02ea12b291 Syntax cleanup. 2010-07-28 16:39:41 +00:00
Alexander Belopolsky
929d384058 Issue #9268: Add annotation option to pickletools.dis 2010-07-17 15:51:21 +00:00
Alexander Belopolsky
bd39f9553a Merged revisions 82915 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r82915 | alexander.belopolsky | 2010-07-16 10:39:45 -0400 (Fri, 16 Jul 2010) | 1 line

  Corrected TUPLE<N> opcodes' docs.
........
2010-07-16 14:52:25 +00:00
Alexander Belopolsky
44c2ffd38f Corrected TUPLE<N> opcodes' docs. 2010-07-16 14:39:45 +00:00
Alexander Belopolsky
60c762b77a Issue #9094: Make python -m pickletools disassemble pickles given in
the command line.
2010-07-03 20:35:53 +00:00
Victor Stinner
f7351b40b5 Merged revisions 80031 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r80031 | victor.stinner | 2010-04-13 13:07:24 +0200 (mar., 13 avril 2010) | 4 lines

  Issue #8383: pickle and pickletools use surrogatepass error handler when
  encoding unicode as utf8 to support lone surrogates and stay compatible with
  Python 2.x and 3.0
........
2010-04-13 11:09:22 +00:00
Victor Stinner
485fb56eb8 Issue #8383: pickle and pickletools use surrogatepass error handler when
encoding unicode as utf8 to support lone surrogates and stay compatible with
Python 2.x and 3.0
2010-04-13 11:07:24 +00:00
Antoine Pitrou
d9dfaa9487 Issue #6137: The pickle module now translates module names when loading
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.
2009-06-04 20:32:06 +00:00
Collin Winter
e61d4372ed Merge r72792: POP_MARK was not in pickle protocol 0, SHORT_BINBYTES was not in protocol 1. 2009-05-20 17:46:47 +00:00
Mark Dickinson
cddcf444b2 Merged revisions 68903,68906 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68903 | mark.dickinson | 2009-01-24 16:40:29 +0000 (Sat, 24 Jan 2009) | 5 lines

  Issue #1672332: Fix unpickling of subnormal floats, which was raising
  ValueError on some platforms as a result of the platform strtod setting
  errno on underflow.
........
  r68906 | mark.dickinson | 2009-01-24 21:08:38 +0000 (Sat, 24 Jan 2009) | 2 lines

  Issue #3657: fix occasional test_pickletools failures.
........
2009-01-24 21:46:33 +00:00
Mark Dickinson
8dd05147d6 Issue #4842, patch 1/2: fix pickle in Python 3.x so that pickling with the
'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.
2009-01-20 20:43:58 +00:00