Team Ai
Apppublic

parthtamu/rag-code-assistant

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
pyclbr.html547 linesDownload Raw Back to docs
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="pyclbr — Python module browser support" />8<meta property="og:type" content="website" />9<meta property="og:url" content="https://docs.python.org/3/library/pyclbr.html" />10<meta property="og:site_name" content="Python documentation" />11<meta property="og:description" content="Source code: Lib/pyclbr.py The pyclbr module provides limited information about the functions, classes, and methods defined in a Python-coded module. The information is sufficient to implement a mo..." />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_pyclbr_1bf152fc.png" />15<meta property="og:image:alt" content="Source code: Lib/pyclbr.py The pyclbr module provides limited information about the functions, classes, and methods defined in a Python-coded module. The information is sufficient to implement a mo..." />16<meta name="description" content="Source code: Lib/pyclbr.py The pyclbr module provides limited information about the functions, classes, and methods defined in a Python-coded module. The information is sufficient to implement a mo..." />17<meta name="twitter:card" content="summary_large_image" />18<meta name="theme-color" content="#3776ab">19 20    <title>pyclbr — Python module browser support &#8212; 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="py_compile — Compile Python source files" href="py_compile.html" />43    <link rel="prev" title="tabnanny — Detection of ambiguous indentation" href="tabnanny.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/pyclbr.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">pyclbr</span></code> — Python module browser support</a><ul>108<li><a class="reference internal" href="#function-objects">Function Objects</a></li>109<li><a class="reference internal" href="#class-objects">Class Objects</a></li>110</ul>111</li>112</ul>113 114  </div>115  <div>116    <h4>Previous topic</h4>117    <p class="topless"><a href="tabnanny.html"118                          title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tabnanny</span></code> — Detection of ambiguous indentation</a></p>119  </div>120  <div>121    <h4>Next topic</h4>122    <p class="topless"><a href="py_compile.html"123                          title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">py_compile</span></code> — Compile Python source files</a></p>124  </div>125  <script>126    document.addEventListener('DOMContentLoaded', () => {127        const title = document.querySelector('meta[property="og:title"]').content;128        const elements = document.querySelectorAll('.improvepage');129        const pageurl = window.location.href.split('?')[0];130        elements.forEach(element => {131            const url = new URL(element.href.split('?')[0].replace("-nojs", ""));132            url.searchParams.set('pagetitle', title);133            url.searchParams.set('pageurl', pageurl);134            url.searchParams.set('pagesource', "library/pyclbr.rst");135            element.href = url.toString();136        });137    });138  </script>139  <div role="note" aria-label="source link">140    <h3>This page</h3>141    <ul class="this-page-menu">142      <li><a href="../bugs.html">Report a bug</a></li>143      <li><a class="improvepage" href="../improve-page-nojs.html">Improve this page</a></li>144      <li>145        <a href="https://github.com/python/cpython/blob/main/Doc/library/pyclbr.rst?plain=1"146            rel="nofollow">Show source147        </a>148      </li>149      150    </ul>151  </div>152        </nav>153    </div>154</div>155 156  157    <div class="related" role="navigation" aria-label="Related">158      <h3>Navigation</h3>159      <ul>160        <li class="right" style="margin-right: 10px">161          <a href="../genindex.html" title="General Index"162             accesskey="I">index</a></li>163        <li class="right" >164          <a href="../py-modindex.html" title="Python Module Index"165             >modules</a> |</li>166        <li class="right" >167          <a href="py_compile.html" title="py_compile — Compile Python source files"168             accesskey="N">next</a> |</li>169        <li class="right" >170          <a href="tabnanny.html" title="tabnanny — Detection of ambiguous indentation"171             accesskey="P">previous</a> |</li>172 173          <li><img src="../_static/py.svg" alt="Python logo" style="vertical-align: middle; margin-top: -1px"></li>174          <li><a href="https://www.python.org/">Python</a> &#187;</li>175          <li class="switchers">176            <div class="language_switcher_placeholder"></div>177            <div class="version_switcher_placeholder"></div>178          </li>179          <li>180              181          </li>182    <li id="cpython-language-and-version">183      <a href="../index.html">3.15.0a6 Documentation</a> &#187;184    </li>185 186          <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> &#187;</li>187          <li class="nav-item nav-item-2"><a href="language.html" accesskey="U">Python Language Services</a> &#187;</li>188        <li class="nav-item nav-item-this"><a href=""><code class="xref py py-mod docutils literal notranslate"><span class="pre">pyclbr</span></code> — Python module browser support</a></li>189                <li class="right">190                    191 192    <div class="inline-search" role="search">193        <form class="inline-search" action="../search.html" method="get">194          <input placeholder="Quick search" aria-label="Quick search" type="search" name="q" id="search-box">195          <input type="submit" value="Go">196        </form>197    </div>198                     |199                </li>200            <li class="right">201<label class="theme-selector-label">202    Theme203    <select class="theme-selector" oninput="activateTheme(this.value)">204        <option value="auto" selected>Auto</option>205        <option value="light">Light</option>206        <option value="dark">Dark</option>207    </select>208</label> |</li>209            210      </ul>211    </div>    212 213    <div class="document">214      <div class="documentwrapper">215        <div class="bodywrapper">216          <div class="body" role="main">217            218  <section id="module-pyclbr">219<span id="pyclbr-python-module-browser-support"></span><h1><code class="xref py py-mod docutils literal notranslate"><span class="pre">pyclbr</span></code> — Python module browser support<a class="headerlink" href="#module-pyclbr" title="Link to this heading">¶</a></h1>220<p><strong>Source code:</strong> <a class="extlink-source reference external" href="https://github.com/python/cpython/tree/main/Lib/pyclbr.py">Lib/pyclbr.py</a></p>221<hr class="docutils" />222<p>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">pyclbr</span></code> module provides limited information about the223functions, classes, and methods defined in a Python-coded module.  The224information is sufficient to implement a module browser.  The225information is extracted from the Python source code rather than by226importing the module, so this module is safe to use with untrusted code.227This restriction makes it impossible to use this module with modules not228implemented in Python, including all standard and optional extension229modules.</p>230<dl class="py function">231<dt class="sig sig-object py" id="pyclbr.readmodule">232<span class="sig-prename descclassname"><span class="pre">pyclbr.</span></span><span class="sig-name descname"><span class="pre">readmodule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">module</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">path</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyclbr.readmodule" title="Link to this definition">¶</a></dt>233<dd><p>Return a dictionary mapping module-level class names to class234descriptors.  If possible, descriptors for imported base classes are235included.  Parameter <em>module</em> is a string with the name of the module236to read; it may be the name of a module within a package.  If given,237<em>path</em> is a sequence of directory paths prepended to <code class="docutils literal notranslate"><span class="pre">sys.path</span></code>,238which is used to locate the module source code.</p>239<p>This function is the original interface and is only kept for back240compatibility.  It returns a filtered version of the following.</p>241</dd></dl>242 243<dl class="py function">244<dt class="sig sig-object py" id="pyclbr.readmodule_ex">245<span class="sig-prename descclassname"><span class="pre">pyclbr.</span></span><span class="sig-name descname"><span class="pre">readmodule_ex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">module</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">path</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyclbr.readmodule_ex" title="Link to this definition">¶</a></dt>246<dd><p>Return a dictionary-based tree containing a function or class247descriptors for each function and class defined in the module with a248<code class="docutils literal notranslate"><span class="pre">def</span></code> or <code class="docutils literal notranslate"><span class="pre">class</span></code> statement.  The returned dictionary maps249module-level function and class names to their descriptors.  Nested250objects are entered into the children dictionary of their parent.  As251with readmodule, <em>module</em> names the module to be read and <em>path</em> is252prepended to sys.path.  If the module being read is a package, the253returned dictionary has a key <code class="docutils literal notranslate"><span class="pre">'__path__'</span></code> whose value is a list254containing the package search path.</p>255</dd></dl>256 257<div class="versionadded">258<p><span class="versionmodified added">Added in version 3.7: </span>Descriptors for nested definitions.  They are accessed through the259new children attribute.  Each has a new parent attribute.</p>260</div>261<p>The descriptors returned by these functions are instances of262Function and Class classes.  Users are not expected to create instances263of these classes.</p>264<section id="function-objects">265<span id="pyclbr-function-objects"></span><h2>Function Objects<a class="headerlink" href="#function-objects" title="Link to this heading">¶</a></h2>266<dl class="py class">267<dt class="sig sig-object py" id="pyclbr.Function">268<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">pyclbr.</span></span><span class="sig-name descname"><span class="pre">Function</span></span><a class="headerlink" href="#pyclbr.Function" title="Link to this definition">¶</a></dt>269<dd><p>Class <code class="xref py py-class docutils literal notranslate"><span class="pre">Function</span></code> instances describe functions defined by def270statements.  They have the following attributes:</p>271<dl class="py attribute">272<dt class="sig sig-object py" id="pyclbr.Function.file">273<span class="sig-name descname"><span class="pre">file</span></span><a class="headerlink" href="#pyclbr.Function.file" title="Link to this definition">¶</a></dt>274<dd><p>Name of the file in which the function is defined.</p>275</dd></dl>276 277<dl class="py attribute">278<dt class="sig sig-object py" id="pyclbr.Function.module">279<span class="sig-name descname"><span class="pre">module</span></span><a class="headerlink" href="#pyclbr.Function.module" title="Link to this definition">¶</a></dt>280<dd><p>The name of the module defining the function described.</p>281</dd></dl>282 283<dl class="py attribute">284<dt class="sig sig-object py" id="pyclbr.Function.name">285<span class="sig-name descname"><span class="pre">name</span></span><a class="headerlink" href="#pyclbr.Function.name" title="Link to this definition">¶</a></dt>286<dd><p>The name of the function.</p>287</dd></dl>288 289<dl class="py attribute">290<dt class="sig sig-object py" id="pyclbr.Function.lineno">291<span class="sig-name descname"><span class="pre">lineno</span></span><a class="headerlink" href="#pyclbr.Function.lineno" title="Link to this definition">¶</a></dt>292<dd><p>The line number in the file where the definition starts.</p>293</dd></dl>294 295<dl class="py attribute">296<dt class="sig sig-object py" id="pyclbr.Function.parent">297<span class="sig-name descname"><span class="pre">parent</span></span><a class="headerlink" href="#pyclbr.Function.parent" title="Link to this definition">¶</a></dt>298<dd><p>For top-level functions, <code class="docutils literal notranslate"><span class="pre">None</span></code>.  For nested functions, the parent.</p>299<div class="versionadded">300<p><span class="versionmodified added">Added in version 3.7.</span></p>301</div>302</dd></dl>303 304<dl class="py attribute">305<dt class="sig sig-object py" id="pyclbr.Function.children">306<span class="sig-name descname"><span class="pre">children</span></span><a class="headerlink" href="#pyclbr.Function.children" title="Link to this definition">¶</a></dt>307<dd><p>A <a class="reference internal" href="stdtypes.html#dict" title="dict"><code class="xref py py-class docutils literal notranslate"><span class="pre">dictionary</span></code></a> mapping names to descriptors for nested functions and308classes.</p>309<div class="versionadded">310<p><span class="versionmodified added">Added in version 3.7.</span></p>311</div>312</dd></dl>313 314<dl class="py attribute">315<dt class="sig sig-object py" id="pyclbr.Function.is_async">316<span class="sig-name descname"><span class="pre">is_async</span></span><a class="headerlink" href="#pyclbr.Function.is_async" title="Link to this definition">¶</a></dt>317<dd><p><code class="docutils literal notranslate"><span class="pre">True</span></code> for functions that are defined with the318<a class="reference internal" href="../reference/compound_stmts.html#async-def"><code class="xref std std-keyword docutils literal notranslate"><span class="pre">async</span></code></a> prefix, <code class="docutils literal notranslate"><span class="pre">False</span></code> otherwise.</p>319<div class="versionadded">320<p><span class="versionmodified added">Added in version 3.10.</span></p>321</div>322</dd></dl>323 324</dd></dl>325 326</section>327<section id="class-objects">328<span id="pyclbr-class-objects"></span><h2>Class Objects<a class="headerlink" href="#class-objects" title="Link to this heading">¶</a></h2>329<dl class="py class">330<dt class="sig sig-object py" id="pyclbr.Class">331<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">pyclbr.</span></span><span class="sig-name descname"><span class="pre">Class</span></span><a class="headerlink" href="#pyclbr.Class" title="Link to this definition">¶</a></dt>332<dd><p>Class <code class="xref py py-class docutils literal notranslate"><span class="pre">Class</span></code> instances describe classes defined by class333statements.  They have the same attributes as <a class="reference internal" href="#pyclbr.Function" title="pyclbr.Function"><code class="xref py py-class docutils literal notranslate"><span class="pre">Functions</span></code></a>334and two more.</p>335<dl class="py attribute">336<dt class="sig sig-object py" id="pyclbr.Class.file">337<span class="sig-name descname"><span class="pre">file</span></span><a class="headerlink" href="#pyclbr.Class.file" title="Link to this definition">¶</a></dt>338<dd><p>Name of the file in which the class is defined.</p>339</dd></dl>340 341<dl class="py attribute">342<dt class="sig sig-object py" id="pyclbr.Class.module">343<span class="sig-name descname"><span class="pre">module</span></span><a class="headerlink" href="#pyclbr.Class.module" title="Link to this definition">¶</a></dt>344<dd><p>The name of the module defining the class described.</p>345</dd></dl>346 347<dl class="py attribute">348<dt class="sig sig-object py" id="pyclbr.Class.name">349<span class="sig-name descname"><span class="pre">name</span></span><a class="headerlink" href="#pyclbr.Class.name" title="Link to this definition">¶</a></dt>350<dd><p>The name of the class.</p>351</dd></dl>352 353<dl class="py attribute">354<dt class="sig sig-object py" id="pyclbr.Class.lineno">355<span class="sig-name descname"><span class="pre">lineno</span></span><a class="headerlink" href="#pyclbr.Class.lineno" title="Link to this definition">¶</a></dt>356<dd><p>The line number in the file where the definition starts.</p>357</dd></dl>358 359<dl class="py attribute">360<dt class="sig sig-object py" id="pyclbr.Class.parent">361<span class="sig-name descname"><span class="pre">parent</span></span><a class="headerlink" href="#pyclbr.Class.parent" title="Link to this definition">¶</a></dt>362<dd><p>For top-level classes, <code class="docutils literal notranslate"><span class="pre">None</span></code>.  For nested classes, the parent.</p>363<div class="versionadded">364<p><span class="versionmodified added">Added in version 3.7.</span></p>365</div>366</dd></dl>367 368<dl class="py attribute">369<dt class="sig sig-object py" id="pyclbr.Class.children">370<span class="sig-name descname"><span class="pre">children</span></span><a class="headerlink" href="#pyclbr.Class.children" title="Link to this definition">¶</a></dt>371<dd><p>A dictionary mapping names to descriptors for nested functions and372classes.</p>373<div class="versionadded">374<p><span class="versionmodified added">Added in version 3.7.</span></p>375</div>376</dd></dl>377 378<dl class="py attribute">379<dt class="sig sig-object py" id="pyclbr.Class.super">380<span class="sig-name descname"><span class="pre">super</span></span><a class="headerlink" href="#pyclbr.Class.super" title="Link to this definition">¶</a></dt>381<dd><p>A list of <code class="xref py py-class docutils literal notranslate"><span class="pre">Class</span></code> objects which describe the immediate base382classes of the class being described.  Classes which are named as383superclasses but which are not discoverable by <a class="reference internal" href="#pyclbr.readmodule_ex" title="pyclbr.readmodule_ex"><code class="xref py py-func docutils literal notranslate"><span class="pre">readmodule_ex()</span></code></a>384are listed as a string with the class name instead of as385<code class="xref py py-class docutils literal notranslate"><span class="pre">Class</span></code> objects.</p>386</dd></dl>387 388<dl class="py attribute">389<dt class="sig sig-object py" id="pyclbr.Class.methods">390<span class="sig-name descname"><span class="pre">methods</span></span><a class="headerlink" href="#pyclbr.Class.methods" title="Link to this definition">¶</a></dt>391<dd><p>A <a class="reference internal" href="stdtypes.html#dict" title="dict"><code class="xref py py-class docutils literal notranslate"><span class="pre">dictionary</span></code></a> mapping method names to line numbers.392This can be derived from the newer <a class="reference internal" href="#pyclbr.Class.children" title="pyclbr.Class.children"><code class="xref py py-attr docutils literal notranslate"><span class="pre">children</span></code></a> dictionary,393but remains for394back-compatibility.</p>395</dd></dl>396 397</dd></dl>398 399</section>400</section>401 402 403            <div class="clearer"></div>404          </div>405        </div>406      </div>407      <div class="sphinxsidebar" role="navigation" aria-label="Main">408        <div class="sphinxsidebarwrapper">409  <div>410    <h3><a href="../contents.html">Table of Contents</a></h3>411    <ul>412<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pyclbr</span></code> — Python module browser support</a><ul>413<li><a class="reference internal" href="#function-objects">Function Objects</a></li>414<li><a class="reference internal" href="#class-objects">Class Objects</a></li>415</ul>416</li>417</ul>418 419  </div>420  <div>421    <h4>Previous topic</h4>422    <p class="topless"><a href="tabnanny.html"423                          title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tabnanny</span></code> — Detection of ambiguous indentation</a></p>424  </div>425  <div>426    <h4>Next topic</h4>427    <p class="topless"><a href="py_compile.html"428                          title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">py_compile</span></code> — Compile Python source files</a></p>429  </div>430  <script>431    document.addEventListener('DOMContentLoaded', () => {432        const title = document.querySelector('meta[property="og:title"]').content;433        const elements = document.querySelectorAll('.improvepage');434        const pageurl = window.location.href.split('?')[0];435        elements.forEach(element => {436            const url = new URL(element.href.split('?')[0].replace("-nojs", ""));437            url.searchParams.set('pagetitle', title);438            url.searchParams.set('pageurl', pageurl);439            url.searchParams.set('pagesource', "library/pyclbr.rst");440            element.href = url.toString();441        });442    });443  </script>444  <div role="note" aria-label="source link">445    <h3>This page</h3>446    <ul class="this-page-menu">447      <li><a href="../bugs.html">Report a bug</a></li>448      <li><a class="improvepage" href="../improve-page-nojs.html">Improve this page</a></li>449      <li>450        <a href="https://github.com/python/cpython/blob/main/Doc/library/pyclbr.rst?plain=1"451            rel="nofollow">Show source452        </a>453      </li>454      455    </ul>456  </div>457        </div>458<div id="sidebarbutton" title="Collapse sidebar">459<span>«</span>460</div>461 462      </div>463      <div class="clearer"></div>464    </div>  465    <div class="related" role="navigation" aria-label="Related">466      <h3>Navigation</h3>467      <ul>468        <li class="right" style="margin-right: 10px">469          <a href="../genindex.html" title="General Index"470             >index</a></li>471        <li class="right" >472          <a href="../py-modindex.html" title="Python Module Index"473             >modules</a> |</li>474        <li class="right" >475          <a href="py_compile.html" title="py_compile — Compile Python source files"476             >next</a> |</li>477        <li class="right" >478          <a href="tabnanny.html" title="tabnanny — Detection of ambiguous indentation"479             >previous</a> |</li>480 481          <li><img src="../_static/py.svg" alt="Python logo" style="vertical-align: middle; margin-top: -1px"></li>482          <li><a href="https://www.python.org/">Python</a> &#187;</li>483          <li class="switchers">484            <div class="language_switcher_placeholder"></div>485            <div class="version_switcher_placeholder"></div>486          </li>487          <li>488              489          </li>490    <li id="cpython-language-and-version">491      <a href="../index.html">3.15.0a6 Documentation</a> &#187;492    </li>493 494          <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> &#187;</li>495          <li class="nav-item nav-item-2"><a href="language.html" >Python Language Services</a> &#187;</li>496        <li class="nav-item nav-item-this"><a href=""><code class="xref py py-mod docutils literal notranslate"><span class="pre">pyclbr</span></code> — Python module browser support</a></li>497                <li class="right">498                    499 500    <div class="inline-search" role="search">501        <form class="inline-search" action="../search.html" method="get">502          <input placeholder="Quick search" aria-label="Quick search" type="search" name="q" id="search-box">503          <input type="submit" value="Go">504        </form>505    </div>506                     |507                </li>508            <li class="right">509<label class="theme-selector-label">510    Theme511    <select class="theme-selector" oninput="activateTheme(this.value)">512        <option value="auto" selected>Auto</option>513        <option value="light">Light</option>514        <option value="dark">Dark</option>515    </select>516</label> |</li>517            518      </ul>519    </div>  520    <div class="footer">521    &copy; <a href="../copyright.html">Copyright</a> 2001 Python Software Foundation.522    <br>523    This page is licensed under the Python Software Foundation License Version 2.524    <br>525    Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.526    <br>527    528      See <a href="/license.html">History and License</a> for more information.<br>529    530    531    <br>532 533    The Python Software Foundation is a non-profit corporation.534<a href="https://www.python.org/psf/donations/">Please donate.</a>535<br>536    <br>537      Last updated on Mar 10, 2026 (08:58 UTC).538    539      <a href="/bugs.html">Found a bug</a>?540    541    <br>542 543    Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.544    </div>545 546  </body>547</html>