\documentclass{manual} \title{Writing Python Extensions} \author{Michael Hudson} \date{\today} % If you edit the examples make sure you reflect these edits in quoted % sections, if necessary! \begin{document} \maketitle \begin{abstract} \noindent This document is intended to explain in fairly simple terms how to write extensions to Python in C. In no way does it aim to be a comprehensive description of the Python/C interface. There's another manual for that. \end{abstract} \tableofcontents \chapter{Introduction\label{introduction}} Here are the assumptions I, the author, make about you, the reader: \begin{enumerate} \item You know Python. \item You know C. \item You want to write an extension to the C implementation of Python, version 2.3 or greater. \end{enumerate} In addition, some assumptions about your computer: \begin{enumerate} \item You have Python installed (along with any 'python-devel' packages your distribution requires). \item You have an appropriate C compiler installed. \end{enumerate} An ``appropriate C compiler'' usually means the same one that was used to build Python. See Appendix \ref{appropriate-c-compilers} for more. This document is intended to make sense when read from beginning to end and is written in a terse style with an emphasis on examples. Extreme Programming applied to documentation, if you like. \input{basics} \input{further-details} \input{defining-new-types} \appendix \input{appropriate-c-compilers} \end{document}