Calling external program directly from Eeschema


I am new to Kicad and Eeschema and was wondering if there was a way to call an external file, such as a python script, directly from Eeschema, similar to how a netlist or a BOM can be created by calling a script.
Thank you.


Not possible. The only way would be to call it as a BOM script, it doesn’t have to create a BOM since KiCad doesn’t look at the output.


Thank you. However, when I try calling any BOM script, I get the following error:

Command error. Return code 1

Error messages:
File “C:\Python36\Lib/”, line 178
SyntaxError: invalid syntax

Would you know why?


What does your command line look like?

It looks like there is a mix up between python 2.7 and 3.6. If you have a python 2 script, run it with py -2, otherwise use py -3 for Python 3.


My command line is : python “C:\KiCad\bin\scripting\plugins\” “%I” “%O”

Should I be saying:
python-3 “C:\KiCad\bin\scripting\plugins\” “%I” “%O” ?


I use a test script called, it prints hello and the python version. Python 3 installs the command “py”, which can call up Python 2 or 3.

“python --version” calls python 2.7
“py -2 --version” calls python 2.7
“py -3 --version” calls python 3.6

You can try all those commands in a command prompt to confirm. It might be different depending on how you have your path variables set. I also have Python 2.7 and 3.6 installed which might make a difference.

An example:

My script

import sys
print ("hello Python %s world!" % sys.version.split()[0])


Oh Thank you! I think the problem might be that I am using Python3 not Python 2 and KiCad reads python2.
I’ll try it and let you know if it works.
Thanks again!