Native standalone cli tool for schematic plotting

From eeschema we can make the schematic plot pretty easily, but seems we can only plot it through GUI and there’s no native support on the terminal. There’s an external tool named eeshow and it can print the schematic into PDF and even generate diff image between two versions of the schematic, which is very cool and useful in terms of building CI system and help people with the review process. However the last commit of that tool was in 2017 and it’s failing here and there when I tried to use it. I wonder is it possible to build and maintain some terminal tool for plotting or even generate diff image for the schematic?

Found some related issues tagged with wishlist:

  1. Terminal plot: https://gitlab.com/kicad/code/kicad/-/issues/1978
  2. Diff tool: https://gitlab.com/kicad/code/kicad/-/issues/2151

It would be really nice to have the official support for these tools as that could improve the collaboration experience for users since it could largely improve the automation of review workflow. These issues are at the bottom of the list but it’s actually really important from CI automation perspective.

1 Like

Different kinds of non-GUI functions have been added to the scripting API every now and then, and believe there’s a good chance to get this for v7 (not the next stable major version, but one after that). Also the diff tool has garnered some interest from the developers and is in the wishlist of many users, so I wouldn’t surprised to see it in v7, too. I wouldn’t say they are “at the bottom of the list”. But that’s probably something like 1 and 1/2 years from now.

1 Like

I don’t know from memory if scripting for Eeschema has made it into V6, or if that is also for a later version.

There are several issues and enhancement requests for CLI options for Eeschema. Running some script from the CLI would also be a logical choice, and I would also expect all menu functions reachable with a mouse to be available to the scripting interface.

There are plenty of Ideas surrounding KiCad. If only implementing them was as quick as thinking of them… then KiCad would have a completely different GUI each week… Ouwtch…

1 Like

Great to get a rough time line for these items! My only concern is that currently people have the desire of the tool and created tools of different flavor on their own and a KiCad major version bump could easily break their existing works. Many community tools are dropping maintenance for years so they might not work as expected out of box. It would be nice if we can have a unified proposal or design doc on these tools to be implemented and it will also be helpful to distribute the development to the community and involve more developers for helps. That’s my 2 cents.