Python/C API リファレンスマニュアル
***********************************

このマニュアルでは、拡張モジュールを書いたり Python インタプリタをアプ
リケーションに埋め込んだりしたい C/C++ プログラマが利用できる API につ
いて述べています。 Python インタプリタの拡張と埋め込み は拡張モジュー
ルを書く際の一般的な決まりごとについて記述していますが、 API の詳細ま
では記述していないので、このドキュメントが手引きになります。

* はじめに

  * コーディング基準

  * インクルードファイル

  * 便利なマクロ

  * オブジェクト、型および参照カウント

  * 例外

  * Python の埋め込み

  * デバッグ版ビルド (Debugging Builds)

* C API の安定性

  * 安定 ABI (Stable Appliction Binary Interface)

  * プラットフォームで考慮すべき点

  * 限定版APIの内容

* 超高水準レイヤ

* 参照カウント

* 例外処理

  * 出力とクリア

  * 例外の送出

  * 警告

  * エラーインジケータの問い合わせ

  * シグナルハンドリング

  * 例外クラス

  * 例外オブジェクト

  * Unicode 例外オブジェクト

  * 再帰の管理

  * 標準例外

  * 標準警告カテゴリ

* ユーティリティ

  * オペレーティングシステム関連のユーティリティ

  * システム関数

  * プロセス制御

  * モジュールのインポート

  * データ整列化 (data marshalling) のサポート

  * 引数の解釈と値の構築

  * 文字列の変換と書式化

  * PyHash API

  * リフレクション

  * codec レジストリとサポート関数

* 抽象オブジェクトレイヤ (Abstract Objects Layer)

  * オブジェクトプロトコル (object protocol)

  * Call プロトコル

  * 数値型プロトコル (number protocol)

  * シーケンス型プロトコル (sequence protocol)

  * マップ型プロトコル (mapping protocol)

  * イテレータプロトコル (iterator protocol)

  * バッファプロトコル (buffer Protocol)

  * 古いバッファプロトコル

* 具象オブジェクト (concrete object) レイヤ

  * 基本オブジェクト (fundamental object)

  * 数値型オブジェクト (numeric object)

  * シーケンスオブジェクト (sequence object)

  * Container オブジェクト

  * Function オブジェクト

  * その他のオブジェクト

* 初期化 (initialization)、終了処理 (finalization)、スレッド

  * Python 初期化以前

  * グローバルな設定変数

  * インタープリタの初期化と終了処理

  * プロセスワイドのパラメータ

  * スレッド状態 (thread state) とグローバルインタプリタロック (global
    interpreter lock)

  * サブインタプリタサポート

  * 非同期通知

  * プロファイルとトレース (profiling and tracing)

  * 高度なデバッガサポート (advanced debugger support)

  * スレッドローカルストレージのサポート

* Python 初期化設定

  * 使用例

  * PyWideStringList

  * PyStatus

  * PyPreConfig

  * Preinitialize Python with PyPreConfig

  * PyConfig

  * Initialization with PyConfig

  * Isolated Configuration

  * Python Configuration

  * Python Path Configuration

  * Py_RunMain()

  * Py_GetArgcArgv()

  * Multi-Phase Initialization Private Provisional API

* メモリ管理

  * 概要

  * Allocator Domains

  * 生メモリインターフェース

  * メモリインターフェース

  * オブジェクトアロケータ

  * Default Memory Allocators

  * メモリアロケータをカスタマイズする

  * Debug hooks on the Python memory allocators

  * pymalloc アロケータ

  * tracemalloc C API

  * 使用例

* オブジェクト実装サポート (object implementation support)

  * オブジェクトをヒープ上にメモリ確保する

  * 共通のオブジェクト構造体 (common object structure)

  * Type Objects

  * 数値オブジェクト構造体

  * マップオブジェクト構造体

  * シーケンスオブジェクト構造体

  * バッファオブジェクト構造体 (buffer object structure)

  * async オブジェクト構造体

  * Slot Type typedefs

  * 使用例

  * 循環参照ガベージコレクションをサポートする

* API と ABI のバージョニング
