# 2. Directory Structure

The source distribution for the standard Python documentation contains a large number of directories. While third-party documents do not need to be placed into this structure or need to be placed within a similar structure, it can be helpful to know where to look for examples and tools when developing new documents using the Python documentation tools. This section describes this directory structure.

The documentation sources are usually placed within the Python source distribution as the top-level directory Doc/, but are not dependent on the Python source distribution in any way.

The Doc/ directory contains a few files and several subdirectories. The files are mostly self-explanatory, including a README and a Makefile. The directories fall into three categories:

Document Sources
  The LATEX sources for each document are placed in a separate directory. These directories are given short, three-character names:

  Directory | Document Title
  --- | ---
  `api/` | The Python/C API
  `doc/` | Documenting Python
  `ext/` | Extending and Embedding the Python Interpreter
  `lib/` | Python Library Reference
  `mac/` | Macintosh Module Reference
  `ref/` | Python Reference Manual
  `tut/` | Python Tutorial

Format-Specific Output
  Most output formats have a directory which contains a Makefile which controls the generation of that format and provides storage for the formatted documents. The only variations within this category are the Portable Document Format (PDF) and PostScript versions are placed in the directories paper-a4/ and paper-letter/ (this causes all the temporary files created by LATEX to be kept in the same place for each paper size, where they can be more easily ignored).

  Directory | Output Formats
  --- | ---
  `html/` | HTML output
  `info/` | GNU info output
  `paper-a4/` | PDF and PostScript, A4 paper
  `paper-letter/` | PDF and PostScript, US-Letter paper

Supplemental Files
  Some additional directories are used to store supplemental files used for the various processes. Directories are included for the shared LATEX document classes, the LATEX2HTML support, template files for various document components, and the scripts used to perform various steps in the formatting processes.

  Directory | Contents
  --- | ---
  `perl/` | Support for LATEX2HTML processing
  `templates/` | Example files for source documents
  `texinputs/` | Style implementation for LATEX
  `tools/` | Custom processing scripts