Expand description
§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 kiutils_kicad::{SchematicFile, WriteMode};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let doc = SchematicFile::read("input.kicad_sch")?;
doc.write_mode("output.kicad_sch", WriteMode::Lossless)?;
Ok(())
}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.
Structs§
- Design
Rule Summary - Design
Rules Ast - Design
Rules Document - Design
Rules File - Diagnostic
- Footprint
Ast - Footprint
Document - Footprint
File - FpLib
Table File - PcbArc
Summary - PcbAst
- PcbDimension
Summary - PcbDocument
- PcbFile
- PcbFootprint
Summary - PcbGenerated
Summary - PcbGraphic
Summary - PcbGroup
Summary - PcbLayer
- PcbNet
- PcbProperty
- PcbSegment
Summary - PcbSetup
Summary - PcbTarget
Summary - PcbVia
Summary - PcbZone
Summary - Project
Ast - Project
Document - Project
File - Schematic
Ast - Schematic
Document - Schematic
File - Schematic
Paper Summary - Schematic
Title Block Summary - Span
- SymLib
Table File - Symbol
LibAst - Symbol
LibDocument - Symbol
LibFile - Symbol
Summary - Unknown
Field - Unknown
Node - Version
Policy - Worksheet
Ast - Worksheet
Document - Worksheet
File - Worksheet
Setup Summary