[project] name = "mcltspice" version = "2026.02.10" description = "MCP server for LTspice circuit simulation automation" readme = "README.md" requires-python = ">=3.11" license = "MIT" authors = [ {name = "Ryan Malloy", email = "ryan@supported.systems"} ] keywords = ["mcp", "ltspice", "spice", "circuit", "simulation", "electronics"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] dependencies = [ "fastmcp>=2.0.0", "numpy>=1.24.0", ] [project.optional-dependencies] dev = [ "ruff>=0.1.0", "pytest>=7.0.0", "pytest-asyncio>=0.23.0", ] plot = [ "matplotlib>=3.7.0", ] [project.scripts] mcltspice = "mcltspice.server:main" [project.urls] Repository = "https://git.supported.systems/MCP/mcltspice" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/mcltspice"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" markers = [ "integration: tests requiring LTspice/Wine installation (deselect with '-m not integration')", ] [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP"] ignore = ["E501"] [tool.ruff.lint.per-file-ignores] "tests/**" = ["N806"] # Allow EE-conventional uppercase vars (K, Q, H, Vpk, etc.)