This document explains how to implement a KiCad plugin using the IPC (Inter-Process Communication) API. This approach allows plugins to run as separate processes, providing better stability, support for modern Python environments (independently of KiCad's internal Python), and a cleaner isolation between the UI and CAD logic.
The examples and patterns described here are based on the Ki-PIDA plugin implementation.