sexp
How the Zig S-expression engine and typed KiCad models work, how they are exposed to Python (pyzig_sexp), and the invariants around parsing, formatting, and freeing.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
How the Zig S-expression engine and typed KiCad models work, how they are exposed to Python (pyzig_sexp), and the invariants around parsing, formatting, and freeing.
How to use
Zainstaluj moduł pyzig_sexp jako część pakietu faebryk zawierającego rozszerzenie Pythona. Moduł jest dostępny w
src/faebryk/core/zig/gen/sexp/jako wygenerowane stub-y typów.Zaimportuj wygodny wrapper z biblioteki faebryk:
from faebryk.libs.kicad.fileformats import kicad. Ten moduł obsługuje cache'owanie i udostępnia interfejsloadsorazdumps.Wczytaj plik KiCad za pomocą
kicad.loads(), przekazując typ pliku (np.kicad.pcb.PcbFile) i ścieżkę do pliku:pcb = kicad.loads(kicad.pcb.PcbFile, Path("board.kicad_pcb")).Pracuj z wczytanym obiektem — możesz go modyfikować, analizować lub przetwarzać za pomocą typizowanych modeli KiCad dostępnych w module.
Zapisz zmiany z powrotem do formatu S-expression za pomocą
kicad.dumps(pcb), która zwraca sformatowany tekst zgodny ze standardem KiCad.W przypadku zaawansowanego użytku (parsowanie niestandardowych struktur, obsługa błędów tokenizacji) odwołaj się do dokumentacji w
src/faebryk/core/zig/README.mdoraz kodu źródłowego tokenizera i parsera AST w katalogusrc/faebryk/core/zig/src/sexp/.