Pyrex
Pyrex は、Pythonの拡張モジュールの作成を補助する目的で開発されたプログラミング言語である。Python は拡張モジュールを記述するためのC言語のAPIを提供している。関数とデータ型をC言語で記述することができ、記述したモジュールは Python からアクセスすることができる。既存の C ライブラリ の関数とデータ型を Python オブジェクトとしてラップし、Python から利用可能にすることもできる。
こうしたプロセスの自動化を補助する SWIG のようなツールも存在するが、Python から外部のライブラリを利用可能にすることに限定されており、API の変更が必要な場合、再度グルーコードを手で記述する必要がある。このような場合に Pyrex は適している。Pyrex ではユーザーが C コードに直接アクセス可能な Python に似た言語を用いて、拡張モジュールを記述することを可能にする。
Pyrex と Python の文法が似ているため、Python のモジュールを記述するのは容易であり、C や C++ などの異なる言語を習得する必要がない。また、グルーコードを書く必要もない。C のヘッダファイルと、拡張モジュールでアクセスする必要のある列挙型、データ型、関数を指定するだけでよい。Pyrex コンパイラが必要なグルーコードを自動的に生成し、Pyrex コードを動作する Python モジュールにコンパイルしてくれる。