quickstart-resources/weather-server-python/pyproject.toml

52 lines
1.4 KiB
TOML

[project]
name = "weather"
version = "0.1.0"
description = "A simple MCP weather server"
readme = "README.md"
requires-python = ">=3.10"
# httpx2, not httpx: `mcp` already depends on httpx2, so adding httpx would
# install a second HTTP stack alongside it.
dependencies = [
"httpx2>=2.12.0",
"mcp[cli]>=2.2.0",
# weather.py imports BaseModel, Field, and RootModel directly. RootModel is v2-only.
"pydantic>=2.0.0",
]
[build-system]
requires = [ "hatchling",]
build-backend = "hatchling.build"
[dependency-groups]
dev = [
"ruff>=0.15.8",
]
[project.scripts]
weather = "weather:main"
[tool.ruff]
line-length = 120
target-version = "py310"
extend-exclude = ["README.md"]
[tool.ruff.lint]
select = [
"C4", # flake8-comprehensions
"C90", # mccabe
"E", # pycodestyle
"F", # pyflakes
"I", # isort
"PERF", # Perflint
"PL", # Pylint
"UP", # pyupgrade
]
ignore = ["PERF203", "PLC0415", "PLR0402"]
mccabe.max-complexity = 24 # Default is 10
[tool.ruff.lint.pylint]
allow-magic-value-types = ["bytes", "float", "int", "str"]
max-args = 23 # Default is 5
max-branches = 23 # Default is 12
max-returns = 13 # Default is 6
max-statements = 102 # Default is 50