Objects from C# to Python [1/3]

Setting up the development environment is fairly straightforward under Windows 8.
We will not cover the installation of each component as I did not find anything special worth mentioning.
So here is my shopping list:

IDEs

For Python, I am using the Python(x,y) distribution which includes Numpy, Scipy, Matplotlib, Qt amongst others, under the Spyder GUI which I find more lightweight than Eclipse.
For C#, Microsoft Visual Sudio 2012 Express for Windows Desktop (or higher) is more than enough if you do not own a full license.

Libraries

Protocol Buffers

For Python, simply run

pip install protobuf

For C# download protobuf-net

ZeroMQ

Install the ZeroMQ binaries: this will provide libzmq.dll which will need to be in the path when running ZeroMQ from Python or C#.

Then for Python, run

pip install pyzmq

Finally, for C#, just download clrzmq.

Objects from C# to Python [0/3]

There are multiple ways to integrate C# and Python. The easiest of all is by far IronPython, but there are some limitations as some libraries have not been ported yet, and it is limited to the same process.To make things more portable and scalable, the most logical path is using ZeroMQ and Protocol Buffers.

Part 1 covers the installation of ZeroMQ and Protocol Buffers.
Part 2 shows how to write a string publisher in C# and a string subscriber in Python.
Part 3 puts everything together and demonstrates how to serialize structured data to exchange objects between the publisher and the subscriber.