Python 3 API news? (Especially on Windows?)

I’d appreciate an update on the state of play of “the Python API” for V5.99/6.0.

As I understand it rather vaguely, there has been work ongoing to establish a new version of the API per se, and to update the Python interface to the API to Python 3.x (from Python 2.x).

And possibly different considerations for Python functions called from within the Kicad environment (historically using the special version of Python packaged with Kicad), versus the API for external command-line Python programs, which would most readily use the customary version(s) of Python installed on the platform by a user/developer. (The latter being problematic on Windows in Kicad 5.x, I think due to Kicad being compiled with MinGW or something, the result not being directly amenable to being called by Windows versions of Python?)

Some of these items appear to be holding up plug-in or add-on developers, one of which is Kikit, apparently. And I myself am holding off refining some scripts for my use, pending moving to 5.99/6.0, and whatever Python API arrangement it will have.

So I’m hoping to hear how progress is going in this area, and when we might see this stabilize. I apologize in advance if I’ve misconstrued the current state-of-play, or missed some vital news.

For what it’s worth, I’m most interested in the API for PCB, though Schematic would be neat too.


API for PCB has moved to py3 on windows a while ago in development version (5.99). A different, supposedly more stable API is planned to be added before the release which afaik covers both pcb and schematic. But when will that be only devs know.

Also official builds of Kicad on windows moved to msvc and therefore there shouldn’t be issues with cython modules not being usable because they were not compiled for mingw.

Thanks @qu1ck for the clarifications. Glad to hear that py3 and msvc steps are already in place in 5.99, that’s encouraging.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.