← Back to team overview

kicad-developers team mailing list archive

Re: Python support in kicad (yes, I am --very -- late)


Florian Delizy wrote:
(sorry for double post, I forgot the list in Cc)

Write a python script, call it from Wizard Fountain, generate the file that
Kicad needs from there.
[… repeated more than once…]

Ok, well, i understand your « internal C++ to python binding is bad »
point of view, and I respect it, but saying that this way imply that
any internal interactive control is simply rendered impossible.
Basically, any script is then only doing pre/post processing (that’s a
bit limited IMO).

Plus the fact that in the end, you have to develop and maintain
utilities lib twice (one for C++, one in the script language) for any
part that actually need a « physical » representation.

As a matter of fact, this could be solved easilly in doing that
binding (hold on the bite a second), but then again, I agree on your
opinion. Currently, KiCAD has no support for C++ plugins, this then
makes extending KiCAD a bit tough too. I am not sure if this is
planned, but, here is a proposal : why not specify and add a plugin
system, and then let the binding be in a separate tree, maintained by
plugin author ? (moreover, plugins are usually a good thing to have as
they allow easier extensions).

Imagine a balance scale, and you put PROs on one side and CONs on the other. I see your pros, I see my cons. The scale tips in favor of cons.

Do you know what an "incubator" is? I used that term at least twice in previous emails.

I referenced a python library that reads BOARD files twice. I said building on python 2.6 is like building on *sand*.

I said what you can do, I numbered the specific contributions. Out of that, would come the knowledge that you even know python. We don't even know that. What we have now are cookie crumbs that crunch beneath our feet.

I said that supporting two languages dove-tailed together is like a ball and chain to the evolution of either. Imagine running a race at a picnic with a partner where you both have one leg in a common burlap sack. You cannot run fast. I said I had enormous experience with this, and that I am not simply guessing. (Dove-tailed languages, not burlap sack racing..)

Now put these CONs on the balance scale, and it takes a huge set of PROs to cancel it all out. The "incubator" is your environment to grow those PROs until such time as they could even begin to cancel out the CONs and tip the scale. I talked about plugins. You bring up plugins like it was a new idea.

Now this will be the last email in which I reference things I've said 3 times. My time is too valuable. It is like you are missing 1/2 of your foreign language dictionary, and the translation is only going one way. :)

In the end, it is open source, you can dove-tail in more cookie crumbs on your own hard drive, and pound on sand there. Or you could become part of a team that is using a balance scale on a continuous basis to find optimum solutions for our users, but more importantly, for our developers. When our developers have optimum solutions, then our users do.