Skip to main content

Convert LTspice SPICE netlists to WireViz wiring diagrams

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spice2wireviz-2026.2.14.tar.gz (125.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spice2wireviz-2026.2.14-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file spice2wireviz-2026.2.14.tar.gz.

File metadata

  • Download URL: spice2wireviz-2026.2.14.tar.gz
  • Upload date:
  • Size: 125.4 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for spice2wireviz-2026.2.14.tar.gz
Algorithm Hash digest
SHA256 df97390ae855ff8ea24b7e18e94b344f69df6b71e90792798dae8c018cc92c97
MD5 02edcec27e6c8e2566c5d5042c36b120
BLAKE2b-256 517d9151f42c7f823b13ad6096c91f44338cf48398477c4080215c036c6a8a10

See more details on using hashes here.

File details

Details for the file spice2wireviz-2026.2.14-py3-none-any.whl.

File metadata

  • Download URL: spice2wireviz-2026.2.14-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for spice2wireviz-2026.2.14-py3-none-any.whl
Algorithm Hash digest
SHA256 1f9558adcdc81ac6d47a9de4259fb7159a578684d888f84db8a8fee0df19d379
MD5 469396d7ad1ee1b9d39cc1f28ed30d3f
BLAKE2b-256 328eab7e76683b1bf545a807dfb338c2a056c79fe3069369fc9bddbfcde10ad6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page