← Back to team overview

kicad-developers team mailing list archive

Re: SWIG binding

 

2016-09-16 18:08 GMT+02:00 Tomasz Wlostowski <tomasz.wlostowski@xxxxxxx>:
> 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.
>

There have been some work towards an other API like,
https://github.com/KiCad/kicad-python

But it seems that it needs participants to define the API. Above seems
to be a wrapper on the kicad API to write python scripts against. The
idea seems that it should be easier to update the wrapper to match
kicad, rather than rewriting every script that depends on kicad.

I don't say that either tool is the correct solution or not, I just
suggest that someone is needed to actually define the API also.

> Cheers,
> Tom
>
>
>>
>> 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


References