Implement three-tier resolution for LTspice .asc schematic files: 1. Companion netlist - finds .net/.cir/.sp beside the .asc (automatic) 2. LTspice generation - invokes LTspice binary (opt-in via --generate-netlist) 3. Metadata-only fallback - extracts component refs/values without connectivity Safety: DataCompleteness enum forces callers to check completeness. CLI blocks diagram generation on METADATA_ONLY with clear remediation. Metadata enrichment is additive-only with protected field guards. Also: update project URLs to Gitea, add .asc usage docs to README, fix pre-existing ruff warning in test_single_module.py.
55 lines
1.6 KiB
TOML
55 lines
1.6 KiB
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "spice2wireviz"
|
|
version = "2026.2.13"
|
|
description = "Convert LTspice SPICE netlists to WireViz wiring diagrams"
|
|
authors = [{name = "Ryan Malloy", email = "ryan@supported.systems"}]
|
|
requires-python = ">=3.11"
|
|
license = {text = "MIT"}
|
|
readme = "README.md"
|
|
keywords = ["spice", "wireviz", "ltspice", "netlist", "wiring", "harness", "electronics", "eda"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Manufacturing",
|
|
"Intended Audience :: Science/Research",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
|
|
]
|
|
dependencies = [
|
|
"pyyaml>=6.0",
|
|
"click>=8.0",
|
|
"pydantic>=2.0",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://git.supported.systems/warehack.ing/spice2wireviz"
|
|
Repository = "https://git.supported.systems/warehack.ing/spice2wireviz"
|
|
Issues = "https://git.supported.systems/warehack.ing/spice2wireviz/issues"
|
|
|
|
[project.optional-dependencies]
|
|
asc = ["spicelib>=1.4.9"]
|
|
dev = ["ruff", "pytest", "pytest-cov"]
|
|
|
|
[project.scripts]
|
|
spice2wireviz = "spice2wireviz.cli:main"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/spice2wireviz"]
|
|
|
|
[tool.ruff]
|
|
target-version = "py311"
|
|
line-length = 100
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "W", "UP", "B", "SIM", "RUF"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|