[Python.NET] [python] Re: Experimental C Extensions from IronPython with Python.NET - code and article
fuzzyman at voidspace.org.uk
Wed Oct 24 23:26:52 CEST 2007
Christian Heimes wrote:
> Michael Foord wrote:
>> I've just posted the experimental code for accessing CPython extensions
>> from IronPython. It uses the embedding wrapper from Python.NET so I
>> thought I would let you know. :-)
>> Blog entry:
>> Article: http://www.voidspace.org.uk/ironpython/cpython_extensions.shtml
>> Despite some serious limitations it works! I have already had matplotlib
>> with numpy and Tkinter working from IronPython.
>> We're evaluating to see if this should be the basis of our 'C Extensions
>> from IronPython' project.
> Nice work, Michael! :)
> I've been doing some work on PythonDotNet over the last couple for
> months, mostly porting it to Python 2.3, 2.5 and 2.6, getting Mono and
> UCS-4 builds done and straighting out bugs. I've also played with the
> idea to embed PythonDotNet in IronPython but I haven't got as far as
> you. And to be honest I haven't thought that it's so easy to get the
> basics done. I'm still fighting with IronPython on Mono.
> I have been trying to use a different approach to exchange data between
> IronPython and PythonDotNet/CPython. I used the same approach as the
> processing package. It uses pickles to exchange data across multiple
> Python processes.
All I've done so far is a pure-python wrapper (to run under IronPython)
that uses a vanilla build of the Python.NET dlls - so it sounds like
you've done an awful lot more than me!
Using this approach *should* be more efficient than exchanging pickles
though. It already allows you to access CPython extensions though, which
If we decided to go ahead we would probably work on PyObjects to make
them behave more like their IronPython equivalents.
Our goal (whichever approach we take in the end) is to allow Python code
that uses CPython extensions run unchanged in IronPython.
If anyone is interested in this you can get the details in my blog entry:
All the best,
More information about the PythonDotNet