kiutils-kicad
Typed KiCad file document layer built on top of kiutils-sexpr.
If you want stable end-user imports, use kiutils-rs.
This crate exposes the implementation-layer API and additional file families.
Scope
.kicad_pcb.kicad_mod.kicad_sch.kicad_symfp-lib-tablesym-lib-table.kicad_dru.kicad_pro.kicad_wks
Core behavior
- Default write mode is lossless (
WriteMode::Lossless) - Unknown tokens are captured on typed ASTs (
unknown_nodes,unknown_fields) write_mode(..., WriteMode::Canonical)available for normalized output- Version diagnostics produced post-parse for forward-compat signaling
Evidence:
- Round-trip + unknown preservation tests: https://github.com/Milind220/kiutils-rs/blob/main/crates/kiutils_kicad/tests/integration.rs
- CLI contract tests (
kiutils-inspect): https://github.com/Milind220/kiutils-rs/blob/main/crates/kiutils_kicad/tests/inspect_cli.rs
Quickstart
use ;
Policy notes:
- AST
*_countfields are convenience counters, not strict stability promises. - Unknown-token diagnostics are developer-facing; summarize before showing end users.
.kicad_drurule conditions are preserved as strings in v1.