[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "adaptive-lighting" version = "1.30.1" description = "Automatically adjust brightness and color of lights based on the sun position" readme = "README.md" license = "Apache-2.0" requires-python = ">=3.12" [dependency-groups] docs = [ "astral", "homeassistant", "markdown-code-runner>=2.7.0", "markdown-gfm-admonition", "pandas", "shinylive", "tabulate", "ulid-transform", "voluptuous", "zensical", ] dev = [ "mypy", "pre-commit", "ruff", ] [tool.hatch.build.targets.wheel] packages = ["custom_components/adaptive_lighting"] [tool.ruff] target-version = "py312" line-length = 88 [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # Pyflakes "I", # isort "UP", # pyupgrade "RUF", # Ruff-specific rules "B", # flake8-bugbear "C4", # flake8-comprehensions "SIM", # flake8-simplify ] ignore = [ "E501", # line too long (handled by formatter) ] [tool.ruff.lint.isort] known-first-party = ["adaptive_lighting"] [tool.mypy] python_version = "3.12" warn_return_any = true warn_unused_configs = true ignore_missing_imports = true [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto"