What problem does it solve?
This Skill provides a Zig-based S-expression engine and KiCad model bindings, exposing them to Python to enable seamless parsing, formatting, and manipulation of KiCad data within Python tooling.
Core Features & Use Cases
- Fast Zig tokenizer, parser, and pretty-printer for S-expressions used in KiCad data.
- Typed KiCad models exposed to Python via the pyzig_sexp extension, enabling Pythonic interaction with PCB, footprint, and schematic data.
- Use Case: Automate validation and transformation of KiCad files in a Python workflow or integrate S-expression tooling into KiCad design pipelines.
Quick Start
from pathlib import Path
from faebryk.libs.kicad.fileformats import kicad
pcb = kicad.loads(kicad.pcb.PcbFile, Path("board.kicad_pcb"))
_text = kicad.dumps(pcb)