これらの方法をすべて使用したわけではありませんが、ある時点ですべてを調査しました...
Python C API: Python にインポートできる Python モジュールにコンパイルされる C コードを作成する場合。または、C ライブラリとのインターフェイスとして機能する「接着剤」コードとして機能する Python モジュールを作成する場合。
scipy.weave : C コードのビットを Python コードに押し込むことができます。数値計算を行うために NumPy と SciPy を使用している場合は、これを調べてください。C コードは、たとえば weave.inline('printf("%s", foo)') のような文字列になります。
ctypes : Python コードから C コードを呼び出すことができる Python モジュール。基本的に共有ライブラリをインポートしてから、その API を呼び出します。これらの呼び出しでデータをマーシャリングするためにいくつかの作業が必要でした。あなたまたは他の誰かが書いた既存の C ライブラリの使用を検討している場合は、ここから始めます。
pyrex/cython : C コード (Python モジュールとしてインポート可能) に生成される Python コードを (いくつかの特別な構文を使用して) 記述でき、明らかに、Python インタープリターを介して実行した場合よりも高速に実行できます。これは「Python C API」ルートのようなものですが、C コードを生成するだけです。ボトルネックであり、非常に遅いコードのチャンクがある場合に役立ちます。cython を使用してその関数を書き直し、呼び出し元のコードからインポートします。
SWIG : C/C++ ライブラリのラッパー コードを生成します。インポートして使用できる python モジュールが完成するはずです。
Boost.Python : これは私が最もよく知らないものです。SWIG に似ているように見えますが、ラッパー レイヤーを自分で作成しますが、Boost マクロ/関数の多くの助けを借りています。
Psyco : あなたの Python コードを少し高速化します。私はあなたの時間を無駄にしません。コードのプロファイルを作成し、ボトルネックを見つけて、上記の手法のいずれかを使用して高速化します。