parthtamu/rag-code-assistant
0
1<!DOCTYPE html>2 3<html lang="en" data-content_root="../">4 <head>5 <meta charset="utf-8" />6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />7<meta property="og:title" content="pickletools — Tools for pickle developers" />8<meta property="og:type" content="website" />9<meta property="og:url" content="https://docs.python.org/3/library/pickletools.html" />10<meta property="og:site_name" content="Python documentation" />11<meta property="og:description" content="Source code: Lib/pickletools.py This module contains various constants relating to the intimate details of the pickle module, some lengthy comments about the implementation, and a few useful functi..." />12<meta property="og:image:width" content="1146" />13<meta property="og:image:height" content="600" />14<meta property="og:image" content="https://docs.python.org/3.15/_images/social_previews/summary_library_pickletools_7c42ad79.png" />15<meta property="og:image:alt" content="Source code: Lib/pickletools.py This module contains various constants relating to the intimate details of the pickle module, some lengthy comments about the implementation, and a few useful functi..." />16<meta name="description" content="Source code: Lib/pickletools.py This module contains various constants relating to the intimate details of the pickle module, some lengthy comments about the implementation, and a few useful functi..." />17<meta name="twitter:card" content="summary_large_image" />18<meta name="theme-color" content="#3776ab">19 20 <title>pickletools — Tools for pickle developers — Python 3.15.0a6 documentation</title><meta name="viewport" content="width=device-width, initial-scale=1.0">21 22 <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />23 <link rel="stylesheet" type="text/css" href="../_static/classic.css?v=234b1a7c" />24 <link rel="stylesheet" type="text/css" href="../_static/pydoctheme.css?v=89a2f22a" />25 <link rel="stylesheet" type="text/css" href="../_static/profiling-sampling-visualization.css?v=0c2600ae" />26 <link id="pygments_dark_css" media="(prefers-color-scheme: dark)" rel="stylesheet" type="text/css" href="../_static/pygments_dark.css?v=5349f25f" />27 28 <script src="../_static/documentation_options.js?v=6b7c9ff5"></script>29 <script src="../_static/doctools.js?v=9bcbadda"></script>30 <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>31 <script src="../_static/profiling-sampling-visualization.js?v=9811ed04"></script>32 33 <script src="../_static/sidebar.js"></script>34 35 <link rel="search" type="application/opensearchdescription+xml"36 title="Search within Python 3.15.0a6 documentation"37 href="../_static/opensearch.xml"/>38 <link rel="author" title="About these documents" href="../about.html" />39 <link rel="index" title="Index" href="../genindex.html" />40 <link rel="search" title="Search" href="../search.html" />41 <link rel="copyright" title="Copyright" href="../copyright.html" />42 <link rel="next" title="MS Windows Specific Services" href="windows.html" />43 <link rel="prev" title="dis — Disassembler for Python bytecode" href="dis.html" />44 45 46 <script defer file-types="bz2,epub,zip" data-domain="docs.python.org" src="https://analytics.python.org/js/script.file-downloads.outbound-links.js"></script>47 48 <link rel="canonical" href="https://docs.python.org/3/library/pickletools.html">49 50 51 52 53 <style>54 @media only screen {55 table.full-width-table {56 width: 100%;57 }58 }59 </style>60<link rel="stylesheet" href="../_static/pydoctheme_dark.css" media="(prefers-color-scheme: dark)" id="pydoctheme_dark_css">61 <link rel="shortcut icon" type="image/png" href="../_static/py.svg">62 <script type="text/javascript" src="../_static/copybutton.js"></script>63 <script type="text/javascript" src="../_static/menu.js"></script>64 <script type="text/javascript" src="../_static/search-focus.js"></script>65 <script type="text/javascript" src="../_static/themetoggle.js"></script> 66 <script type="text/javascript" src="../_static/rtd_switcher.js"></script>67 <meta name="readthedocs-addons-api-version" content="1">68 69 </head>70<body>71<div class="mobile-nav">72 <input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation"73 aria-pressed="false" aria-expanded="false" role="button" aria-label="Menu">74 <nav class="nav-content" role="navigation">75 <label for="menuToggler" class="toggler__label">76 <span></span>77 </label>78 <span class="nav-items-wrapper">79 <a href="https://www.python.org/" class="nav-logo">80 <img src="../_static/py.svg" alt="Python logo">81 </a>82 <span class="version_switcher_placeholder"></span>83 <form role="search" class="search" action="../search.html" method="get">84 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" class="search-icon">85 <path fill-rule="nonzero" fill="currentColor" d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>86 </svg>87 <input placeholder="Quick search" aria-label="Quick search" type="search" name="q">88 <input type="submit" value="Go">89 </form>90 </span>91 </nav>92 <div class="menu-wrapper">93 <nav class="menu" role="navigation" aria-label="main navigation">94 <div class="language_switcher_placeholder"></div>95 96<label class="theme-selector-label">97 Theme98 <select class="theme-selector" oninput="activateTheme(this.value)">99 <option value="auto" selected>Auto</option>100 <option value="light">Light</option>101 <option value="dark">Dark</option>102 </select>103</label>104 <div>105 <h3><a href="../contents.html">Table of Contents</a></h3>106 <ul>107<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickletools</span></code> — Tools for pickle developers</a><ul>108<li><a class="reference internal" href="#command-line-usage">Command-line usage</a><ul>109<li><a class="reference internal" href="#command-line-options">Command-line options</a></li>110</ul>111</li>112<li><a class="reference internal" href="#programmatic-interface">Programmatic interface</a></li>113</ul>114</li>115</ul>116 117 </div>118 <div>119 <h4>Previous topic</h4>120 <p class="topless"><a href="dis.html"121 title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">dis</span></code> — Disassembler for Python bytecode</a></p>122 </div>123 <div>124 <h4>Next topic</h4>125 <p class="topless"><a href="windows.html"126 title="next chapter">MS Windows Specific Services</a></p>127 </div>128 <script>129 document.addEventListener('DOMContentLoaded', () => {130 const title = document.querySelector('meta[property="og:title"]').content;131 const elements = document.querySelectorAll('.improvepage');132 const pageurl = window.location.href.split('?')[0];133 elements.forEach(element => {134 const url = new URL(element.href.split('?')[0].replace("-nojs", ""));135 url.searchParams.set('pagetitle', title);136 url.searchParams.set('pageurl', pageurl);137 url.searchParams.set('pagesource', "library/pickletools.rst");138 element.href = url.toString();139 });140 });141 </script>142 <div role="note" aria-label="source link">143 <h3>This page</h3>144 <ul class="this-page-menu">145 <li><a href="../bugs.html">Report a bug</a></li>146 <li><a class="improvepage" href="../improve-page-nojs.html">Improve this page</a></li>147 <li>148 <a href="https://github.com/python/cpython/blob/main/Doc/library/pickletools.rst?plain=1"149 rel="nofollow">Show source150 </a>151 </li>152 153 </ul>154 </div>155 </nav>156 </div>157</div>158 159 160 <div class="related" role="navigation" aria-label="Related">161 <h3>Navigation</h3>162 <ul>163 <li class="right" style="margin-right: 10px">164 <a href="../genindex.html" title="General Index"165 accesskey="I">index</a></li>166 <li class="right" >167 <a href="../py-modindex.html" title="Python Module Index"168 >modules</a> |</li>169 <li class="right" >170 <a href="windows.html" title="MS Windows Specific Services"171 accesskey="N">next</a> |</li>172 <li class="right" >173 <a href="dis.html" title="dis — Disassembler for Python bytecode"174 accesskey="P">previous</a> |</li>175 176 <li><img src="../_static/py.svg" alt="Python logo" style="vertical-align: middle; margin-top: -1px"></li>177 <li><a href="https://www.python.org/">Python</a> »</li>178 <li class="switchers">179 <div class="language_switcher_placeholder"></div>180 <div class="version_switcher_placeholder"></div>181 </li>182 <li>183 184 </li>185 <li id="cpython-language-and-version">186 <a href="../index.html">3.15.0a6 Documentation</a> »187 </li>188 189 <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> »</li>190 <li class="nav-item nav-item-2"><a href="language.html" accesskey="U">Python Language Services</a> »</li>191 <li class="nav-item nav-item-this"><a href=""><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickletools</span></code> — Tools for pickle developers</a></li>192 <li class="right">193 194 195 <div class="inline-search" role="search">196 <form class="inline-search" action="../search.html" method="get">197 <input placeholder="Quick search" aria-label="Quick search" type="search" name="q" id="search-box">198 <input type="submit" value="Go">199 </form>200 </div>201 |202 </li>203 <li class="right">204<label class="theme-selector-label">205 Theme206 <select class="theme-selector" oninput="activateTheme(this.value)">207 <option value="auto" selected>Auto</option>208 <option value="light">Light</option>209 <option value="dark">Dark</option>210 </select>211</label> |</li>212 213 </ul>214 </div> 215 216 <div class="document">217 <div class="documentwrapper">218 <div class="bodywrapper">219 <div class="body" role="main">220 221 <section id="module-pickletools">222<span id="pickletools-tools-for-pickle-developers"></span><h1><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickletools</span></code> — Tools for pickle developers<a class="headerlink" href="#module-pickletools" title="Link to this heading">¶</a></h1>223<p><strong>Source code:</strong> <a class="extlink-source reference external" href="https://github.com/python/cpython/tree/main/Lib/pickletools.py">Lib/pickletools.py</a></p>224<hr class="docutils" />225<p>This module contains various constants relating to the intimate details of the226<a class="reference internal" href="pickle.html#module-pickle" title="pickle: Convert Python objects to streams of bytes and back."><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickle</span></code></a> module, some lengthy comments about the implementation, and a227few useful functions for analyzing pickled data. The contents of this module228are useful for Python core developers who are working on the <code class="xref py py-mod docutils literal notranslate"><span class="pre">pickle</span></code>;229ordinary users of the <code class="xref py py-mod docutils literal notranslate"><span class="pre">pickle</span></code> module probably won’t find the230<code class="xref py py-mod docutils literal notranslate"><span class="pre">pickletools</span></code> module relevant.</p>231<section id="command-line-usage">232<span id="pickletools-cli"></span><h2>Command-line usage<a class="headerlink" href="#command-line-usage" title="Link to this heading">¶</a></h2>233<div class="versionadded">234<p><span class="versionmodified added">Added in version 3.2.</span></p>235</div>236<p>When invoked from the command line, <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">pickletools</span></code> will237disassemble the contents of one or more pickle files. Note that if238you want to see the Python object stored in the pickle rather than the239details of pickle format, you may want to use <code class="docutils literal notranslate"><span class="pre">-m</span> <span class="pre">pickle</span></code> instead.240However, when the pickle file that you want to examine comes from an241untrusted source, <code class="docutils literal notranslate"><span class="pre">-m</span> <span class="pre">pickletools</span></code> is a safer option because it does242not execute pickle bytecode.</p>243<p>For example, with a tuple <code class="docutils literal notranslate"><span class="pre">(1,</span> <span class="pre">2)</span></code> pickled in file <code class="docutils literal notranslate"><span class="pre">x.pickle</span></code>:</p>244<div class="highlight-shell-session notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>python<span class="w"> </span>-m<span class="w"> </span>pickle<span class="w"> </span>x.pickle245<span class="gp gp-VirtualEnv">(1, 2)</span>246 247<span class="gp">$ </span>python<span class="w"> </span>-m<span class="w"> </span>pickletools<span class="w"> </span>x.pickle248<span class="go"> 0: \x80 PROTO 3</span>249<span class="go"> 2: K BININT1 1</span>250<span class="go"> 4: K BININT1 2</span>251<span class="go"> 6: \x86 TUPLE2</span>252<span class="go"> 7: q BINPUT 0</span>253<span class="go"> 9: . STOP</span>254<span class="go">highest protocol among opcodes = 2</span>255</pre></div>256</div>257<section id="command-line-options">258<h3>Command-line options<a class="headerlink" href="#command-line-options" title="Link to this heading">¶</a></h3>259<dl class="std option">260<dt class="sig sig-object std" id="cmdoption-pickletools-a">261<span id="cmdoption-pickletools-annotate"></span><span class="sig-name descname"><span class="pre">-a</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--annotate</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-pickletools-a" title="Link to this definition">¶</a></dt>262<dd><p>Annotate each line with a short opcode description.</p>263</dd></dl>264 265<dl class="std option">266<dt class="sig sig-object std" id="cmdoption-pickletools-o">267<span id="cmdoption-pickletools-output"></span><span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--output</span></span><span class="sig-prename descclassname"><span class="pre">=<file></span></span><a class="headerlink" href="#cmdoption-pickletools-o" title="Link to this definition">¶</a></dt>268<dd><p>Name of a file where the output should be written.</p>269</dd></dl>270 271<dl class="std option">272<dt class="sig sig-object std" id="cmdoption-pickletools-l">273<span id="cmdoption-pickletools-indentlevel"></span><span class="sig-name descname"><span class="pre">-l</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--indentlevel</span></span><span class="sig-prename descclassname"><span class="pre">=<num></span></span><a class="headerlink" href="#cmdoption-pickletools-l" title="Link to this definition">¶</a></dt>274<dd><p>The number of blanks by which to indent a new MARK level.</p>275</dd></dl>276 277<dl class="std option">278<dt class="sig sig-object std" id="cmdoption-pickletools-m">279<span id="cmdoption-pickletools-memo"></span><span class="sig-name descname"><span class="pre">-m</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--memo</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-pickletools-m" title="Link to this definition">¶</a></dt>280<dd><p>When multiple objects are disassembled, preserve memo between281disassemblies.</p>282</dd></dl>283 284<dl class="std option">285<dt class="sig sig-object std" id="cmdoption-pickletools-p">286<span id="cmdoption-pickletools-preamble"></span><span class="sig-name descname"><span class="pre">-p</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--preamble</span></span><span class="sig-prename descclassname"><span class="pre">=<preamble></span></span><a class="headerlink" href="#cmdoption-pickletools-p" title="Link to this definition">¶</a></dt>287<dd><p>When more than one pickle file is specified, print given preamble288before each disassembly.</p>289</dd></dl>290 291<dl class="std option">292<dt class="sig sig-object std" id="cmdoption-pickletools-arg-pickle_file">293<span class="sig-name descname"><span class="pre">pickle_file</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-pickletools-arg-pickle_file" title="Link to this definition">¶</a></dt>294<dd><p>A pickle file to read, or <code class="docutils literal notranslate"><span class="pre">-</span></code> to indicate reading from standard input.</p>295</dd></dl>296 297</section>298</section>299<section id="programmatic-interface">300<h2>Programmatic interface<a class="headerlink" href="#programmatic-interface" title="Link to this heading">¶</a></h2>301<dl class="py function">302<dt class="sig sig-object py" id="pickletools.dis">303<span class="sig-prename descclassname"><span class="pre">pickletools.</span></span><span class="sig-name descname"><span class="pre">dis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pickle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">out</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">memo</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">indentlevel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">annotate</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#pickletools.dis" title="Link to this definition">¶</a></dt>304<dd><p>Outputs a symbolic disassembly of the pickle to the file-like305object <em>out</em>, defaulting to <code class="docutils literal notranslate"><span class="pre">sys.stdout</span></code>. <em>pickle</em> can be a306string or a file-like object. <em>memo</em> can be a Python dictionary307that will be used as the pickle’s memo; it can be used to perform308disassemblies across multiple pickles created by the same309pickler. Successive levels, indicated by <code class="docutils literal notranslate"><span class="pre">MARK</span></code> opcodes in the310stream, are indented by <em>indentlevel</em> spaces. If a nonzero value311is given to <em>annotate</em>, each opcode in the output is annotated with312a short description. The value of <em>annotate</em> is used as a hint for313the column where annotation should start.</p>314<div class="versionchanged">315<p><span class="versionmodified changed">Changed in version 3.2: </span>Added the <em>annotate</em> parameter.</p>316</div>317</dd></dl>318 319<dl class="py function">320<dt class="sig sig-object py" id="pickletools.genops">321<span class="sig-prename descclassname"><span class="pre">pickletools.</span></span><span class="sig-name descname"><span class="pre">genops</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pickle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#pickletools.genops" title="Link to this definition">¶</a></dt>322<dd><p>Provides an <a class="reference internal" href="../glossary.html#term-iterator"><span class="xref std std-term">iterator</span></a> over all of the opcodes in a pickle, returning a323sequence of <code class="docutils literal notranslate"><span class="pre">(opcode,</span> <span class="pre">arg,</span> <span class="pre">pos)</span></code> triples. <em>opcode</em> is an instance of an324<code class="xref py py-class docutils literal notranslate"><span class="pre">OpcodeInfo</span></code> class; <em>arg</em> is the decoded value, as a Python object, of325the opcode’s argument; <em>pos</em> is the position at which this opcode is located.326<em>pickle</em> can be a string or a file-like object.</p>327</dd></dl>328 329<dl class="py function">330<dt class="sig sig-object py" id="pickletools.optimize">331<span class="sig-prename descclassname"><span class="pre">pickletools.</span></span><span class="sig-name descname"><span class="pre">optimize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">picklestring</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#pickletools.optimize" title="Link to this definition">¶</a></dt>332<dd><p>Returns a new equivalent pickle string after eliminating unused <code class="docutils literal notranslate"><span class="pre">PUT</span></code>333opcodes. The optimized pickle is shorter, takes less transmission time,334requires less storage space, and unpickles more efficiently.</p>335</dd></dl>336 337</section>338</section>339 340 341 <div class="clearer"></div>342 </div>343 </div>344 </div>345 <div class="sphinxsidebar" role="navigation" aria-label="Main">346 <div class="sphinxsidebarwrapper">347 <div>348 <h3><a href="../contents.html">Table of Contents</a></h3>349 <ul>350<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickletools</span></code> — Tools for pickle developers</a><ul>351<li><a class="reference internal" href="#command-line-usage">Command-line usage</a><ul>352<li><a class="reference internal" href="#command-line-options">Command-line options</a></li>353</ul>354</li>355<li><a class="reference internal" href="#programmatic-interface">Programmatic interface</a></li>356</ul>357</li>358</ul>359 360 </div>361 <div>362 <h4>Previous topic</h4>363 <p class="topless"><a href="dis.html"364 title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">dis</span></code> — Disassembler for Python bytecode</a></p>365 </div>366 <div>367 <h4>Next topic</h4>368 <p class="topless"><a href="windows.html"369 title="next chapter">MS Windows Specific Services</a></p>370 </div>371 <script>372 document.addEventListener('DOMContentLoaded', () => {373 const title = document.querySelector('meta[property="og:title"]').content;374 const elements = document.querySelectorAll('.improvepage');375 const pageurl = window.location.href.split('?')[0];376 elements.forEach(element => {377 const url = new URL(element.href.split('?')[0].replace("-nojs", ""));378 url.searchParams.set('pagetitle', title);379 url.searchParams.set('pageurl', pageurl);380 url.searchParams.set('pagesource', "library/pickletools.rst");381 element.href = url.toString();382 });383 });384 </script>385 <div role="note" aria-label="source link">386 <h3>This page</h3>387 <ul class="this-page-menu">388 <li><a href="../bugs.html">Report a bug</a></li>389 <li><a class="improvepage" href="../improve-page-nojs.html">Improve this page</a></li>390 <li>391 <a href="https://github.com/python/cpython/blob/main/Doc/library/pickletools.rst?plain=1"392 rel="nofollow">Show source393 </a>394 </li>395 396 </ul>397 </div>398 </div>399<div id="sidebarbutton" title="Collapse sidebar">400<span>«</span>401</div>402 403 </div>404 <div class="clearer"></div>405 </div> 406 <div class="related" role="navigation" aria-label="Related">407 <h3>Navigation</h3>408 <ul>409 <li class="right" style="margin-right: 10px">410 <a href="../genindex.html" title="General Index"411 >index</a></li>412 <li class="right" >413 <a href="../py-modindex.html" title="Python Module Index"414 >modules</a> |</li>415 <li class="right" >416 <a href="windows.html" title="MS Windows Specific Services"417 >next</a> |</li>418 <li class="right" >419 <a href="dis.html" title="dis — Disassembler for Python bytecode"420 >previous</a> |</li>421 422 <li><img src="../_static/py.svg" alt="Python logo" style="vertical-align: middle; margin-top: -1px"></li>423 <li><a href="https://www.python.org/">Python</a> »</li>424 <li class="switchers">425 <div class="language_switcher_placeholder"></div>426 <div class="version_switcher_placeholder"></div>427 </li>428 <li>429 430 </li>431 <li id="cpython-language-and-version">432 <a href="../index.html">3.15.0a6 Documentation</a> »433 </li>434 435 <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> »</li>436 <li class="nav-item nav-item-2"><a href="language.html" >Python Language Services</a> »</li>437 <li class="nav-item nav-item-this"><a href=""><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickletools</span></code> — Tools for pickle developers</a></li>438 <li class="right">439 440 441 <div class="inline-search" role="search">442 <form class="inline-search" action="../search.html" method="get">443 <input placeholder="Quick search" aria-label="Quick search" type="search" name="q" id="search-box">444 <input type="submit" value="Go">445 </form>446 </div>447 |448 </li>449 <li class="right">450<label class="theme-selector-label">451 Theme452 <select class="theme-selector" oninput="activateTheme(this.value)">453 <option value="auto" selected>Auto</option>454 <option value="light">Light</option>455 <option value="dark">Dark</option>456 </select>457</label> |</li>458 459 </ul>460 </div> 461 <div class="footer">462 © <a href="../copyright.html">Copyright</a> 2001 Python Software Foundation.463 <br>464 This page is licensed under the Python Software Foundation License Version 2.465 <br>466 Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.467 <br>468 469 See <a href="/license.html">History and License</a> for more information.<br>470 471 472 <br>473 474 The Python Software Foundation is a non-profit corporation.475<a href="https://www.python.org/psf/donations/">Please donate.</a>476<br>477 <br>478 Last updated on Mar 10, 2026 (08:58 UTC).479 480 <a href="/bugs.html">Found a bug</a>?481 482 <br>483 484 Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.485 </div>486 487 </body>488</html>