app
KiCad - the KiCad Bridge
Public Made by Adomby adom
Reference implementation of the KiCad bridge: multi-instance Python server, forward path via kicad-cli, reverse path via in-process plugin. Most complex of the three bundled bridges.
← Commit history
0.9.257: reveal failures carry their reason (revealDetail), never swallowed
4 files changed
+15−9
BRIDGE_VERSION+1−1@@ -1 +1 @@-0.9.256+0.9.257
adom-bridge-kicad-manifest.json+5−5@@ -1,15 +1,15 @@ { "manifest_version": 1, "name": "kicad",- "version": "0.9.256",- "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.256/adom-bridge-kicad-v0.9.256.zip",- "sha256": "c9b5d8ee2c4433a81d8e412b276d561232d2383e829866d1388d9add71a0884f",- "size": 454370,+ "version": "0.9.257",+ "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.257/adom-bridge-kicad-v0.9.257.zip",+ "sha256": "43e2bde6b49395dfed8089f16d62040c832b7ea89403f623655e10b05a3bf61f",+ "size": 454458, "verbPrefixes": [ "kicad_" ], "healthEndpoint": "/status",- "released_at": "2026-08-27T21:16:40Z",+ "released_at": "2026-08-27T21:21:27Z", "hero": "https://wiki.adom.inc/blob/app/kicad-bridge/kicad-hero.png", "languages": [ "Python",
bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "kicad", "displayName": "KiCad EDA",- "version": "0.9.256",+ "version": "0.9.257", "description": "Reverse bridge for KiCad \u2014 board/schematic introspection, lint via kicad-cli, plugin install, multi-instance probe, in-process DRC.", "homepage": "https://wiki.adom.inc/adom/adom-bridge", "author": "Adom Inc.",
handlers/install_library_bundle.py+8−2@@ -119,8 +119,14 @@ def _capture_proof(kicad_info: dict, args: dict, lib_name: str, first_symbol: st rev = _plugin_call(info["port"], "reveal_library", {"libraryName": lib_name}, timeout=20.0) result["libraryRevealed"] = bool((rev or {}).get("found"))- except Exception:- pass+ if not result["libraryRevealed"]:+ result["revealDetail"] = str((rev or {}).get("error") or rev)[:200]+ else:+ result["libraryRevealed"] = False+ result["revealDetail"] = f"plugin resolve failed: {err or 'no eeschema plugin'}"+ except Exception as e:+ result["libraryRevealed"] = False+ result["revealDetail"] = f"{type(e).__name__}: {e}" except Exception as e: result["proofSkipped"] = str(e)