[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "intervalsicu-mcp-ui" version = "0.1.0" description = "Web portal for the Intervals.icu MCP server (user credential management + admin approval)" requires-python = ">=3.12" license = { text = "GPL-3.0-only" } dependencies = [ "fastapi>=0.110", "uvicorn[standard]>=0.29", "authlib>=1.3", "httpx>=0.25", "itsdangerous>=2.1", "jinja2>=3.1", "python-multipart>=0.0.9", "sqlalchemy[asyncio]>=2.0.30", "asyncpg>=0.29", "cryptography>=42.0", ] [project.optional-dependencies] dev = ["pytest>=8.3", "pytest-asyncio>=0.23", "pytest-cov>=5.0", "aiosqlite>=0.20", "ruff>=0.1"] [tool.hatch.build.targets.wheel] packages = ["src/intervalsicu_mcp_ui"] [tool.ruff] line-length = 100 target-version = "py312" [tool.pytest.ini_options] addopts = "-q --cov=intervalsicu_mcp_ui --cov-report=term-missing --cov-fail-under=80" testpaths = ["tests"] asyncio_mode = "auto"