What are the different options for interfacing C (or C++) with Python?

Viewed 1218

I know there are many ways to interface C function into Python: the Python C API, scipy.weave, ctypes, pyrex/cython, SWIG, Boost.Python, Psyco... What are each of them best for? Why should I use a given method instead of others? What should be considered when I need to choose a binding between Python and C?

I know some discussions about that, but they all seems incomplete...

I know that some questions on StackOverflow are related too. For example:

2 Answers
Related