kicad-evaltor
Python test-suite library for validating KiCad designs programmatically: connectivity, ERC and DRC results, routing, placement and fabrication outputs, with no KiCad install needed.
What it does and how it connects
kicad-evaltor is a Python library for validating KiCad designs programmatically. Describe the properties a design is supposed to have (reference designators, values, connectivity, footprint assignment, ERC and DRC results, routing, placement, copper and fabrication outputs, sheet readability) and run them as a test suite. It also exposes measurements and queries that work directly in the user's own pytest tests, without a runner.
It works against KiCad 10 and later. Most checks need nothing but the file itself: the schematic reader parses .kicad_sch directly and the board reader does the same for .kicad_pcb. Where KiCad already has the answer, the library asks KiCad instead of guessing: kicad-cli for netlist, ERC, DRC and fab exports, and pcbnew under KiCad's bundled Python for trace length, via rules, pour coverage, thermal vias and similar. Without those tools, the affected checks report an error and the rest of the suite still runs. It does not need the KiCad IPC API server, which KiCad 10 removed, or a running KiCad.
Install is pip install kicad-evaltor. A quick start in the README builds a DesignContext around a .kicad_pro, runs component value, ERC and text-overlap checks through a TestRunner, and prints a summary. On Windows and macOS, KiCad is not put on PATH; DesignContext finds kicad-cli and KiCad's Python in the standard install folders.
Alternatives
Compare side by side- kicad-happy
A suite of AI agent skills that analyze and review KiCad schematics, PCBs and Gerbers, rather than a Python test-suite library for validating designs.
- kicad-mcp-pro
An MCP server that exposes KiCad schematic, PCB, ERC/DRC, DFM, BOM and manufacturing export workflows to AI agents, rather than a Python test-suite library.
- boardreadyops
A local-first, policy-as-code hardware release pipeline for KiCad with signed evidence, rather than a Python test-suite library.
- kicad-claude-mcp
An MCP server that edits KiCad files directly with 105 tools and Freerouting autorouting, rather than a Python test-suite library.
Recurring errors it addresses
Error Index entries this tool is built to reduce or work around.
- Interactive routing creates unwanted micro-segments and awkward paths that take time to clean up.Error Index
- Grid snap and move commands can disconnect items or reposition them in unwanted ways.Error Index
- GUI lag, occasional freezes, and sluggish editor switching interrupt concentration.Error Index
- Wayland/NVIDIA users report graphical glitches, flicker, or instability.Error Index
- KiCad 10.0.0 to 10.0.6 wrote every ERC JSON position 100x too small, so a review tool compensating by 100 would place every marker 100x too far out on KiCad 10.0.7.Error Index
Sources
Not verified
- Pricing: none stated on the repo.
- No independent user voice found: the repo has one public issue, the owner's own.
- Thin source: 0 stars and no user issues; the entry rests on the README and the repo record.
Last verified November 6, 2026. Listings are informational. The evidence score measures public, verifiable evidence and is not an endorsement or a compatibility claim.