Library organization

I am trying to switch from Eagle to KiCad. I like KiCads idea of the centralised GitHub Library. I have created several components and I want to contribute.

However one thing bug my mind. How is the library organized? There is a kicad-library repository and there are .pretty repositories. The kicad-library repository contains schematic symbols and 3D models of the footprints. The .pretty repositories contain only footprints without 3D models. It seems to me we’re mixing apples and oranges. When I add new footprint and a corresponding 3D model, I have to create 2 PR in 2 different repositiories. Why is the library organized in such a way? Why it is not a single repository or why don’t the .pretty repositories contain 3D models?

schematic symbols reside in the libraries - one file contains several symbols, this concept is considered legacy and will be changed within the next couple months/years to a one file per symbol concept while the devs work on refurbishing eeschema.

footprints (.kicad_mod files) reside in .pretty folders, one file per symbol, one folder per ‘collection’ - this is current state of the art for KiCAD (2 years ago it was similarly organized like the symbols are still, got changed while they refurbished pcbnew)

3d shapes (.wrl files, VRML 2.0) reside in .3d-shape folders, one file per model

If you want to contribute/understand KiCAD content design read here:

Personally I only have/use local symbol libraries, footprint folders and model folders on a non-OS drive (for easier backup), so can’t tell you how the github/online/central stuff works really as I don’t use it.
You’re in the (un)fortunate position to catch KiCAD while it transitions from one lib concept to another - enjoy the ride like the rest of us :wink:

1 Like

Thank you for your answer. It’s good to hear the library structure is going to be changed.

Do you know what politics is applied to merging PR? There are lots of opened PR on the library which seems fine to me and they’re not merged, there’s no comment what’s wrong etc.