Memperluas dan Menggabungkan Interpreter Python
***********************************************

Dokumen ini menjelaskan cara menulis modul dalam C atau C++ untuk
memperluas interpreter Python dengan modul baru. Modul-modul itu tidak
hanya dapat mendefinisikan fungsi baru tetapi juga jenis objek baru
dan metode mereka. Dokumen ini juga menjelaskan cara menanamkan
interpreter Python di aplikasi lain, untuk digunakan sebagai ekstensi
bahasa. Akhirnya, ini menunjukkan bagaimana mengkompilasi dan
menautkan modul ekstensi sehingga mereka dapat dimuat secara dinamis
(pada saat *run time*) ke dalam interpreter, jika sistem operasi yang
mendasarinya mendukung fitur ini.

Dokumen ini mengasumsikan pengetahuan dasar tentang Python. Untuk
pengantar informal ke bahasa, lihat Tutorial Python. Referensi Bahasa
Python memberikan definisi bahasa yang lebih formal. Pustaka Standar
Python mendokumentasikan jenis objek, fungsi, dan modul yang ada (baik
bawaan dan ditulis dengan Python) yang memberikan rentang penggunaan
aplikasi yang luas terhadap bahasa tersebut.

Untuk deskripsi terperinci dari keseluruhan API Python/C, lihat bagian
terpisah Panduan Referensi Python/API C.

Catatan: 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. Extending Python with C or C++

  * 1.1. Contoh Sederhana

  * 1.2. Intermezzo: Errors and Exceptions

  * 1.3. Kembali ke Contoh

  * 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. Building C and C++ Extensions with distutils

  * 3.1. Distributing your extension modules

* 4. Building C and C++ Extensions on Windows

  * 4.1. A Cookbook Approach

  * 4.2. Differences Between Unix and Windows

  * 4.3. Using DLLs in Practice

* 5. Embedding Python in Another Application

  * 5.1. Very High Level Embedding

  * 5.2. Beyond Very High Level Embedding: An overview

  * 5.3. Pure Embedding

  * 5.4. Extending Embedded Python

  * 5.5. Embedding Python in C++

  * 5.6. Compiling and Linking under Unix-like systems
