[build-system] requires = ["setuptools>=45", "wheel", "setuptools_scm"] build-backend = "setuptools.build_meta" [project] name = "enhanced-mcp-tools" version = "1.0.0" description = "Enhanced MCP tools server with comprehensive development utilities" readme = "README.md" requires-python = ">=3.10" license = "MIT" authors = [ {name = "Your Name", email = "your.email@example.com"}, ] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Topic :: Software Development :: Tools", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", ] dependencies = [ "fastmcp>=2.8.1", "httpx", "aiofiles", "watchdog", "GitPython", "psutil", "rich", "pydantic" ] [project.optional-dependencies] dev = [ "pytest", "pytest-asyncio", "pytest-cov", "black", "ruff" ] [project.scripts] enhanced-mcp = "enhanced_mcp.mcp_server:run_server" [tool.black] line-length = 100 target-version = ['py310'] [tool.ruff] line-length = 100 target-version = "py310" [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade ] ignore = [ "E501", # Line too long (handled by black) "B008", # Do not perform function calls in argument defaults "C901", # Too complex "F403", # 'from .base import *' used; unable to detect undefined names "F405", # May be undefined, or defined from star imports ] # Additional ignore patterns for star imports in specific files [tool.ruff.lint.per-file-ignores] "enhanced_mcp/*/base.py" = ["F403", "F405"] "enhanced_mcp/*" = ["F403", "F405"] # Allow star imports throughout the enhanced_mcp package "tests/*" = ["E501", "F401", "F811", "F403", "F405"] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py", "*_test.py"] asyncio_mode = "auto"