I want to extend a large C project with some new functionality, but I really want to write it in Python.  Basically, I want to call Python code from C code.  However, Python->C wrappers like SWIG allow for the OPPOSITE, that is writing C modules and calling C from Python.
I'm considering an approach involving IPC or RPC (I don't mind having multiple processes); that is, having my pure-Python component run in a separate process (on the same machine) and having my C project communicate with it by writing/reading from a socket (or unix pipe).  my python component can read/write to socket to communicate.  Is that a reasonable approach?  Is there something better?  Like some special RPC mechanism?
Thanks for the answer so far - however, i'd like to focus on IPC-based approaches since I want to have my Python program in a separate process as my C program.  I don't want to embed a Python interpreter.  Thanks!
apparently Python need to be able to compile to win32 dll, it will solve the problem
In such a way that converting c# code to win32 dlls will make it usable by any development tool
How do you call Python code from C code?