[project]
name = "math-physics-ml-mcp"
version = "0.1.0"
description = "GPU-accelerated MCP system for computational mathematics, physics simulations, and machine learning"
readme = "README.md"
requires-python = ">=3.11"
dependencies = []
[tool.uv.workspace]
members = [
"shared/mcp-common",
"shared/compute-core",
"servers/math-mcp",
"servers/quantum-mcp",
"servers/molecular-mcp",
"servers/neural-mcp"
]
[tool.uv]
dev-dependencies = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-cov>=4.1.0",
"pytest-benchmark>=4.0.0",
"ruff>=0.1.0",
"mypy>=1.8.0",
"pre-commit>=3.6.0"
]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "UP", "B", "A", "C4", "DTZ", "T10", "EM", "ISC", "ICN", "G", "PIE", "T20", "PYI", "PT", "Q", "RSE", "RET", "SLF", "SIM", "TID", "TCH", "ARG", "PTH", "ERA", "PD", "PGH", "PL", "TRY", "NPY", "RUF"]
ignore = ["TRY003", "PLR0913", "PLR2004"]
[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
strict_equality = true
[tool.pytest.ini_options]
testpaths = ["shared", "servers"]
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
markers = [
"gpu: tests requiring CUDA GPU",
"slow: slow running tests",
"integration: integration tests across MCPs",
"benchmark: performance benchmark tests"
]
asyncio_mode = "auto"