Extension et intégration de l’interpréteur Python
*************************************************

Ce document décrit comment écrire des modules en C ou C++ pour étendre
l’interpréteur Python à de nouveaux modules. En plus de définir de
nouvelles fonctions, ces modules peuvent définir de nouveaux types
d’objets ainsi que leur méthodes. Ce document explique aussi comment
intégrer l’interpréteur Python dans une autre application, pour être
utilisé comme langage d’extension. Enfin, ce document montre comment
compiler et lier les modules d’extension pour qu’ils puissent être
chargés dynamiquement (à l’exécution) dans l’interpréteur, si le
système d’exploitation sous-jacent supporte cette fonctionnalité.

Ce document présuppose que vous avez des connaissances de base sur
Python. Pour une introduction informelle du langage, voyez Le tutoriel
Python.  La référence du langage Python donne une définition plus
formelle du langage. La bibliothèque standard documente les objets
types, fonctions et modules existants (tous intégrés et écrits en
Python) qui donnent au langage sa large gamme d’applications.

Pour une description dans sa totalité de l’API Python/C, voir Manuel
de référence de l’API Python/C.

Note: This guide only covers the basic tools for creating extensions
  provided as part of this version of CPython. Third party tools may
  offer simpler alternatives. Refer to the binary extensions section
  in the Python Packaging User Guide for more information.

* 1. Étendre Python en C ou C++

  * 1.1. Un exemple simple

  * 1.2. Intermezzo: Les erreurs et exceptions

  * 1.3. Retour vers l’exemple

  * 1.4. The Module’s Method Table and Initialization Function

  * 1.5. Compilation and Linkage

  * 1.6. Calling Python Functions from C

  * 1.7. Extracting Parameters in Extension Functions

  * 1.8. Keyword Parameters for Extension Functions

  * 1.9. Building Arbitrary Values

  * 1.10. Reference Counts

  * 1.11. Writing Extensions in C++

  * 1.12. Providing a C API for an Extension Module

* 2. Defining New Types

  * 2.1. The Basics

  * 2.2. Type Methods

* 3. Construire les extensions C et C++ avec *distutils*

  * 3.1. Distribuer vos modules d’extension

* 4. Construire des extensions C et C++ sur Windows

  * 4.1. Une approche « recette de cuisine »

  * 4.2. Différences entre Unix et Windows

  * 4.3. Utiliser les DLL en pratique

* 5. Intégrer Python dans une autre application

  * 5.1. Intégration de très haut niveau

  * 5.2. Au delà de l’intégration de haut niveau: survol

  * 5.3. Intégration pure

  * 5.4. Étendre un Python intégré

  * 5.5. Intégrer Python dans du C++

  * 5.6. Compiler et Lier en environnement Unix ou similaire
