← Back to team overview

kicad-developers team mailing list archive

Re: SWIG binding

 

On Sat, Sep 17, 2016 at 2:08 AM, Tomasz Wlostowski <
tomasz.wlostowski@xxxxxxx> wrote:

> On 16.09.2016 18:01, Michael Steinberg wrote:
> > Hello all,
> >
> > when activating python bindings on my msvc build with a few refactor
> > commits applied, it came to my attention that SWIG simply does not
> > support std::unique_ptr.
> >
> > With this message I want to ask what is the common view whether it is
> > okay to have SWIG thumbscrew the project's source code, considering
> > there are alternative generators, and generatorless libraries like
> > pybind11. Of those alternatives I would *personally* prefer the latter,
> > as it is no black box and the binding generation is part of the normal
> > c++ source code.
> > There's been a discussion on the irc channel regardings this and also
> > the dependency on having wx exported as well. So I thought the logical
> > consequence would be to broaden the audience and move the discussion
> here.
>
> Hi Michael,
>
> It may sound controversial, but I'd say using SWIG is a bad idea: we
> expose for the people the internal APIs of pcbnew that we intend to
> refactor in the near future. Any change to the BOARD storage model means
> a change to the scripting API. IMHO we should have a more pythonish API
> that hides all C++ stuff from the python side completely and is
> independent from the changes in pcbnew's core.
>
> Cheers,
> Tom
>
>
I agree with all that as well. I think the best thing to do is create a PCB
API
which provides C bindings and people can make whatever scripting
language API on top of that; this way there will be a much more uniform
scheme for everyone. I was thinking about this while working on the STEP
exporter but the more I looked at things, the bigger the job became.
Eventually I thought it would take me a year or even more hacking at it
part-time so I put it on the deferred list of things to do. Until we have
such
an API, I think things will be a bit of a mess. On the other hand some
people want a scripting API now and can't wait for some part-time coder
to come up with something in a year or two.

- Cirilo



>
> >
> > Cheers!
> > Michael
> >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~kicad-developers
> > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~kicad-developers
> > More help   : https://help.launchpad.net/ListHelp
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References