Skip to main content

spice2wireviz

Convert LTspice SPICE netlists to WireViz wiring diagrams.

What it does

spice2wireviz reads SPICE netlist files (.net, .cir, .sp) and LTspice schematics (.asc) and generates WireViz YAML that documents the physical wiring: connectors, test points, and inter-module cables.

Two operating modes:

  • Single module -- External interface of one subcircuit (its connectors, test points, port interface)
  • Inter-module -- How multiple subcircuits/boards connect to each other

Install

uv tool install spice2wireviz
# or
pip install spice2wireviz

For .asc file metadata extraction (optional):

pip install spice2wireviz[asc]

Usage

From netlist files

# Inter-module wiring (auto-detected from top-level X instances)
spice2wireviz top_level.net -o wiring.yml --render

# Single module external interface
spice2wireviz design.net -s amplifier_board -o amp.yml

# Only connectors and test points, no ground
spice2wireviz design.net --include-prefixes J,TP --no-ground

# Inspect before converting
spice2wireviz design.net --list-subcircuits
spice2wireviz design.net --list-components
spice2wireviz design.net --dry-run

From .asc schematics

LTspice .asc files are supported with tiered netlist resolution:

  1. Companion netlist (automatic) -- If a .net, .cir, or .sp file exists alongside the .asc (same basename), it's used for full connectivity. LTspice generates these automatically when you run a simulation.
  2. LTspice generation (opt-in) -- Pass --generate-netlist to invoke LTspice and produce a .net file.
  3. Metadata only -- Without a netlist, only component refs/values are available. Diagram generation is blocked, but --list-components still works.
# .asc with companion .net in the same directory -- works like .net input
spice2wireviz schematic.asc -s amplifier_board -o amp.yml

# No companion .net -- invoke LTspice to generate one
spice2wireviz schematic.asc --generate-netlist -o wiring.yml

# Inspect component metadata (no .net required)
spice2wireviz schematic.asc --list-components

Filtering

Cherry-pick what appears in the diagram:

--include-prefixes J,TP     # Only these component types
--exclude-refs X3,J_DEBUG   # Hide specific references
--include-nets "SIG_*"      # Glob patterns for net names
--no-ground                 # Hide GND connections
--no-power                  # Hide VCC/VDD connections

Development

uv sync --extra dev --extra asc
uv run pytest
uv run ruff check src/ tests/

Repository

git.supported.systems/warehack.ing/spice2wireviz

Metadata

Release files for spice2wireviz 2026.2.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spice2wireviz 2026.2.14
File Size Uploaded
spice2wireviz-2026.2.14.tar.gz 125.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spice2wireviz 2026.2.14
File Interpreter ABI Platform
spice2wireviz-2026.2.14-py3-none-any.whl Python 3 none any Details

Total release size: 157.1 kB

Release files / spice2wireviz-2026.2.14.tar.gz

Download URL spice2wireviz-2026.2.14.tar.gz
Size 125.4 kB
Tags Source
SHA-256 checksum
How to use checksums
df97390ae855ff8ea24b7e18e94b344f69df6b71e90792798dae8c018cc92c97
BLAKE2b-256 checksum
How to use checksums
517d9151f42c7f823b13ad6096c91f44338cf48398477c4080215c036c6a8a10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / spice2wireviz-2026.2.14-py3-none-any.whl

Download URL spice2wireviz-2026.2.14-py3-none-any.whl
Size 31.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f9558adcdc81ac6d47a9de4259fb7159a578684d888f84db8a8fee0df19d379
BLAKE2b-256 checksum
How to use checksums
328eab7e76683b1bf545a807dfb338c2a056c79fe3069369fc9bddbfcde10ad6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

2026.2.14 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page