← Back to team overview

kicad-developers team mailing list archive

Re: How to compile with Python support?


Dick Hollenbeck wrote:
Laurent Dufrechou wrote:

Thanks dick for the update!
Ok I will wait until all is stabilized. If you need help in the future to
make the binding I can help a little, I've used SWIG (that completely
automate the binding) for a big complex C++ project (which used all C++
trick templates, overloading, polymorphism, C array to numpy array
conversion etc...).
Ho and if you need a better shell for python I'm currently working on
ipython console for wx, so could be interesting for you too.
So, if you need help in the future, drop me an email!


Thanks for your offer!
I will try and remember to get back to you later.

There are 3 reasons that we are leaning away from SWIG and towards Boost.Python for the python bindings:

1) We are already using Boost C++.

2) We are already using Boost.Python for the Kicad binary.

3) There was a discussion on this list about SWIG vs. Boost.Python vs. other alternatives about 6 months ago, and Boost.Python won the discussion as I recall. In this discussion I played the role of moderator, not advocate.

It is too early and undesirable to re-visit this decision, but I just wanted to let you know and give you a heads up.



Sorry for my late answer (and for being away all that time of the list ..., I was pretty much busy last months ...)

Dick, about the modernisation effort, my idea would be that you just hack down the python binding, just don't care about it, I'll fix it from time to time. I think your doing a pretty good job about that. I'll try to set up a 'non official page' about Python bindings on my website, and merge my changes into the code. Just mail me when you thow away some python bindings, and i'll update it as soon as possible. (please use my personnal email for that, I think you already got it).

BTW, code is evolving pretty much fast, what part of kicad do you think is the most advanced (aka, will undergo the less changes in a near future), so I can start to add bindings at it. Also, about the SWIG thing, I saw some evolutions around I might check, I have to see if the points I mentionned at that time are still valid (I'll get back to you), SWIG may now be a nice choice :) I'll check it out. And, well, since I got away from the list that much time, I'll recode the binding if SWIG proove to be better (I have to play a bit with it before that).

BTW2, do you have some architecture documents about KiCAD so I can have a look at what's going on ?


Florian (the Boost.Python advocate :D)

Follow ups