I quite dislike at least 3 important aspects in python:
- The ridiculous dependency on whitespace, which leads to many bugs (and then try to format a patch !!!)
- No declarations of variables, Every time you mis-spell a var, python just invents a new one.
- No compilation, simple syntax errors are only caught when that particular line is executed.
There are probably more, but I have not used python much yet.
That said, Python is a quite universal scripting language, used in many different applications. In the last years it seems to have become the defacto standard for scripting. Also for KiCad. There are some 20+ side projects around KiCad and most of them use Python. Python is also used as a scripting language in Pcbnew (although the API apparently has not stabilized yet) and in KiCad V6 it’s also going to be implemented in Eeschema as a scripting language.
KiCad’s footprint wizards are also python scripts.
When you also use python you get access to all the stuff already written for and around KiCad, which is the way Open Source works. You benefit from the code others have written, others benefit from the code you have written, and together the usability of KiCad increases, which makes it more interesting for more people.
Github lists 601 repositories related to KiCad and Python:
Repository search results · GitHub
On Mitja’s request, updated link from his fork to the more upto date:
Over there I counted more then 60 hand picked projects before it gets into “half-baked tools” and “Plumbing”. I did not count those ![]()