How devbisme/skidl works
SKiDL is a Python electronic-circuit design package: users describe parts and connectivity in Python, check electrical rules, then generate netlists and other design outputs. The README also documents hierarchical designs, smart part search, schematic visualization, netlist conversion, and SPICE simulation. The graph uses those documented capabilities and the source tree; where implementation excerpts were not supplied, it avoids asserting detailed internal call wiring.
Main entry points: __init__.py Python API · schlib.py Symbol libraries · part_query.py Part search · netlist_to_skidl_main.py Conversion CLI
Components 21
Circuit design
- Python API
src/skidl/__init__.py - Circuit hierarchy
src/skidl/circuit.py - Parts and pins
src/skidl/part.py - Nets and buses
src/skidl/net.py - Design classes
src/skidl/design_class.py
Parts and libraries
- Symbol libraries
src/skidl/schlib.py - KiCad readers
src/skidl/tools/kicad10/lib.py - Part search
src/skidl/part_query.py - Built-in parts
src/skidl/tools/skidl/libs/__init__.py
Validation and conversion
- Electrical checks
src/skidl/erc.py - Netlist conversion
src/skidl/netlist_to_skidl.py - Conversion CLI
src/skidl/scripts/netlist_to_skidl_main.py
Outputs and simulation
- Tool selection
src/skidl/tools/__init__.py - Netlist generation
src/skidl/tools/kicad10/gen_netlist.py - Schematic layout
src/skidl/schematics/__init__.py - KiCad schematics
src/skidl/tools/kicad10/gen_schematic.py - SPICE integration
src/skidl/pyspice.py - SPICE tool
src/skidl/tools/spice/spice.py
Other components
- Circuit designer
- KiCad tools
- SPICE engine
Connections 22
- Circuit designer → Python API: writes circuit code
- Python API → Circuit hierarchy: builds design
- Python API → Parts and pins: creates parts
- Python API → Nets and buses: connects nets
- Python API → Design classes: defines classes
- Python API → Symbol libraries: loads symbols
- Symbol libraries → KiCad readers: parses symbols
- Symbol libraries → Built-in parts: loads parts
- Circuit designer → Part search: searches parts
- Part search → KiCad readers: indexes libraries
- Python API → Electrical checks: checks design
- Circuit designer → Conversion CLI: converts netlist
- Conversion CLI → Netlist conversion: invokes converter
- Python API → Tool selection: selects tool
- Python API → Netlist generation: generates netlist
- Netlist generation → KiCad tools: writes netlist
- Python API → Schematic layout: creates schematic
- Schematic layout → KiCad schematics: generates schematic
- KiCad schematics → KiCad tools: writes schematic
- Python API → SPICE integration: runs simulation
- SPICE integration → SPICE tool: uses tool
- SPICE tool → SPICE engine: simulates circuit