[build-system] requires = ["setuptools==84.0.0"] build-backend = "setuptools.build_meta" [project] name = "withings-mcp" version = "0.8.0" description = "MCP server for the Withings Health API with OAuth, local cache, and trend analysis." readme = "README.md" license = "GPL-3.0-or-later" requires-python = ">=3.13" keywords = ["withings", "mcp", "model-context-protocol", "health", "fitness", "sleep"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Scientific/Engineering :: Medical Science Apps.", ] # Every dependency is pinned to an exact version that the suite has been run # against. A range leaves the choice to the resolver, which is how `mcp` 2.0.0 # reached installs unannounced and broke them. Bump deliberately, never by # widening a spec. dependencies = [ "mcp==2.2.0", ] [project.optional-dependencies] dev = [ "pytest==9.1.1", "ruff==0.16.7", ] [project.scripts] withings-mcp = "withings_mcp.cli:main" [project.urls] Homepage = "https://github.com/partymola/withings-mcp" Repository = "https://github.com/partymola/withings-mcp" Issues = "https://github.com/partymola/withings-mcp/issues" [tool.pytest.ini_options] testpaths = ["tests"] [tool.ruff] line-length = 100 target-version = "py313" [tool.ruff.lint] select = ["E", "F", "I"] [tool.ruff.lint.per-file-ignores] "src/withings_mcp/cli.py" = ["E402"]