KiCad 9.0 Python API (IPC API)

Thank you for checking. I’ll join the mailing list.

1 Like

Hi everyone,
I have a question related to KiCad IPC development.

Recently, our team developed a standalone Python GUI tool that interacts with KiCad. In most cases, it uses kicad-cli, since our main goal is to manage schematic data. However, the tool is also designed to be recognized by KiCad 9+, and even displays a custom toolbar icon in the schematic editor.

The issue I’m encountering is on Ubuntu, where KiCad 9.0.2 fails to properly set up the Python environment for the app. Unlike on Windows and macOS, it seems that KiCad relies on system packages — but something appears to be missing in this process.

The only workaround I’ve found is to manually create a virtual environment and copy the dependencies into the following path:
~/.cache/kicad/9.0/python-environments/[integration_id]/.
After doing this, KiCad is able to load the integration and show the toolbar icon as expected.

I’d really appreciate any suggestions on why this setup for IPC integration doesn’t work automatically on Ubuntu. Is there something I might be overlooking?

Can you create an issue on the kicad-python repository giving more details about your plugin so that we can try to reproduce the issue?

@craftyjon, Certainly, I can take care of that. Would you mind sharing a direct link where I can do that to ensure there’s no misunderstanding?

I’ve successfully reproduced the issue using a minimal IPC integration with wxPython and kicad-python dependencies. The test simply displays a message box showing the KiCad version. I can share a ZIP package that can be installed via the Plugin and Content Manager.

1 Like

Here is the issue I’ve just created: IPC integration is not functioning correctly on Ubuntu (#60) · Issues · KiCad / KiCad Source Code / KiCad API Python Bindings · GitLab

1 Like