Kicad Librarian incompatible with v6

Have been using KiCad-Librarian for a long time for bulk merging of local project libraries into my own master library, but regrettably it seems not to be compatible with the new v6 file formats and doing this within KiCad itself seems very cumbersome because copy and paste in the library editor doesn’t even have any keyboard shortcuts.
Will the awesome functionality of KiCad-Librarian be incorporated into KiCad v6

Please?

Looks like the code was last updated in 2018, so, not hopeful. Have you tried contacting the contributers on github?

Not yet… you do mean gitlab right?

No. This isn’t an ‘official’ Kicad package. It is strictly 3rd party. Check the link you provided. I can’t really tie any of the developers to this forum so I can’t help much with that.

Earlier I found a link to the project on the compuphase website but I can’t find it again and it is hidden from menus as far as I can tell.

Anything this 3rd party tool can do that the KiCad library tools can’t do? The (old) presentation video seems to indicate no.

@hermit
Oh sorry, I thought you meant the KiCad contributors.
Yes I did post an issue report there.

@eeintech
Yes, did you not read my original post? :wink:
Anyway, bulk merging of libraries seems to be the main culprit for me (copying or moving more than one symbol in a single operation)
If this can be done with the KiCad library tools please tell me how.

EDIT: text “footprint” replaced by “symbol”

@Kharar Use Git to add and merge parts to your master library, don’t use local libraries :+1:
If you still want to use local libraries, it’s only a text merge away (no need for GUI), but I wouldn’t recommend it.

Footprints are one file for each footprint. To add a bulk of footprints to a lib you simply copy their files into the folder of the lib you wish to add them to. You shouldn’t need a tool for that?

Symbols is another matter. There’s one file for each symbol lib. It could be a little more tricky to add symbols to a lib in bulk.

Yes I am aware of the simplicity of footprints - not a problem. (I meant symbols, sorry)
Symbols however is a real pain - this is where KiCad-Librarian has been a godsend - until now.
It can be done using a text editor, if you have tons of spare time and already know what you are doing, not really a suitable option IMHO. (I’m not familiar with git merge)
Hence the original request/post.
Anyway I seem to be just repeating myself …

Well, to each their own. But, you are kinda dead in the water with this unless the authors take it up. Like I said, I don’t remember seeing any of them on this forum. :frowning:
http://www.compuphase.com/electronics/kicadlibrarian_en.htm
@sprig hasn’t been active for about a month but it looks like he used it.

Instead of repeating yourself and wasting time with looking into obsolete tools, just learn Git and move on.

Well, it might not be obsolete yet. All we can do is say at this point is WE can’t be of much help. We all have our preferences. :wink:

1 Like

Well okay… can someone point me to a tutorial that covers this git merge procedure please?

No need for merging, just use Git like you would normally.

  1. Check current status
$ git status
On branch main
nothing to commit, working tree clean
  1. Add symbol to your libraries

  2. Check new status

$ git status
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   SYMBOLS/Capacitors.kicad_sym

no changes added to commit (use "git add" and/or "git commit -a")

Great, capacitor library was modified.

  1. Check diff (better use GUI tool to view changes like meld)
$ git diff
diff --git a/SYMBOLS/Capacitors.kicad_sym b/SYMBOLS/Capacitors.kicad_sym
index 98a2a2a..3bd1444 100644
--- a/SYMBOLS/Capacitors.kicad_sym
+++ b/SYMBOLS/Capacitors.kicad_sym
@@ -2803,4 +2803,97 @@
       )
     )
   )
