<html>
  <head>
    <title>Python @RELEASE@ Documentation - @DATE@</title>
    <meta name="aesop" content="links">
    <meta name="description"
          content="Top-level index to the standard documentation for
                   Python @RELEASE@.">
    <link rel="SHORTCUT ICON" href="icons/pyfav.gif" type="image/gif">
    <link rel="STYLESHEET" href="lib/lib.css" type="text/css">
    <link rel="author" href="acks.html" title="Acknowledgements">
    <link rel="help" href="about.html" title="About the Python Documentation">
    <link rel="index" href="modindex.html" title="Global Module Index">
    <style type="text/css">
      a.title { font-weight: bold; font-size: 110%; }
      ul { margin-left: 1em; padding: 0pt; border: 0pt; }
      ul li { margin-top: 0.2em; }
      td.left-column { padding-right: 1em; }
      td.right-column { padding-left: 1em; }
    </style>
  </head>
  <body>
	<div class="navigation">
	<table align="center" width="100%" cellpadding="0" cellspacing="2">
	<tr>
	  <td><img width="32" height="32" align="bottom" border="0" alt=""
	      src="icons/blank.gif"></td>
	  <td><img width="32" height="32" align="bottom" border="0" alt=""
	      src="icons/blank.gif"></td>
	  <td><img width="32" height="32" align="bottom" border="0" alt=""
	      src="icons/blank.gif"></td>
	  <td align="center" width="100%">
	    <b class="title">Python Documentation</b></td>
	  <td><img width="32" height="32" align="bottom" border="0" alt=""
	      src="icons/blank.gif"></td>
	  <td><a href="modindex.html"><img width="32" height="32"
		align="bottom" border="0" alt="Module Index"
		src="icons/modules.gif"></a></td>
	  <td><img width="32" height="32" align="bottom" border="0" alt=""
	      src="icons/blank.gif"></A></td>
	</tr>
	</table>
        <hr>
	</div>
    <div align="center" class="titlepage">
      <h1>Python Documentation</h1>

      <p>
	<strong>Release @RELEASE@</strong>
	<br>
	<strong>@DATE@</strong>
      </p>
    </div>

    <table align="center">
      <tbody>
        <tr>
          <td class="left-column">
	  <ul>
	    <li> <a href="tut/tut.html" class="title">Tutorial</a>
	      <br>(start here)
	  </ul>
	  </td>
	  <td class="right-column">
	  <ul>
            <li> <a href="whatsnew/@WHATSNEW@.html" class="title"
                >What's New in Python</a>
              <br>(changes since the last major release)
	  </ul>
	  </td>
        </tr>
        <tr>
          <td valign="baseline" class="left-column">
          &nbsp;
	  <ul>
	    <li> <a href="modindex.html" class="title">Global Module Index</a>
	      <br>(for quick access to all documentation)

	    <li> <a href="lib/lib.html" class="title">Library Reference</a>
	      <br>(keep this under your pillow)

	    <li> <a href="mac/mac.html" class="title">Macintosh Module
		Reference</a>
	      <br>(this too, if you use a Macintosh)

	    <li> <a href="inst/inst.html" class="title">Installing
		Python Modules</a>
	      <br>(for administrators)

	    <li> <a href="dist/dist.html" class="title">Distributing
		Python Modules</a>
	      <br>(for developers and packagers)
	  </ul>
	  </td>
	  <td valign="baseline" class="right-column">
          &nbsp;
	  <ul>
	    <li> <a href="ref/ref.html" class="title">Language Reference</a>
	      <br>(for language lawyers)

	    <li> <a href="ext/ext.html" class="title">Extending and
		Embedding</a>
	      <br>(tutorial for C/C++ programmers)

	    <li> <a href="api/api.html" class="title">Python/C API</a>
	      <br>(reference for C/C++ programmers)

	    <li> <a href="doc/doc.html" class="title">Documenting Python</a>
	      <br>(information for documentation authors)
	  </ul>
	  </td>
        </tr>
        <tr>
          <td valign="baseline" class="left-column">
          &nbsp;
          <ul>
            <li> <a href="http://www.python.org/doc/" class="title"
                >Documentation Central</a>
              <br>(for everyone)
          </ul>
          </td>
          <td valign="baseline" class="right-column">
          &nbsp;
          <ul>
            <li> <a href="http://www.python.org/doc/howto/" class="title"
                >Python How-To Guides</a>
              <br>(special topics)
          </ul>
          </td>
        </tr>
      </tbody>
    </table>
    <p>

    <address>
      <hr>
      See <i><a href="about.html">About the Python Documentation</a></i>
      for information on suggesting changes.
    </address>
  </body>
</html>
