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

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

* はじめに

  * 言語バージョン互換性

  * コーディング基準

  * インクルードファイル

  * 便利なマクロ

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

  * 例外

  * Python の埋め込み

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

  * おすすめのサードパーティツール

* C API の安定性

  * Unstable C API

  * 安定 ABI (Stable Appliction Binary Interface)

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

  * 限定版APIの内容

* 超高水準レイヤ

  * Available start symbols

  * Stack Effects

* 参照カウント

* 例外処理

  * 出力とクリア

  * 例外の送出

  * 警告

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

  * シグナルハンドリング

  * 例外クラス

  * 例外オブジェクト

  * Unicode 例外オブジェクト

  * 再帰の管理

  * Exception and warning types

  * Tracebacks

* 拡張モジュールの定義

  * 複数のモジュールインスタンス

  * 初期化関数

  * 多段階初期化

  * 従来の一段階初期化

* ユーティリティ

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

  * システム関数

  * プロセス制御

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

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

  * 引数の解釈と値の構築

  * 文字列の変換と書式化

  * Character classification and conversion

  * PyHash API

  * リフレクション

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

  * PyTime C API

  * Support for Perf Maps

* 抽象オブジェクトレイヤ (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 オブジェクト

  * その他のオブジェクト

  * C API for extension modules

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

  * Python 初期化以前

  * グローバルな設定変数

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

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

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

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

  * 非同期通知

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

  * Reference tracing

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

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

  * 同期プリミティブ

  * Operating System Thread APIs

* Python 初期化設定

  * PyInitConfig C API

  * Configuration Options

  * Runtime Python configuration API

  * PyConfig C API

  * Py_GetArgcArgv()

  * Delaying main module execution

* メモリ管理

  * 概要

  * Allocator Domains

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

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

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

  * Default Memory Allocators

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

  * Debug hooks on the Python memory allocators

  * pymalloc アロケータ

  * The mimalloc allocator

  * tracemalloc C API

  * 使用例

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

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

  * Object Life Cycle

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

  * Type Object Structures

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

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

  * Build-time version constants

  * Run-time version

  * Bit-packing macros

* Monitoring C API

* Generating Execution Events

  * Managing the Monitoring State
