[project] name = "fpl-mcp-server" version = "1.0.3" description = "Fantasy Premier League MCP Server" readme = "README.md" requires-python = ">=3.13" license = "MIT" authors = [{ name = "Anh Duc Nguyen" }] keywords = ["fantasy-premier-league", "fpl", "mcp", "model-context-protocol"] classifiers = [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.13", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Games/Entertainment :: Simulation", ] dependencies = [ "mcp>=1.20.0", "httpx>=0.28.0", "pydantic>=2.12.0", ] [project.urls] Homepage = "https://github.com/nguyenanhducs/fpl-mcp-server" Repository = "https://github.com/nguyenanhducs/fpl-mcp-server" Issues = "https://github.com/nguyenanhducs/fpl-mcp-server/issues" Documentation = "https://github.com/nguyenanhducs/fpl-mcp-server#readme" [project.scripts] fpl-mcp-server = "src.main:main" [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "pytest-cov>=4.0.0", "pytest-mock>=3.10.0", "ruff>=0.14.0" ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src"] [tool.ruff] target-version = "py313" line-length = 100 # Exclude common directories exclude = [ ".git", ".venv", "__pycache__", "build", "dist", "*.egg-info", ] [tool.ruff.lint] # Enable specific rule sets select = [ "F", # Pyflakes "E", # pycodestyle errors "W", # pycodestyle warnings "I", # isort "N", # pep8-naming "UP", # pyupgrade "B", # flake8-bugbear "A", # flake8-builtins "C4", # flake8-comprehensions "SIM", # flake8-simplify "TCH", # flake8-type-checking ] # Ignore specific rules ignore = [ "E501", # Line too long (handled by formatter) "B008", # Do not perform function calls in argument defaults (common in FastAPI/MCP) "A003", # Class attribute shadowing python builtin ] # Allow autofix for all enabled rules fixable = ["ALL"] unfixable = [] [tool.ruff.lint.isort] known-first-party = ["src"] force-sort-within-sections = true [tool.ruff.lint.per-file-ignores] "tests/**/*.py" = [ "S101", # Use of assert detected "PLR2004", # Magic value used in comparison ] [tool.ruff.format] quote-style = "double" indent-style = "space" line-ending = "lf" docstring-code-format = true