{% extends "layout.html" %}
{% set title = 'Download' %}
{% if daily is defined %}
  {% set dlbase = pathto('archives', 1) %}
{% else %}
  {% set dlbase = 'https://docs.python.org/ftp/python/doc/' + release %}
{% endif %}

{% block body %}
<h1>Download Python {{ release }} Documentation</h1>

{% if last_updated %}<p><b>Last updated on: {{ last_updated }}.</b></p>{% endif %}

<p>To download an archive containing all the documents for this version of
Python in one of various formats, follow one of links in this table. The numbers
in the table are the size of the download files in megabytes.</p>

<table class="docutils">
  <tr><th>Format</th><th>Packed as .zip</th><th>Packed as .tar.bz2</th></tr>
  <tr><td>PDF (US-Letter paper size)</td>
    <td><a href="{{ dlbase }}/python-{{ release }}-docs-pdf-letter.zip">Download</a> (ca. 8 MB)</td>
    <td><a href="{{ dlbase }}/python-{{ release }}-docs-pdf-letter.tar.bz2">Download</a> (ca. 8 MB)</td>
  </tr>
  <tr><td>PDF (A4 paper size)</td>
    <td><a href="{{ dlbase }}/python-{{ release }}-docs-pdf-a4.zip">Download</a> (ca. 8 MB)</td>
    <td><a href="{{ dlbase }}/python-{{ release }}-docs-pdf-a4.tar.bz2">Download</a> (ca. 8 MB)</td>
  </tr>
  <tr><td>HTML</td>
    <td><a href="{{ dlbase }}/python-{{ release }}-docs-html.zip">Download</a> (ca. 6 MB)</td>
    <td><a href="{{ dlbase }}/python-{{ release }}-docs-html.tar.bz2">Download</a> (ca. 4 MB)</td>
  </tr>
  <tr><td>Plain Text</td>
    <td><a href="{{ dlbase }}/python-{{ release }}-docs-text.zip">Download</a> (ca. 2 MB)</td>
    <td><a href="{{ dlbase }}/python-{{ release }}-docs-text.tar.bz2">Download</a> (ca. 1.5 MB)</td>
  </tr>
 <tr><td>EPUB</td>
    <td><a href="{{ dlbase }}/python-{{ release }}-docs.epub">Download</a> (ca. 4.5 MB)</td>
    <td></td>
  </tr>
</table>

<p>These archives contain all the content in the documentation.</p>

<p>HTML Help (<tt>.chm</tt>) files are made available in the "Windows" section
on the <a href="https://www.python.org/download/releases/{{ release[:5] }}/">Python
download page</a>.</p>


<h2>Unpacking</h2>

<p>Unix users should download the .tar.bz2 archives; these are bzipped tar
archives and can be handled in the usual way using tar and the bzip2
program. The <a href="http://www.info-zip.org">InfoZIP</a> unzip program can be
used to handle the ZIP archives if desired. The .tar.bz2 archives provide the
best compression and fastest download times.</p>

<p>Windows users can use the ZIP archives since those are customary on that
platform. These are created on Unix using the InfoZIP zip program.</p>


<h2>Problems</h2>

<p>If you have comments or suggestions for the Python documentation, please send
email to <a href="mailto:docs@python.org">docs@python.org</a>.</p>
{% endblock %}
