adaptive-lighting/pyproject.toml
Casey c066c1ba99 build: require Python 3.13
Home Assistant has required Python 3.13 since 2025.2, and CI already runs on
3.13. requires-python, ruff's target-version and mypy's python_version now say
so, and uv.lock drops the resolution fork it kept for Python < 3.13.
164 tests pass and pre-commit (ruff, black) is clean on the new target.
2026-09-11 10:45:18 +02:00

59 lines
1.2 KiB
TOML

[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.13"
[dependency-groups]
dev = [
"mypy",
"pre-commit",
"ruff",
]
test = [
"pytest>=8",
"pytest-asyncio>=0.23",
"pytest-homeassistant-custom-component",
]
[tool.hatch.build.targets.wheel]
packages = ["custom_components/adaptive_lighting"]
[tool.ruff]
target-version = "py313"
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.13"
warn_return_any = true
warn_unused_configs = true
ignore_missing_imports = true
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"