Installer KiCad et utiliser son API Python (interface, console, headless)
Installez KiCad, lancez vos premiers scripts depuis la console ou en ligne de commande, et découvrez le headless avec pcbnew et l'API IPC.
Avant de scripter le moindre footprint, il faut un KiCad installé et savoir où exécuter ses scripts Python. Ce tutoriel couvre l’installation, puis les trois façons de lancer du code contre une board : depuis l’interface, en ligne de commande avec l’interface fermée, et — point souvent mal compris — en headless avec l’API IPC.
Installer KiCad
Téléchargez l’installeur depuis kicad.org : .exe sous Windows, .dmg sous macOS, paquet de votre distribution ou Flatpak sous Linux. Prenez la dernière version stable — KiCad 10/11 est recommandé si vous comptez utiliser l’API IPC, introduite avec ces versions.
L’API IPC doit être activée explicitement : dans les préférences de KiCad, section Extensions et API IPC, cochez l’option qui autorise les scripts externes à se connecter. pcbnew, la liaison C++ historique, ne nécessite aucune activation particulière : elle est disponible dès l’installation.
Utiliser l’API depuis l’interface de KiCad
Dans pcbnew, ouvrez Outils → Console de script Python. C’est un interpréteur Python interactif avec un accès direct à la board actuellement ouverte :
import pcbnew
board = pcbnew.GetBoard()
print(board.GetFileName())Avec l’API IPC activée, un script externe (dans votre éditeur, un terminal, un notebook) se connecte à l’instance de KiCad déjà ouverte, sans passer par une console intégrée :
from kicad import KiCad
kicad = KiCad()
board = kicad.get_board()
print(board.name)Utiliser l’API en ligne de commande, sans interface
pcbnew s’utilise aussi entièrement headless : aucun process KiCad n’est nécessaire, le module Python charge directement le fichier .kicad_pcb en mémoire dans votre propre script :
import pcbnew
board = pcbnew.LoadBoard("ma_carte.kicad_pcb")
# ... modifications ...
pcbnew.SaveBoard("ma_carte.kicad_pcb", board)C’est la base de la plupart des pipelines CI qui valident ou modifient des boards automatiquement.
L’API IPC reste un modèle client/serveur, même sans interface graphique : un process KiCad doit tourner en arrière-plan pour répondre aux requêtes. On le lance en mode headless, puis on s’y connecte exactement comme dans les autres tutoriels de ce site :
from kicad import KiCad
kicad = KiCad()
board = kicad.get_board()
# ... mêmes appels que dans les tutoriels footprint, via et zone ...Contrairement à pcbnew headless, il y a donc toujours un process KiCad actif en arrière-plan — simplement sans fenêtre visible.
Pour aller plus loin
Une fois l’environnement en place, les tutoriels suivants montrent comment scripter chaque étape concrète du layout — placement de footprints, création de vias, zones de cuivre — avec les deux APIs.