\documentclass[twoside,openright]{report}
\usepackage{myformat}

% NOTE: this file controls which chapters/sections of the library
% manual are actually printed.  It is easy to customize your manual
% by commenting out sections that you're not interested in.

\title{Python Library Reference}

\input{boilerplate}

\makeindex			% tell \index to actually write the .idx file


\begin{document}

\pagestyle{empty}
\pagenumbering{roman}

\maketitle

\input{copyright}

\begin{abstract}

\noindent
Python is an extensible, interpreted, object-oriented programming
language.  It supports a wide range of applications, from simple text
processing scripts to interactive WWW browsers.

While the \emph{Python Reference Manual} describes the exact syntax and
semantics of the language, it does not describe the standard library
that is distributed with the language, and which greatly enhances its
immediate usability.  This library contains built-in modules (written
in C) that provide access to system functionality such as file I/O
that would otherwise be inaccessible to Python programmers, as well as
modules written in Python that provide standardized solutions for many
problems that occur in everyday programming.  Some of these modules
are explicitly designed to encourage and enhance the portability of
Python programs.

This library reference manual documents Python's standard library, as
well as many optional library modules (which may or may not be
available, depending on whether the underlying platform supports them
and on the configuration choices made at compile time).  It also
documents the standard types of the language and its built-in
functions and exceptions, many of which are not or incompletely
documented in the Reference Manual.

This manual assumes basic knowledge about the Python language.  For an
informal introduction to Python, see the \emph{Python Tutorial}; the
\emph{Python Reference Manual} remains the highest authority on
syntactic and semantic questions.  Finally, the manual entitled
\emph{Extending and Embedding the Python Interpreter} describes how to
add new extensions to Python and how to embed it in other applications.

\end{abstract}

\tableofcontents

\pagenumbering{arabic}

				% Chapter title:

\input{libintro}		% Introduction

\input{libobjs}			% Built-in Types, Exceptions and Functions
\input{libtypes}
\input{libexcs}
\input{libfuncs}

\input{libpython}		% Python Services
\input{libsys}
\input{libtypes2}		% types is already taken :-(
\input{libuserdict}
\input{liboperator}
\input{libtraceback}
\input{libpickle}
\input{libcopyreg}
\input{libshelve}
\input{libcopy}
\input{libmarshal}
\input{libimp}
\input{libni}
\input{libparser}
\input{libkeyword}
\input{libcode}
\input{libpprint}
\input{libdis}
\input{libsite}
\input{libuser}
\input{libbltin}		% really __builtin__
\input{libmain}			% really __main__

\input{libstrings}		% String Services
\input{libstring}
\input{libre}
\input{libregex}
\input{libregsub}
\input{libstruct}
\input{libstrio}
\input{libsoundex}

\input{libmisc}			% Miscellaneous Services
\input{libmath}
\input{libcmath}
\input{libwhrandom}
\input{librandom}
\input{librand}
\input{libarray}

\input{liballos}		% Generic Operating System Services
\input{libos}
\input{libtime}
\input{libgetopt}
\input{libtempfile}
\input{liberrno}
\input{libglob}
\input{libfnmatch}
\input{liblocale}

\input{libsomeos}		% Optional Operating System Services
\input{libsignal}
\input{libsocket}
\input{libselect}
\input{libthread}
\input{libqueue}
\input{libanydbm}
\input{libwhichdb}
\input{libzlib}
\input{libgzip}

\input{libunix}			% UNIX Specific Services
\input{libposix}
\input{libppath}		% == posixpath
\input{libpwd}
\input{libgrp}
\input{libcrypt}
\input{libdbm}
\input{libgdbm}
\input{libtermios}
\input{libfcntl}
\input{libposixfile}
\input{libresource}
\input{libsyslog}
\input{libstat}
\input{libcommands}

\input{libpdb}			% The Python Debugger

\input{libprofile}		% The Python Profiler

\input{libwww}			% Internet and WWW Services
\input{libcgi}
\input{liburllib}
\input{libhttplib}
\input{libftplib}
\input{libgopherlib}
\input{libnntplib}
\input{liburlparse}
\input{libsgmllib}
\input{libhtmllib}
\input{libxmllib}
\input{libformatter}
\input{librfc822}
\input{libmimetools}
\input{libbinascii}
\input{libxdrlib}
\input{libmailcap}
\input{libbase64}
\input{libquopri}
\input{libsocksvr}
\input{libmailbox}
\input{libmimify}
\input{libbasehttp}

\input{librestricted}
\input{librexec}
\input{libbastion}

\input{libmm}			% Multimedia Services
\input{libaudioop}
\input{libimageop}
\input{libaifc}
\input{libjpeg}
\input{librgbimg}
\input{libimghdr}

\input{libcrypto}		% Cryptographic Services
\input{libmd5}
\input{libmpz}
\input{librotor}

%\input{libamoeba}		% AMOEBA ONLY

\input{libmac}			% MACINTOSH ONLY
\input{libctb}
\input{libmacconsole}
\input{libmacdnr}
\input{libmacfs}
\input{libmacic}
\input{libmacos}
\input{libmacostools}
\input{libmactcp}
\input{libmacspeech}
\input{libmacui}

%\input{libstdwin}		% STDWIN ONLY

\input{libsgi}			% SGI IRIX ONLY
\input{libal}
\input{libcd}
\input{libfl}
\input{libfm}
\input{libgl}
\input{libimgfile}
%\input{libpanel}

\input{libsun}			% SUNOS ONLY

\input{libundoc}

\renewcommand{\indexname}{Module Index}
\input{modules.ind}		% Module Index

\renewcommand{\indexname}{Index}
\input{lib.ind}			% Index

\end{document}
