[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "kicad-mcp" version = "0.1.0" description = "Model Context Protocol (MCP) server for KiCad electronic design automation (EDA) files" readme = "README.md" license = { text = "MIT" } authors = [ { name = "KiCad MCP Contributors" } ] requires-python = ">=3.10" dependencies = [ "mcp[cli]>=1.0.0", "pandas>=2.0.0", ] classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Intended Audience :: Developers", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)", ] [project.urls] "Homepage" = "https://github.com/lamaalrajih/kicad-mcp" "Bug Tracker" = "https://github.com/lamaalrajih/kicad-mcp/issues" "Documentation" = "https://github.com/lamaalrajih/kicad-mcp#readme" [project.scripts] kicad-mcp = "kicad_mcp.server:main" [dependency-groups] dev = [ "pytest>=7.0.0", "pytest-asyncio>=0.23.0", "pytest-mock>=3.10.0", "pytest-cov>=4.0.0", "pytest-xdist>=3.0.0", "ruff>=0.1.0", "mypy>=1.8.0", "pre-commit>=3.0.0", ] [tool.ruff] target-version = "py310" line-length = 100 [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "B", # flake8-bugbear "UP", # pyupgrade ] ignore = [ "E501", # line too long, handled by ruff format "B008", # do not perform function calls in argument defaults ] [tool.ruff.format] quote-style = "double" indent-style = "space" [tool.pytest.ini_options] minversion = "7.0" addopts = [ "--strict-markers", "--strict-config", "--cov=kicad_mcp", "--cov-report=term-missing", "--cov-report=html:htmlcov", "--cov-report=xml", "--cov-fail-under=30", ] testpaths = ["tests"] asyncio_mode = "auto" [tool.setuptools.packages.find] where = ["."] include = ["kicad_mcp*"] exclude = ["tests*", "docs*"] [tool.setuptools.package-data] "kicad_mcp" = ["prompts/*.txt", "resources/**/*.json"]