+  (symbol "CAP-000362-00" (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
+    (property "Reference" "C" (id 0) (at 0 4.064 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Value" "CAP-000362-00" (id 1) (at 0 -15.24 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Footprint" "Capacitors:C1210" (id 2) (at 0 -22.86 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "https://search.murata.co.jp/Ceramy/image/img/A01X/G101/ENG/GRM32EC81C476KE15-01.pdf" (id 3) (at 0 -13.97 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Manufacturer" "Murata Electronics" (id 4) (at 0 -17.78 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Manufacturer Part Number" "GRM32EC81C476KE15L" (id 5) (at 0 -20.32 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Capacitance (Farad)" "47 µF" (id 6) (at 0 -3.81 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Tolerance (%)" "±10%" (id 7) (at 7.62 -3.81 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Rated Voltage (Volt)" "16V" (id 8) (at 0 -6.35 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "Temperature Grade" "X6S" (id 9) (at 0 -11.43 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Package Type" "1210" (id 10) (at 0 -8.89 0)
+      (effects (font (size 1.27 1.27)))
+    )
+    (property "ki_keywords" "CAP CER 47UF 16V X6S 1210 GRM32EC81C476KE15L" (id 11) (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "ki_description" "CAP CER 47UF 16V X6S 1210" (id 12) (at 0 0 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (symbol "CAP-000362-00_0_1"
+      (polyline
+        (pts
+          (xy -1.27 0)
+          (xy -1.016 0)
+        )
+        (stroke (width 0) (type default) (color 0 0 0 0))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy -0.889 1.905)
+          (xy -0.889 -1.905)
+        )
+        (stroke (width 0.254) (type default) (color 0 0 0 0))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 0.889 1.905)
+          (xy 0.889 -1.905)
+        )
+        (stroke (width 0.254) (type default) (color 0 0 0 0))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 1.27 0)
+          (xy 1.016 0)
+        )
+        (stroke (width 0) (type default) (color 0 0 0 0))
+        (fill (type none))
+      )
+      (polyline
+        (pts
+          (xy 1.905 0)
+          (xy 2.54 0)
+        )
+        (stroke (width 0) (type default) (color 0 0 0 0))
+        (fill (type none))
+      )
+    )
+    (symbol "CAP-000362-00_1_1"
+      (pin passive line (at -3.81 0 0) (length 2.54)
+        (name "1" (effects (font (size 1.27 1.27))))
+        (number "1" (effects (font (size 1.27 1.27))))
+      )
+      (pin passive line (at 3.81 0 180) (length 2.54)
+        (name "2" (effects (font (size 1.27 1.27))))
+        (number "2" (effects (font (size 1.27 1.27))))
+      )
+    )
+  )
 )

Great, one capacitor was added to the library.

  1. Add and commit locally (those two commands can be merged into one)
$ git add .
$ git ci -m "New capacitor added"
[main xxx7ebc037xxx] New capacitor added
 1 file changed, 93 insertions(+)
  1. Push to your library repository
$ git push origin main 
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 4 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 409 bytes | 409.00 KiB/s, done.
Total 4 (delta 3), reused 0 (delta 0)
  1. Repeat for each new part or project

I think I fail to understand the point, I mean I already know how to use git to the level that is described here so far.
The procedure I need made easier is the adding or transfer of symbols, in your guide that is step two which is not further explained above.
As far as I understand git cannot help me with that.

In your original post you mentioned what you do is:

My solution is NOT to use local project libraries, instead directly push parts to you main libraries. This can be done at part level, bulk of parts, project, etc. you decide when you merge more parts in. You have one set of libraries and that’s it. They are always backed up, you can always revert, basically all the advantages of Git. It works well for KiCad libraries, it’s all text and easy to decipher.

I think we are not on the same page here… how do you “directly push parts to you main libraries”?

Thing is, my own master library (KICAD_SYM file) is already on git, I also know how the maintaining of it works.
What I am looking for is simply an easier way of batch copying multiple symbols from various local symbol libraries into the master symbol library file (which I do keep global of course).
To my regret the symbol editor only imports the first symbol in a symbol library file, hence it is currently useless for this purpose. A simple text editor can do much better but it is a tedious process.

If i understood you correct, i do not think this is possible right now with a simple straight forward solution.

If i were you, i would checkout the origin branch, open editor and copy paste into a buffer lib, close editor, checkout your target branch and open editor again to copy it back from the buffer lib.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.