Yep, SIP is used to create the python binding around the big (lots of code) Qt library. I think there is also a solution from Boost.<br><br><div class="gmail_quote">On Tue, Dec 30, 2008 at 10:32 AM, Andy Wiggin <span dir="ltr">&lt;<a href="mailto:andywiggin@gmail.com">andywiggin@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">It&#39;s been a long time since I did this myself, but another wrapper<br>
generator to consider, and the one I used, is SIP (<br>
<a href="http://www.riverbankcomputing.com/software/sip/intro" target="_blank">http://www.riverbankcomputing.com/software/sip/intro</a> ). As I remember<br>
you basically provide it with a simplified C/C++ header file, and it<br>
takes care of the rest. It worked very well for me, where I was<br>
creating bindings for a few dozen fairly simple C++ classes in order<br>
to do cross-platform GUI programming in Python.<br>
<font color="#888888"><br>
-Andy<br>
</font><div class="Ih2E3d"><br>
On Mon, Dec 29, 2008 at 12:23 PM, nar &lt;<a href="mailto:nar@hush.com">nar@hush.com</a>&gt; wrote:<br>
</div><div><div></div><div class="Wj3C7c">&gt; Hi guys,<br>
&gt;<br>
&gt; Long time lurker, first time poster -- I&#39;ve got a question that has been<br>
&gt; bugging me for a while and I figured I&#39;d roll it out here to see what<br>
&gt; opinions people may have.<br>
&gt;<br>
&gt; I&#39;ve done a bit of work with Python binding to DLLs on Windows and shared<br>
&gt; libraries on Linux/OSX, but I&#39;ve mostly taken the ctypes route using GCC-XML<br>
&gt; to generate wrapper code for me. It would seem that most cheese shop modules<br>
&gt; use Pyrex with hand coded wrappers or SWIG to half auto-gen the wrappers and<br>
&gt; finish off with hand fix-ups.<br>
&gt;<br>
&gt; Since ctypes ships with Python I kind of assumed it would be the &#39;default&#39;<br>
&gt; way of performing this task, but most people seem to like Pyrex and a<br>
&gt; minority of people seem to use SWIG but hate it.<br>
&gt;<br>
&gt; I suspect the question is similar to asking &#39;Which is better, vi or emacs?&#39;,<br>
&gt; but I&#39;d like to hear what other people are doing / have done and why they<br>
&gt; prefer it?<br>
&gt;<br>
&gt; For those unfamiliar with ctypes / ctypeslib here&#39;s the process:<br>
&gt;<br>
&gt; 0) Install gccxml<br>
&gt; 1) Install ctypeslib module if it&#39;s not on your system, this will put<br>
&gt; h2xml.py and xml2py.py on your system<br>
&gt; 2) h2xml.py -I/path/to/includes SomeIncludeFile.h -o SomeIncludeFile.xml<br>
&gt; 3) xml2py.py SomeIncludeFile.xml -o NewPythonModule.py<br>
&gt;<br>
&gt; There&#39;s a bit of fiddling you can do with the h2xml stuff as far as<br>
&gt; preprocessing, but that&#39;s roughly what it takes. You still need to hand-fix<br>
&gt; the generated wrapper code to make it &#39;pythonic&#39; if thats your flavor, since<br>
&gt; it passes C-type variables in and out, but it still seems like a better<br>
&gt; development flow than using Pyrex/SWIG, but there may be factors I&#39;m unaware<br>
&gt; of. (Which is why I&#39;m asking here!)<br>
&gt;<br>
&gt; Hopefully this isn&#39;t too off topic for the list, I look forward to the<br>
&gt; responses,<br>
&gt;<br>
&gt; Thanks!<br>
&gt;<br>
&gt; Nathan Ramella<br>
&gt; nar &lt;&gt; @ &lt;&gt; <a href="http://hush.com" target="_blank">hush.com</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Baypiggies mailing list<br>
&gt; <a href="mailto:Baypiggies@python.org">Baypiggies@python.org</a><br>
&gt; To change your subscription options or unsubscribe:<br>
&gt; <a href="http://mail.python.org/mailman/listinfo/baypiggies" target="_blank">http://mail.python.org/mailman/listinfo/baypiggies</a><br>
&gt;<br>
_______________________________________________<br>
Baypiggies mailing list<br>
<a href="mailto:Baypiggies@python.org">Baypiggies@python.org</a><br>
To change your subscription options or unsubscribe:<br>
<a href="http://mail.python.org/mailman/listinfo/baypiggies" target="_blank">http://mail.python.org/mailman/listinfo/baypiggies</a><br>
</div></div></blockquote></div><br>