pyproject.toml•1.87 kB
[project]
name = "patch-mcp"
version = "2.0.0"
description = "MCP server for applying unified diff patches with comprehensive security"
authors = [
{name = "Scott Henning"}
]
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.10"
keywords = ["mcp", "patch", "diff", "model-context-protocol", "security", "unified-diff"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Libraries",
]
dependencies = [
"patch-ng>=1.19.0",
"pydantic>=2.0.0",
"mcp>=0.1.0",
]
[project.urls]
Homepage = "https://github.com/shenning00/patch_mcp"
Repository = "https://github.com/shenning00/patch_mcp"
Issues = "https://github.com/shenning00/patch_mcp/issues"
[project.scripts]
patch-mcp = "patch_mcp.server:main"
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"pytest-cov>=4.0.0",
"pytest-asyncio>=0.21.0",
"black>=23.0.0",
"ruff>=0.1.0",
"mypy>=1.0.0",
]
[tool.black]
line-length = 100
target-version = ['py310']
[tool.ruff]
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W"]
ignore = [
"E501", # Line too long (handled by black)
"N806", # Variable in function should be lowercase (allow constants)
]
[tool.mypy]
python_version = "3.10"
strict = true
warn_return_any = true
warn_unused_configs = true
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_functions = ["test_*"]
addopts = "-v --cov=src/patch_mcp --cov-report=html --cov-report=term"
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"