[build-system] requires = ["hatchling>=1.25"] build-backend = "hatchling.build" [project] name = "karldns" version = "0.1.0" description = "A small self-hosted DynDNS service for FRITZ!Box and compatible routers." readme = "README.md" requires-python = ">=3.11" keywords = [ "ddns", "dyndns", "dynamic-dns", "self-hosted", "fritzbox", "cloudflare-ddns", "rfc2136", "homelab", "fastapi", ] dependencies = [ "dnspython>=2.6", "fastapi>=0.111", "pydantic>=2.7", "uvicorn[standard]>=0.30", ] [project.urls] Homepage = "https://github.com/StasonJatham/router-dyndns" Repository = "https://github.com/StasonJatham/router-dyndns" Issues = "https://github.com/StasonJatham/router-dyndns/issues" [project.optional-dependencies] dev = [ "httpx>=0.28", "pytest>=8.2", "ruff>=0.8", ] [project.scripts] karldns = "router_dyndns.cli:main" router-dyndns = "router_dyndns.cli:main" [tool.hatch.build.targets.wheel] packages = ["router_dyndns"] artifacts = ["router_dyndns/assets/*"] [tool.pytest.ini_options] testpaths = ["tests"] [tool.ruff] line-length = 120 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B"] ignore = ["E501"]