Full Footprint Library Lists ? (Ideally in ascii?)

Is there a URL or some hidden tool feature that can supply a Full Library List, in ASCII/Editor form ?

I can trawl using CvPcb, but that filters by seed part, not by User-supplied pin count, and there is no means I could find, to copy a line to an editor ?
To avoid robotic copy, I had to apply a footprint, then close and use E to get the cursor into box that can copy and then I have the long-Kicad-library-part-name-in-the-clipboard. Rather klunky.
Lib edit tools can edit, but they work per-library, and again seem to lack any export/list features ?

That’d be useful in order to look for a specific text string, like a JEDEC package for example. Only yesterday I would’ve loved being able to type the string “to-18” somewhere and get a list of entries to choose from, rather than having to figure out where a suitable TO-18 may have been placed, assuming there’s one. The TO-18 is very common which you would expect to find somewhere, and indeed there it was, but that’s not the case for may others, and obviously you want to be positive there isn’t a package already before commiting to producing one yourself.

Yesterday I even searched my libraries at /usr/share/kicad/library using find and grep but that didn’t seem to work and I don’t really know why.


Only thing that I could offer in python 2.7 is a footprint library parser that converts some of the content into a csv file (most of the properties stuff, not so much pin count or similar though).

I wrote it to be able to conveniently modify all my local libs in a spreadsheet prog and then write the changes back to the libs.
Maybe you can use some of it for your purposes?

I think others did similar stuff, but I don’t have links ready, sorry.

1 Like

Excuse my English, my native language is Spanish.
I made a script in python 3 which puts the footprint in a PDF document.
It’s my first script in python, you will are not too harsh to the code. I used WinPython, which already brings ReportLab installed.
python.exe d:\Python\script\footprint\kicad_mod_pdf.py “D:\Pcb\Kicad_footprint”

footprint_to_pdf.7z (9.9 KB)
Pdf example:
footprint.pdf (1.5 MB)


You have created an impressive catalog of available footprints! Good work!


Wow, that is impressive! Magic even :slight_smile:
I never imagined to ask about a Library to PDF ability !

The KiCad library area / Librarians really should include this sort of tool, and make use of it to refresh a Lib-Items.PDF on a regular basis.

Can I suggest the heading/index include columns for items count and revision/data and a total count would be good.

The sources of these libs & dates & KiCad release version should ideally be shown in the PDF opening page too, so readers of the PDF know how old it is, and exactly what it applies to.

I can find a nice web file / directory image listing here, for example

but that has libraries not in your PDF ? (most are there)
a couple near the top as examples…
and Capacitors_Elko_ThroughHole is not on that web list, but is found on the web.

footprint.7z (10.7 KB)
footprint.pdf (2.4 MB)
footprints from smisioto:
footprint_smisioto.pdf (1.7 MB)


Wow, now with timestamps and source links - Brilliant! :slight_smile:

A quick visual trawl shows VALVE-NOVAL_P, VALVE-OCTAL have maybe lost pin-rotation fields ?

I did not expect a circle have different radii in x and y.
(pad 2 thru_hole circle (at 7.62 0) (size 2.54 5.08) (drill 0.99822) (layers F&B.Cu F.Paste F.SilkS F.Mask))
I always seemed strange these pad but never checked.

footprint_script.7z (10.8 KB)

footprint.pdf (2.4 MB)


Hi felixq.
One doubt. should I run it passing each .pretty directory path or can I run it for the library directory containing all .pretty directories ?
and many thanks for this script. :wink:

Library directory containing all .pretty directories.
It takes a couple of minutes to complete.

1 Like

I found a small bug, plus made a couple of other changes.

The offset gets calculated wrong due to integer divide (maybe different in 2.7?):

<             xrz = (p['size']['x'] / 2) * scale
>             xrz = (p['size']['x'] / 2.0) * scale
<                 yrz = (p['size']['y'] / 2) * scale
>                 yrz = (p['size']['y'] / 2.0) * scale

timeout parameter not in 2.7:

<         stdout_data = p.communicate(timeout=10)        
>         #stdout_data = p.communicate(timeout=10)        
>         stdout_data = p.communicate()
<         stdout_data = p.communicate(timeout=10)
> #        stdout_data = p.communicate(timeout=10)
>         stdout_data = p.communicate()

Anyway, I ran out of threads (Win7; 64 bit, Python 2.7) so I disabled the git launching

< git_ok = testGit()
> # git_ok = testGit()
> git_ok = False

If you like, I can put the modified script in a github repo?

1 Like

It was my first time using python, there must be many details that escaped me. It can be optimized and improved its speed of execution.
I used WinPython 3.4.4, which is portable, does not need installation and works on Windows XP and 7.
I do not know why he ran out of threads, I thought he used only one thread.
You can put it in a git repository.

1 Like