Wishlist: one file per symbol in eeschema libraries.

Bug #1842206 reported by Maxthon Chan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
New
Unknown

Bug Description

I wish eeschema would use a similar library format layout as pcbnew: each library is a folder, with each symbol/footprint in a file. This would make library management and updates much easier, since libraries merges can be carried out by simply merging contents of two folders.

The simplest way of implementing this is keep the current library file formats, but use them to store one symbol in each file. Then put those files into folders to represent the folder-style libraries.

Software: eeschema (5.1.2-1)-1 macOS Mojave.

Tags: eeschema
Revision history for this message
eelik (eelik) wrote :

(I'm not a developer.)

There will be new file format and library format layout similar to footprints in version 6.0.

Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :
tags: added: eeschema
Changed in kicad:
importance: Undecided → Wishlist
milestone: none → 6.0.0-rc1
status: New → Triaged
Revision history for this message
Rene Poeschl (poeschlr) wrote :

Didn't wayne realize it is possibly not a good idea and reversed this? I seem to remember a mailing list message or a message in some bug. (Something about the fact that symbols can reference each other via the inheritance stuff and this does not work well if they are in separate files)

Revision history for this message
Maxthon Chan (xcvista) wrote :

This should still be doable, just put the same symbol family in a single file - that is, only symbols that lacked an inheritance gets a separate file. Or use symlinks.

Revision history for this message
Rene Poeschl (poeschlr) wrote :

What you really wish for is a good way to merge libraries. Having every symbol in a separate file simply offloads this task to the operating systems file browser. (At the cost of raising implementation complexity of symbol to symbol interactions and increased loading times.)

The same task could also be implemented within kicad instead. For example by allowing the import symbol feature to select multiple symbols from a source file. Or even an intelligent system that uses version control tools to be able to say "this symbol is newer in that file do you want to use that?". And i am sure some dev can come up with something even better than i could. Just accept that maybe your proposed solution to a problem might not be the one that will be chosen in the end.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

One file per symbol may or may not happen due to the inheritance design of the new file format. It doesn't make sense to create multiple files for a single symbol so it's most likely that the new symbol library file format with be multiple symbols per file like the current file format. The other reason is performance. Currently there are over 14K symbols. The load times would be terrible if each symbols were in a separate file. This is why we implemented caching for the footprint libraries. I suppose we could implement a hybrid solution where we could support multiple or single symbols per file that are part of a library implemented as a folder of files. I'm still working that out with the new file format so nothing is out of the realm of possibility at the moment.

Rene Poeschl (poeschlr)
summary: - Wishlist: one file per symbol in eeschema libraries.
+ Wishlist: one file per symbol in eeschema libraries. (easy merging of
+ libraries)
Revision history for this message
Maxthon Chan (xcvista) wrote : Re: Wishlist: one file per symbol in eeschema libraries. (easy merging of libraries)

If a native KiCad solution is preferred, we will need some kind of symbol library installer that will merge and update libraries without wiping custom additions.

One idea I have here if symbols are to be put in a single file is instead of separate files, is to put all the libraries in something like a SQLite database (or for design teams, a shared instance of MariaDB,) and distribute exported symbols as SQL files that updates the database. As of the installer, it comes with an empty but preconfigured SQLite database file for new installations, and a huge SQL file that contains all symbols as exported SQL.

summary: - Wishlist: one file per symbol in eeschema libraries. (easy merging of
- libraries)
+ Wishlist: one file per symbol in eeschema libraries.
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

KiCad bug tracker has moved to Gitlab. This report is now available here: https://gitlab.com/kicad/code/kicad/-/issues/2490

Changed in kicad:
status: Triaged → Expired
Changed in kicad:
importance: Wishlist → Unknown
status: Expired → New
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.