Thank you for checking. I’ll join the mailing list.
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.
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
I just want to check if it is possible and if anyone is able to install an IPC plugin using *.zip with KiCad 9.0.4 release build.
My plugin runs successfully from a terminal and from an IDE (vscode). It also runs when the files are copied to the plugin folder as described above.
Python version is: Python 3.12.3
The files in the zip are (same as the files I copied to the kicad pugin folder):
|- plugin.json
|- requirements.txt
|- icon.png
|- demo1_code.py
When I try to install the zip from the KiCad menu (Tools/Plugin and Content Manager/Install from file), it gives me an error “Archive does not contain a valid metadata.json file”.
Is this method only usable with the old plugins?
I have not yet tried it - but it sounds like it