diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 9f9c728d3..688c05394 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -81,6 +81,6 @@ Common commands: - `ruff format` - format code - `uv run mypy custom_components/supernotify` - type check - `ty check` - type check with ty -- `codespell` - spell check +- `uv run codespell` - spell check - `prek run` - check all staged files - `properdocs build` - build the documentation without starting a server diff --git a/.mise/tasks/refresh b/.mise/tasks/refresh index fa24d3415..1b1fbde58 100755 --- a/.mise/tasks/refresh +++ b/.mise/tasks/refresh @@ -13,4 +13,5 @@ mise upgrade --local git pull project_uv lock --upgrade project_uv sync --dev --group docs -prek autoupdate --cooldown-days 5 +# 7-day cooldown on hook updates (policies/project_standards.md in rhizomatics/hq) +prek autoupdate --cooldown-days 7 diff --git a/mise.toml b/mise.toml index 64188b6c3..79bf7822e 100644 --- a/mise.toml +++ b/mise.toml @@ -5,8 +5,6 @@ lockfile = true minimum_release_age = "5d" [tools] -# not in the mise registry, so installed with uv as a tool of its own -"pipx:codespell" = "latest" prek = "latest" python = "3.14" ruff = "latest" diff --git a/pyproject.toml b/pyproject.toml index 6849d6985..152f6d41c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,7 +45,7 @@ dev=[ "pytest-icdiff", "icdiff", "types-aiofiles", - # ruff, ty, codespell and pre-commit come from mise.toml, not here + # ruff, ty and prek come from mise.toml, not here "pytest-httpserver", "mypy", "genbadge[all]", @@ -102,7 +102,7 @@ environments = [ "python_full_version >= '3.14.2'", ] -exclude-newer = "5 days" +exclude-newer = "7 days" exclude-newer-package = { certifi=false, homeassistant_repl=false,homeassistant=false,homeassistant-stubs=false,pytest-homeassistant=false,pytest-homeassistant-custom-component="2 days",aiohttp=false,uv=false } add-bounds = "major" # Home Assistant pins uv exactly, and under `uv run` the venv's uv comes first on PATH, diff --git a/uv.lock b/uv.lock index 2a01f65a7..460d87602 100644 --- a/uv.lock +++ b/uv.lock @@ -10,7 +10,7 @@ supported-markers = [ [options] exclude-newer = "0001-01-01T00:00:00Z" # This has no effect and is included for backwards compatibility when using relative exclude-newer values. -exclude-newer-span = "P5D" +exclude-newer-span = "P7D" [options.exclude-newer-package] aiohttp = false @@ -2337,7 +2337,7 @@ wheels = [ [[package]] name = "mkdocs-git-revision-date-localized-plugin" -version = "1.6.3" +version = "1.6.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "babel" }, @@ -2346,9 +2346,9 @@ dependencies = [ { name = "packaging" }, { name = "tzdata", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/60/fb/df1622f5a45e6f5ab2e8399cf4886f51c0c7f82b7cac31878d738849d1bd/mkdocs_git_revision_date_localized_plugin-1.6.3.tar.gz", hash = "sha256:72b7f27d780af4d9efc2eb70197404e4510ce5664de6a96e092a6050e35eab46", size = 81047, upload-time = "2026-11-02T08:23:48.38Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/d0/b2910714ae14ee925c99535b2e5c2a19d49669a53cbac9d4242fca0f8906/mkdocs_git_revision_date_localized_plugin-1.6.2.tar.gz", hash = "sha256:9f38e5cfef3d180f1c479a7190d72617267a5d79d8159b12e3ae39c80f6e7488", size = 40432, upload-time = "2026-10-26T07:55:53.746Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/c3/72cef2f83502150d5ac98b9a997ec8cb5b09e1c088375d88850d0c44f3b2/mkdocs_git_revision_date_localized_plugin-1.6.3-py3-none-any.whl", hash = "sha256:3e37bc5bd047063ab062c9328e10d00670d69a99dc002c3cb5823582ce6d8e60", size = 29402, upload-time = "2026-11-02T08:23:46.98Z" }, + { url = "https://files.pythonhosted.org/packages/d2/a2/bd8403a2e1f2d7a4566fffa28bc5bbb5f8361754ee988d1b3ceff32e436b/mkdocs_git_revision_date_localized_plugin-1.6.2-py3-none-any.whl", hash = "sha256:9db79422039f856e582df62b360f9b9bde0f1b7c978d253bdb2a1b73a18b7774", size = 29404, upload-time = "2026-10-26T07:55:52.202Z" }, ] [[package]] @@ -2995,11 +2995,11 @@ wheels = [ [[package]] name = "pagefind" -version = "1.6.0" +version = "1.5.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/37/d0/911ef8922cb5035b2ea53b045c99cc03cbe8916b0238d26cd6d241b0144c/pagefind-1.6.0.tar.gz", hash = "sha256:744864df19d4dc0d75873ec9117e67328a1aaa208151c7acfca5fab03dcc41d8", size = 77717, upload-time = "2026-11-01T11:30:28.636Z" } +sdist = { url = "https://files.pythonhosted.org/packages/50/cc/efc080eb3191d1afc75dc58c336676c0847fc4610b1d9e7d58b4083836b6/pagefind-1.5.2.tar.gz", hash = "sha256:fffddd6e2016b06bdca83b83d4ac4bef379cf0559f05ecdb6908a8729a27dbf3", size = 52521, upload-time = "2026-04-12T12:51:59.814Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/5d/73cac7ac098267a65810cc46cac0c96bee7d189d289b3bd75ad0d75b19a7/pagefind-1.6.0-py3-none-any.whl", hash = "sha256:c1ab35dd3573f95a8d8f25f9ffac30db8829577b5945641d1bdbf60620a3bd5c", size = 10239, upload-time = "2026-11-01T11:30:03.039Z" }, + { url = "https://files.pythonhosted.org/packages/0a/a7/414e1df2749f647784e32da78ce3081a9fedf1ae8d5b3bb8d4c5643f06cd/pagefind-1.5.2-py3-none-any.whl", hash = "sha256:6c4086ad9eaa7e8f863085652f6b1093549b1737848d946daa0706ee57f778d1", size = 10104, upload-time = "2026-04-12T12:51:27.563Z" }, ] [package.optional-dependencies] @@ -3009,15 +3009,15 @@ extended = [ [[package]] name = "pagefind-bin-extended" -version = "1.6.0" +version = "1.5.2" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/67/25/1e0c41af3abb66567cf24d02fac4d9402c72c8757ae18b12c791a80cb15a/pagefind_bin_extended-1.6.0-py3-none-macosx_12_0_arm64.whl", hash = "sha256:bfb1e4e597a8ef72bbd19f14197c40a9b85f0ecc250d282a9146057ba8bc28d2", size = 7042266, upload-time = "2026-11-01T11:30:17.509Z" }, - { url = "https://files.pythonhosted.org/packages/1e/35/87cf33ebb45db4268d356f4f0bc21b5afb7a0bdbb58bed3ae4225df32db5/pagefind_bin_extended-1.6.0-py3-none-macosx_12_0_x86_64.whl", hash = "sha256:99708a712f7726a24b126c528f30c865bee20609d048869653b71ff3ef590906", size = 7089801, upload-time = "2026-11-01T11:30:19.397Z" }, - { url = "https://files.pythonhosted.org/packages/06/ea/dbab52131e3588dfcbb3ef7eff2efd3b703cb9b944afc91948b048eddd25/pagefind_bin_extended-1.6.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:2feaa020607f50619aa85acd449ec72f21aa2badc761d208b9d9081ab8319e7a", size = 7462594, upload-time = "2026-11-01T11:30:21.177Z" }, - { url = "https://files.pythonhosted.org/packages/b7/2a/1f85a248e612f1b890480f55ef67fb1648444a37e5577e88f920a100eb7f/pagefind_bin_extended-1.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:6f4083d60983c93507c7f0c29dbeed047931869ce8741bfdb888187d84b280a8", size = 7202870, upload-time = "2026-11-01T11:30:23.242Z" }, - { url = "https://files.pythonhosted.org/packages/b8/20/5138e78af997a3c59f3c6ddd4f2840fb4e837cabb7be07f728c159111ad0/pagefind_bin_extended-1.6.0-py3-none-win_amd64.whl", hash = "sha256:aa0f02472a9ab4cc7a80add88c9d62d269962eaaebdb2392c41387c93b428178", size = 7250427, upload-time = "2026-11-01T11:30:24.947Z" }, - { url = "https://files.pythonhosted.org/packages/45/48/71da0822f547fc00d67306132b5c2fa3022f0c4fa74463d7ed34c342563d/pagefind_bin_extended-1.6.0-py3-none-win_arm64.whl", hash = "sha256:9db35ab5586a3c9f7e870455b656211ecf3e5637ed1a5d8a7ff62805dc4065d0", size = 7115000, upload-time = "2026-11-01T11:30:26.914Z" }, + { url = "https://files.pythonhosted.org/packages/36/5e/06ac224460edfea99cca6708b25f7a604a2eec0c5db8d8b1a3b7246426cc/pagefind_bin_extended-1.5.2-py3-none-macosx_12_0_arm64.whl", hash = "sha256:9c4e2d7e0def5ba3a7814594e1d91cb6876030c5e05ccec53cc778b94d8af6e6", size = 52590084, upload-time = "2026-04-12T12:51:40.083Z" }, + { url = "https://files.pythonhosted.org/packages/a6/31/39ebf3ccfd440f377f4507d6232a5b27e6a55ba3296b6f63f766937727ef/pagefind_bin_extended-1.5.2-py3-none-macosx_12_0_x86_64.whl", hash = "sha256:c4db4b46e5aa42c6641cee257b0767895a1d9471c2332717763116e295bd7340", size = 52335482, upload-time = "2026-04-12T12:51:43.674Z" }, + { url = "https://files.pythonhosted.org/packages/c1/33/66cc2d32a8bfaa3dc4109a7a5f557a0df61aecee9fce827bd8ca9dbb051c/pagefind_bin_extended-1.5.2-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:1762f4a8c2137ca07261b0fec1b441df1ba421a0f124a86e33c43c09ca2d1d6c", size = 52658197, upload-time = "2026-04-12T12:51:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a4/bdf91a227c0c7dcb394c4e47db1db046cd42e56d1881f61d8efbbadfd6e2/pagefind_bin_extended-1.5.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:bcf47caa731c423c6ba355f593cf41febde986a296e8dd3a47620c72aa7a18e1", size = 52374465, upload-time = "2026-04-12T12:51:50.532Z" }, + { url = "https://files.pythonhosted.org/packages/ce/a7/fa14455f45f8b0ba7f99d9f51d7cbaeee26b187d8da3b457103977c6fd88/pagefind_bin_extended-1.5.2-py3-none-win_amd64.whl", hash = "sha256:2bf653ca30062b50e461887b14cd97be8e44dce6a28b9949b02db4b7f7ca694f", size = 52435085, upload-time = "2026-04-12T12:51:53.967Z" }, + { url = "https://files.pythonhosted.org/packages/3a/79/ea7a5edd10df47549fd2795d3e4183c08bd1ece96acc6445dd0b21b33f0e/pagefind_bin_extended-1.5.2-py3-none-win_arm64.whl", hash = "sha256:2a59c73b19857f84d7f3482c781897bd20d9409ab4b4e146d54c7b67713dd7cb", size = 52297865, upload-time = "2026-04-12T12:51:57.496Z" }, ] [[package]] @@ -3145,11 +3145,11 @@ wheels = [ [[package]] name = "platformdirs" -version = "4.14.3" +version = "4.14.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9a/6e/886dc7c9d21e2d95aceb696f1e31271742033aeef3661f6e9c8921493592/platformdirs-4.14.3.tar.gz", hash = "sha256:021add1ab113483edbcd4694f5fbb2d688b893ea30d35e1155bb371cf4be0be8", size = 71124, upload-time = "2026-11-01T16:27:32.928Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6e/4e/2684728d9f2c8c4110738dcadca7e0bed4b60c8dc68c40c2a9e0cf017900/platformdirs-4.14.2.tar.gz", hash = "sha256:6d13b4c1d66b7548dcec9e3db13c1ba9d9adb65041b5d07869313afc07e6e41b", size = 70792, upload-time = "2026-10-31T15:10:34.029Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/93/41/f0aa003909ee77a9e7e55f8659abb635ca23ab0d022a449bbb18da87a1ef/platformdirs-4.14.3-py3-none-any.whl", hash = "sha256:cba2d05fe5e18b26b1fa6f376b8e6234c012abe1f8696c486fface7d0054e931", size = 35276, upload-time = "2026-11-01T16:27:31.498Z" }, + { url = "https://files.pythonhosted.org/packages/0b/2d/98af31fdcd7c95c7114e2eb7c2eb0fa55d2a012c37ba4eb3722b7272abcb/platformdirs-4.14.2-py3-none-any.whl", hash = "sha256:dc1f93390f2a9265e44e5afc8667ec7faf737739604e39bc538fec889720c36b", size = 35291, upload-time = "2026-10-31T15:10:32.615Z" }, ] [[package]]