[build-system] requires = ["hatchling>=1.27"] build-backend = "hatchling.build" [project] name = "hermes-caldav-mcp" version = "0.1.0" description = "A small privacy-conscious Nextcloud calendar MCP for Hermes" readme = "README.md" requires-python = ">=3.11" license = "AGPL-3.0-only" dependencies = ["mcp>=2.2,<3", "httpx>=0.28,<1", "icalendar>=6,<8", "SecretStorage>=3.3,<4", "defusedxml>=0.7,<1"] [project.scripts] hermes-caldav-mcp = "hermes_caldav_mcp.cli:main" [dependency-groups] dev = ["pytest>=8,<10", "pytest-asyncio>=1,<2", "ruff>=0.12,<1"] [tool.hatch.build.targets.wheel] packages = ["src/hermes_caldav_mcp"] [tool.hatch.build.targets.sdist] include = ["src", "tests", "docs", "examples", "README.md", "SECURITY.md", "LICENSE", "pyproject.toml", "uv.lock"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] [tool.ruff] target-version = "py311" [tool.ruff.lint] select = ["E4", "E7", "E9", "F", "I", "B"]