many eda additions

This commit is contained in:
noise
2026-06-29 16:31:02 -04:00
parent 818f965896
commit 6082613e88
41 changed files with 58827 additions and 1 deletions

44
tools/kicad-python Executable file
View File

@@ -0,0 +1,44 @@
#!/usr/bin/env bash
# kicad-python — launcher for KiCad's bundled Python with pcbnew available.
#
# Usage:
# ./kicad-python <script.py> [args...]
# ./kicad-python -c "import pcbnew; ..."
# ./kicad-python -m circuit_toolkit.build my-board/
#
# Detects KiCad.app on macOS, KiCad on Linux, or KiCad Flatpak.
# Exits non-zero if KiCad Python is not found.
set -euo pipefail
KICAD_APP="/Applications/KiCad/KiCad.app"
KICAD_PYTHON="${KICAD_APP}/Contents/Frameworks/Python.framework/Versions/3.9/bin/python3"
# Try Flatpak install
if [ -x "/var/lib/flatpak/app/org.kicad.KiCad" ] || command -v flatpak &>/dev/null; then
FLATPAK_PYTHON=$(flatpak run --command=python3 org.kicad.KiCad 2>/dev/null || true)
if [ -n "$FLATPAK_PYTHON" ]; then
KICAD_PYTHON="$FLATPAK_PYTHON"
fi
fi
# Try Linux install
if [ ! -x "$KICAD_PYTHON" ]; then
for candidate in \
/opt/kicad/bin/python3 \
/usr/bin/kicad-python \
/usr/bin/python3; do
if "$candidate" -c "import pcbnew" 2>/dev/null; then
KICAD_PYTHON="$candidate"
break
fi
done
fi
if [ ! -x "$KICAD_PYTHON" ]; then
echo "ERROR: KiCad Python not found at $KICAD_PYTHON" >&2
echo "Install KiCad (kicad.org) or a Flatpak, then re-run." >&2
exit 1
fi
exec "$KICAD_PYTHON" "$@"