GIMP Ver. 2.10.x における Python-fu は Python 2.7に準拠するとともに、gimpfu という GIMP を操作するライブラリがあり、そこから GIMP を操作する API を読み込みます。なお gimpfu を読み込むと同時に gimp および gimpenums という2つのライブラリも読込まれます。
なお、GIMP 開発版 Ver. 2.99 では gimpfu がサポートされず、直接 gtk3.0 の API を叩いて GIMP を操作することになりそうです。このため、大幅に GIMP における Python スクリプトの書き方が変わる予定となっており、しかも現状では、どう書けばよいのかインストラクションも公開されていません。
なお、以前紹介しましたが、個人の方で gimpfu の開発を手掛けている方がおられます。しかし、開発チームから正式な開発プロジェクトへの採用を断られてしまいましたので、現在こちらの試みは 2 年前の段階で足踏みしています。
余談はともかく、現状 Ver. 2.10 の Python-fu の API は大きく分けて2つあります。
1. GIMP のオブジェクトのメソッドやプロパティとして操作を行うもの
2. Script-fu と共通のプロシジャーを API として呼び出すもの
まず、1 の説明ですが、GIMP では以下の最上位のオブジェクトをサポートしています*1。
image
channel
layer
drawable
tile
pixel region
これらのメソッドやプロパティ (メンバー) として API を呼び出します。例えば
gimp.set_background(r, g, b)
といった具合です。
2. の API ですが、GIMP のプロシジャーブラウザから見ることのできる API です。
これらを Python スクリプト上で使うには、頭に pdb. をつけて以下のように書きます。
pdb は procedure data base の略です。
プロシジャーブラウザ上の - (ハイフン) はすべて Python スクリプト上では _ (アンダーバー) に直してください。また引数で run-mode がありましたら Python 上では省略します。
また、以下にも GIMP の API が挙げられていますが、これも上記と多くは重なっています (ただし、一部 Python から呼び出せないものもあるようです)。
3. ドキュメント化されていない API
実はドキュメント化されていない API が結構あります。これは Python-fu のコンソールから gimpfu を読み込んでおき、dir コマンドと help コマンドで調べることができるものがあります。しかし、コマンド名しか分からないものもあります。
これらについては、オンラインディスカッションを見るか、どなたかが公開しているプログラミング例を探して調べるしかありません。
*1:以下を参照。