Calling Python from .NET – Alternative Methods to IronPython

compatibilitynetpython

There are some great libraries for Python that have cousins in the .NET world, but some are unmatched.

Realizing that Python is a dynamic language, which makes it difficult to mix with a (largely) statically typed language like C# (though this is seemingly getting easier with .NET 4.0), there are options like IronPython which can help match up the two languages.

I've never come across any other options for dovetailing Python libraries with .NET. Are there any other ways to do this that are tried and true? I have far less experience with Python, so it's entirely possible that I'm overlooking something.

Best Answer

Providing your use case isn't dependent on speed you can use things like .net remoting and XML services to allow different platforms/languages/environments to talk to each other (this is the approach used by the Robot Framework RemoteLibrary for example).

Another option is to have some common data store behind both languages (typically a database).