diff --git a/pkgs/by-name/sp/spraycharles/drop-teams.patch b/pkgs/by-name/sp/spraycharles/drop-teams.patch new file mode 100644 index 000000000000..2d876e005cf5 --- /dev/null +++ b/pkgs/by-name/sp/spraycharles/drop-teams.patch @@ -0,0 +1,61 @@ +diff --git a/spraycharles/lib/analyze.py b/spraycharles/lib/analyze.py +index 537f6db..424f87e 100755 +--- a/spraycharles/lib/analyze.py ++++ b/spraycharles/lib/analyze.py +@@ -4,7 +4,7 @@ from enum import Enum + from rich.table import Table + + from spraycharles.lib.logger import console, logger +-from spraycharles.lib.utils import discord, slack, teams, SMBStatus, SprayResult, HookSvc ++from spraycharles.lib.utils import discord, slack, SMBStatus, SprayResult, HookSvc + + + class Analyzer: +@@ -210,8 +210,6 @@ class Analyzer: + pass + case HookSvc.SLACK: + slack(self.webhook, self.host) +- case HookSvc.TEAMS: +- teams(self.webhook, self.host) + case HookSvc.DISCORD: + discord(self.webhook, self.host) + case _: +diff --git a/spraycharles/lib/utils/__init__.py b/spraycharles/lib/utils/__init__.py +index 59eda99..3615e4c 100644 +--- a/spraycharles/lib/utils/__init__.py ++++ b/spraycharles/lib/utils/__init__.py +@@ -1,4 +1,4 @@ +-from spraycharles.lib.utils.notify import discord, teams, slack, HookSvc ++from spraycharles.lib.utils.notify import discord, slack, HookSvc + from spraycharles.lib.utils.ntlm_challenger import main as ntlm_challenger + from spraycharles.lib.utils.smbstatus import SMBStatus + from spraycharles.lib.utils.sprayresult import SprayResult +diff --git a/spraycharles/lib/utils/notify.py b/spraycharles/lib/utils/notify.py +index f39d10d..f0d62f9 100644 +--- a/spraycharles/lib/utils/notify.py ++++ b/spraycharles/lib/utils/notify.py +@@ -1,12 +1,10 @@ + from enum import Enum +-import pymsteams + from discord_webhook import DiscordWebhook + import requests + + + class HookSvc(str, Enum): + SLACK = "Slack" +- TEAMS = "Teams" + DISCORD = "Discord" + + +@@ -18,12 +16,6 @@ def slack(webhook, host): + response.raise_for_status() # Raises an error for bad responses + + +-def teams(webhook, host): +- notify = pymsteams.connectorcard(webhook) +- notify.text(f"Credentials guessed for host: {host}") +- notify.send() +- +- + def discord(webhook, host): + notify = DiscordWebhook( diff --git a/pkgs/by-name/sp/spraycharles/package.nix b/pkgs/by-name/sp/spraycharles/package.nix index c2619145884f..db30ac90c2d3 100644 --- a/pkgs/by-name/sp/spraycharles/package.nix +++ b/pkgs/by-name/sp/spraycharles/package.nix @@ -18,13 +18,16 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pythonRelaxDeps = true; + # https://github.com/Tw1sm/spraycharles/pull/34 + pythonRemoveDeps = [ "pymsteams" ]; + patches = [ ./drop-teams.patch ]; + build-system = with python3.pkgs; [ poetry-core ]; dependencies = with python3.pkgs; [ discord-webhook impacket numpy - pymsteams pyyaml requests requests-ntlm diff --git a/pkgs/development/python-modules/aiohasupervisor/default.nix b/pkgs/development/python-modules/aiohasupervisor/default.nix index f9a93a152ce4..4486fd239130 100644 --- a/pkgs/development/python-modules/aiohasupervisor/default.nix +++ b/pkgs/development/python-modules/aiohasupervisor/default.nix @@ -6,6 +6,7 @@ fetchFromGitHub, mashumaro, orjson, + pyprojectVersionPatchHook, pytest-aiohttp, pytest-cov-stub, pytest-timeout, @@ -16,23 +17,25 @@ buildPythonPackage rec { pname = "aiohasupervisor"; - version = "0.4.3"; + version = "0.5.0"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "python-supervisor-client"; tag = version; - hash = "sha256-h22y62f+pdoHYKqPeKNGFkVS7/IMWbxaAoDLomwAB40="; + hash = "sha256-qIj3kiKSo0aUj7b250c39FqxU3jV6uegmBlxR6wOkQ8="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail 'version = "0.0.0"' 'version = "${version}"' \ - --replace-fail "setuptools>=68.0,<82.1" "setuptools" \ - --replace-fail ', "wheel>=0.40,<0.47"' "" + --replace-fail "setuptools>=68.0,<82.1" "setuptools" ''; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/aiohomeconnect/default.nix b/pkgs/development/python-modules/aiohomeconnect/default.nix index d63da6a8ba14..b74efa64abf4 100644 --- a/pkgs/development/python-modules/aiohomeconnect/default.nix +++ b/pkgs/development/python-modules/aiohomeconnect/default.nix @@ -19,14 +19,14 @@ buildPythonPackage (finalAttrs: { pname = "aiohomeconnect"; - version = "0.36.1"; + version = "0.38.0"; pyproject = true; src = fetchFromGitHub { owner = "MartinHjelmare"; repo = "aiohomeconnect"; tag = "v${finalAttrs.version}"; - hash = "sha256-dzDNwqAYS1Sqhcd9koNTtSkXZ/t78WC/YIKOaA4uqzI="; + hash = "sha256-KJlkJXxbTSA1j/lvCAsIEheF5h2HQpJXVmiM3dyINPw="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/aiolifx-themes/default.nix b/pkgs/development/python-modules/aiolifx-themes/default.nix index 517e10840aba..d710bc1c8947 100644 --- a/pkgs/development/python-modules/aiolifx-themes/default.nix +++ b/pkgs/development/python-modules/aiolifx-themes/default.nix @@ -13,7 +13,7 @@ buildPythonPackage (finalAttrs: { pname = "aiolifx-themes"; - version = "1.0.3"; + version = "1.0.4"; pyproject = true; disabled = pythonOlder "3.12"; @@ -22,7 +22,7 @@ buildPythonPackage (finalAttrs: { owner = "Djelibeybi"; repo = "aiolifx-themes"; tag = "v${finalAttrs.version}"; - hash = "sha256-Y92ze+zrkz+fxQNFFSR5V9sPJMN0/dfIRwT6UhXo0+U="; + hash = "sha256-FTQu8dvm3myRsMC2SKlvIk0MkRIuDPVv5Zxnw5IrPv4="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/aiolifx/default.nix b/pkgs/development/python-modules/aiolifx/default.nix index d1525f12f6a1..a568be21e4ec 100644 --- a/pkgs/development/python-modules/aiolifx/default.nix +++ b/pkgs/development/python-modules/aiolifx/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "aiolifx"; - version = "1.2.1"; + version = "1.2.2"; pyproject = true; src = fetchFromGitHub { owner = "aiolifx"; repo = "aiolifx"; tag = version; - hash = "sha256-9FTsY/VFfzLlDEjF8ueBQxr30YasdQwei1/KfHiXwMo="; + hash = "sha256-v2001UY12HTi1pgugfRQSUg1R6uZAfVpwCASZZW9S0o="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/aiopnsense/default.nix b/pkgs/development/python-modules/aiopnsense/default.nix index 19541f5a3c3d..5b897b2be04b 100644 --- a/pkgs/development/python-modules/aiopnsense/default.nix +++ b/pkgs/development/python-modules/aiopnsense/default.nix @@ -15,7 +15,7 @@ buildPythonPackage (finalAttrs: { pname = "aiopnsense"; - version = "1.0.8"; + version = "1.1.0"; pyproject = true; disabled = pythonOlder "3.14"; @@ -24,7 +24,7 @@ buildPythonPackage (finalAttrs: { owner = "Snuffy2"; repo = "aiopnsense"; tag = "v${finalAttrs.version}"; - hash = "sha256-pJVYbf81/vZRi5elhNhiscXrEqDRLiIrik8N9GcR6yQ="; + hash = "sha256-Ffp0CTYqqeeB8462luTvpa2dp2QOxztkipretBqaKig="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix index 26f029c5a745..d911ebfa39e0 100644 --- a/pkgs/development/python-modules/aioshelly/default.nix +++ b/pkgs/development/python-modules/aioshelly/default.nix @@ -17,14 +17,14 @@ buildPythonPackage (finalAttrs: { pname = "aioshelly"; - version = "13.26.1"; + version = "13.26.2"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "aioshelly"; tag = finalAttrs.version; - hash = "sha256-mOqHHgyx1Eevhr8BHkfFQa7g6x7vt9KJe4E72fr9HPg="; + hash = "sha256-LNMFFi3afbDFezr32zr85lNX1TIdo8BF04yDfc2AIA0="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/asmog/default.nix b/pkgs/development/python-modules/asmog/default.nix deleted file mode 100644 index de2165d63e3f..000000000000 --- a/pkgs/development/python-modules/asmog/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - lib, - aiohttp, - async-timeout, - buildPythonPackage, - fetchPypi, - setuptools, -}: - -buildPythonPackage (finalAttrs: { - pname = "asmog"; - version = "0.0.6"; - pyproject = true; - - src = fetchPypi { - inherit (finalAttrs) pname version; - hash = "sha256-k8dC3g2oY/b4w4m7Y/HUy/6/3Tm1kntx9tjoyXqDaJE="; - }; - - build-system = [ setuptools ]; - - dependencies = [ - aiohttp - async-timeout - ]; - - # Project doesn't ship the tests - # https://github.com/kstaniek/python-ampio-smog-api/issues/2 - doCheck = false; - - pythonImportsCheck = [ "asmog" ]; - - meta = { - description = "Python module for Ampio Smog Sensors"; - homepage = "https://github.com/kstaniek/python-ampio-smog-api"; - license = with lib.licenses; [ asl20 ]; - maintainers = with lib.maintainers; [ fab ]; - }; -}) diff --git a/pkgs/development/python-modules/atenpdu/default.nix b/pkgs/development/python-modules/atenpdu/default.nix deleted file mode 100644 index 2cfd06220afe..000000000000 --- a/pkgs/development/python-modules/atenpdu/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - async-timeout, - pysnmp, - poetry-core, -}: - -buildPythonPackage rec { - pname = "atenpdu"; - version = "0.7.2"; - pyproject = true; - - src = fetchPypi { - inherit pname version; - hash = "sha256-+UQVCizqpyVe7nuQUYwSBOtiTwW+0LVH1HaaucnIg9k="; - }; - - build-system = [ poetry-core ]; - - dependencies = [ - async-timeout - pysnmp - ]; - - # Module has no test - doCheck = false; - - pythonImportsCheck = [ "atenpdu" ]; - - meta = { - description = "Python interface to control ATEN PE PDUs"; - homepage = "https://github.com/mtdcr/pductl"; - changelog = "https://github.com/mtdcr/pductl/releases/tag/${version}"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ fab ]; - mainProgram = "pductl"; - broken = lib.versionAtLeast pysnmp.version "7"; - }; -} diff --git a/pkgs/development/python-modules/avion/default.nix b/pkgs/development/python-modules/avion/default.nix deleted file mode 100644 index 1135c20bd08e..000000000000 --- a/pkgs/development/python-modules/avion/default.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ - lib, - bluepy, - buildPythonPackage, - csrmesh, - fetchPypi, - pycryptodome, - requests, - setuptools, -}: - -buildPythonPackage (finalAttrs: { - pname = "avion"; - version = "0.10"; - pyproject = true; - - src = fetchPypi { - inherit (finalAttrs) pname version; - hash = "sha256-v/0NwFmxDZ9kEOx5qs5L9sKzOg/kto79syctg0Ah+30="; - }; - - postPatch = '' - # https://github.com/mjg59/python-avion/pull/16 - substituteInPlace setup.py \ - --replace "bluepy>==1.1.4" "bluepy>=1.1.4" - ''; - - build-system = [ setuptools ]; - - dependencies = [ - bluepy - csrmesh - pycryptodome - requests - ]; - - # Module has no test - doCheck = false; - - # bluepy/uuids.json is not found - # pythonImportsCheck = [ "avion" ]; - - meta = { - description = "Python API for controlling Avi-on Bluetooth dimmers"; - homepage = "https://github.com/mjg59/python-avion"; - license = with lib.licenses; [ gpl3Plus ]; - maintainers = with lib.maintainers; [ fab ]; - }; -}) diff --git a/pkgs/development/python-modules/beewi-smartclim/default.nix b/pkgs/development/python-modules/beewi-smartclim/default.nix deleted file mode 100644 index 083894116408..000000000000 --- a/pkgs/development/python-modules/beewi-smartclim/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - setuptools, - btlewrap, - bluepy, -}: - -buildPythonPackage rec { - pname = "beewi-smartclim"; - version = "0.0.10"; - pyproject = true; - - src = fetchFromGitHub { - owner = "alemuro"; - repo = "beewi_smartclim"; - tag = version; - hash = "sha256-xdr545Q4DFhup2BCMZZ1WYWgt97qT6oipIHWcsp90+A="; - }; - - build-system = [ setuptools ]; - - dependencies = [ - btlewrap - bluepy - ]; - - # No tests available - doCheck = false; - - pythonImportsCheck = [ "beewi_smartclim" ]; - - meta = { - description = "Library to read data from BeeWi SmartClim sensor using Bluetooth LE"; - homepage = "https://github.com/alemuro/beewi_smartclim"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.jamiemagee ]; - }; -} diff --git a/pkgs/development/python-modules/bluetooth-adapters/default.nix b/pkgs/development/python-modules/bluetooth-adapters/default.nix index 2dc949d75601..7810ccf8b764 100644 --- a/pkgs/development/python-modules/bluetooth-adapters/default.nix +++ b/pkgs/development/python-modules/bluetooth-adapters/default.nix @@ -21,14 +21,14 @@ buildPythonPackage (finalAttrs: { pname = "bluetooth-adapters"; - version = "2.3.0"; + version = "2.4.0"; pyproject = true; src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "bluetooth-adapters"; tag = "v${finalAttrs.version}"; - hash = "sha256-r/qDwlIVa7VBkhepmuFqwtlJ7WYUTiYRKikhURTgLH8="; + hash = "sha256-d1vHb1WvsumlvilwuV6yfTwMXViLqeosSSM3LijIGYY="; }; outputs = [ diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix index 3c2836d28232..6a4ed61a01d9 100644 --- a/pkgs/development/python-modules/dbus-fast/default.nix +++ b/pkgs/development/python-modules/dbus-fast/default.nix @@ -15,14 +15,14 @@ buildPythonPackage (finalAttrs: { pname = "dbus-fast"; - version = "5.0.17"; + version = "5.0.22"; pyproject = true; src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "dbus-fast"; tag = "v${finalAttrs.version}"; - hash = "sha256-wZ4ufGua56weOuaOkyjBIzDex/gjmLeAczYzeLQRFwo="; + hash = "sha256-tYgsaXOo1zYjWebcWZyGIIbYHCJApwhRnuYcHOP+ZUs="; }; postPatch = '' diff --git a/pkgs/development/python-modules/eliqonline/default.nix b/pkgs/development/python-modules/eliqonline/default.nix deleted file mode 100644 index 06135070f86d..000000000000 --- a/pkgs/development/python-modules/eliqonline/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - lib, - aiohttp, - buildPythonPackage, - docopt, - fetchPypi, - pyyaml, -}: - -buildPythonPackage rec { - pname = "eliqonline"; - version = "1.2.2"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "hOUN4cA4pKVioIrfJM02GOnZdDRc7xbNtvHfoD3//bM="; - }; - - propagatedBuildInputs = [ - aiohttp - docopt - pyyaml - ]; - - # Project has no tests - doCheck = false; - - pythonImportsCheck = [ "eliqonline" ]; - - meta = { - description = "Python client to the Eliq Online API"; - mainProgram = "eliqonline"; - homepage = "https://github.com/molobrakos/eliqonline"; - license = lib.licenses.lgpl3Only; - maintainers = with lib.maintainers; [ fab ]; - }; -} diff --git a/pkgs/development/python-modules/fido2/default.nix b/pkgs/development/python-modules/fido2/default.nix index f279e558460d..6329cfb442ef 100644 --- a/pkgs/development/python-modules/fido2/default.nix +++ b/pkgs/development/python-modules/fido2/default.nix @@ -8,14 +8,14 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "fido2"; - version = "2.1.1"; + version = "2.2.1"; pyproject = true; src = fetchPypi { - inherit pname version; - hash = "sha256-8TefhFhwzH/GTH8HMjw85B6MlsNwVOeeCs1WMLP+xaw="; + inherit (finalAttrs) pname version; + hash = "sha256-hXh0KKlMP46vcvD/MK+6mDtVmhsbeVyTMYyBtK1AYsQ="; }; build-system = [ poetry-core ]; @@ -28,7 +28,10 @@ buildPythonPackage rec { pcsc = [ pyscard ]; }; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytestCheckHook + ] + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; pytestFlags = [ "-v" @@ -40,8 +43,8 @@ buildPythonPackage rec { meta = { description = "Provides library functionality for FIDO 2.0, including communication with a device over USB"; homepage = "https://github.com/Yubico/python-fido2"; - changelog = "https://github.com/Yubico/python-fido2/releases/tag/${version}"; + changelog = "https://github.com/Yubico/python-fido2/releases/tag/${finalAttrs.version}"; license = lib.licenses.bsd2; maintainers = with lib.maintainers; [ prusnak ]; }; -} +}) diff --git a/pkgs/development/python-modules/forecast-solar/default.nix b/pkgs/development/python-modules/forecast-solar/default.nix index f8edb6cee3cd..616961728241 100644 --- a/pkgs/development/python-modules/forecast-solar/default.nix +++ b/pkgs/development/python-modules/forecast-solar/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "forecast-solar"; - version = "5.0.0"; + version = "5.0.1"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "forecast_solar"; tag = "v${version}"; - hash = "sha256-gFa1jq4Dq6fWqL/3eY+OGcJU+T+R6TZs8CX1ynnW+pU="; + hash = "sha256-fvmi5kwVAScVlGpxutjH8nl0lJx/VnQEVoj9a1UY7r4="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/gitterpy/default.nix b/pkgs/development/python-modules/gitterpy/default.nix deleted file mode 100644 index ee35d962d1d8..000000000000 --- a/pkgs/development/python-modules/gitterpy/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - setuptools, - requests, -}: - -buildPythonPackage rec { - pname = "gitterpy"; - version = "0.1.7"; - pyproject = true; - - src = fetchPypi { - inherit pname version; - hash = "sha256-nmZ6sVjrHRLfvXMr/fYiN+a4Wly87YKwAR+heP/sNkE="; - }; - - build-system = [ setuptools ]; - - dependencies = [ requests ]; - - # Package has no tests - doCheck = false; - - pythonImportsCheck = [ "gitterpy" ]; - - meta = { - description = "Python interface for the Gitter API"; - homepage = "https://github.com/MichaelYusko/GitterPy"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.jamiemagee ]; - }; -} diff --git a/pkgs/development/python-modules/greenwavereality/default.nix b/pkgs/development/python-modules/greenwavereality/default.nix deleted file mode 100644 index b49b9cd01a94..000000000000 --- a/pkgs/development/python-modules/greenwavereality/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - setuptools, - requests, - xmltodict, - urllib3, -}: - -buildPythonPackage rec { - pname = "greenwavereality"; - version = "0.5.1"; - pyproject = true; - - src = fetchPypi { - inherit pname version; - hash = "sha256-bNTO9qHoOe3A7TYiUwLBVq4eWyGoIfCoguizM1hKk/Y="; - }; - - build-system = [ setuptools ]; - - dependencies = [ - requests - xmltodict - urllib3 - ]; - - # Module has no tests - doCheck = false; - - pythonImportsCheck = [ "greenwavereality" ]; - - meta = { - description = "Control of Greenwave Reality Lights"; - homepage = "https://github.com/dfiel/greenwavereality"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.jamiemagee ]; - }; -} diff --git a/pkgs/development/python-modules/habluetooth/default.nix b/pkgs/development/python-modules/habluetooth/default.nix index 8ede59b6de0d..1bf121660201 100644 --- a/pkgs/development/python-modules/habluetooth/default.nix +++ b/pkgs/development/python-modules/habluetooth/default.nix @@ -20,14 +20,14 @@ buildPythonPackage (finalAttrs: { pname = "habluetooth"; - version = "6.8.1"; + version = "6.26.5"; pyproject = true; src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "habluetooth"; tag = "v${finalAttrs.version}"; - hash = "sha256-a6qYBCN4nlJ0KRqGSbE6D5YySrvhi2kqAArMKa5A6sM="; + hash = "sha256-IM3M4fWTdD4wT3UsNiLZq7QX3p9pf+lR3x84vuOICMM="; }; build-system = [ diff --git a/pkgs/development/python-modules/hassil/default.nix b/pkgs/development/python-modules/hassil/default.nix index 0d90983c8a07..f9f31cf9ed68 100644 --- a/pkgs/development/python-modules/hassil/default.nix +++ b/pkgs/development/python-modules/hassil/default.nix @@ -16,7 +16,7 @@ let pname = "hassil"; - version = "3.7.0"; + version = "3.8.0"; in buildPythonPackage rec { inherit pname version; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "home-assistant"; repo = "hassil"; tag = "v${version}"; - hash = "sha256-C3nx8w0y4RsHq9txwdSfgS9BMcY4TyZiBOq4QIq5w+0="; + hash = "sha256-b+ykT6P9yG8jZZN92K76uBaKTJpV6lkcqP3AAYbj3dU="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/hole/default.nix b/pkgs/development/python-modules/hole/default.nix index da6316841658..fd3bb35cd59c 100644 --- a/pkgs/development/python-modules/hole/default.nix +++ b/pkgs/development/python-modules/hole/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "hole"; - version = "0.9.1"; + version = "0.9.2"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-ecosystem"; repo = "python-hole"; tag = finalAttrs.version; - hash = "sha256-rIKb6GeULi2ooNtWD2a23JQxO9HkXiUYy0AroYeVeKU="; + hash = "sha256-j9fwetfxc0HG+Ly+MpRYL3jDHAwtt+Ls3tUcizHuUrg="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/infrared-protocols/default.nix b/pkgs/development/python-modules/infrared-protocols/default.nix index e5a79ea3d0ff..839e13159529 100644 --- a/pkgs/development/python-modules/infrared-protocols/default.nix +++ b/pkgs/development/python-modules/infrared-protocols/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "infrared-protocols"; - version = "5.8.1"; + version = "6.3.1"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "infrared-protocols"; tag = finalAttrs.version; - hash = "sha256-CSVnH+U/dqp5vjA4eWEJEFT0LZgaAG3OC1rcgyKIcJE="; + hash = "sha256-6kyb0a0cCwVSS4evDGg0Z7wLGhDUHnLeXUJ9PW+fhHk="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/iometer/default.nix b/pkgs/development/python-modules/iometer/default.nix index 932fe4fc0e8d..25cf8f9c137f 100644 --- a/pkgs/development/python-modules/iometer/default.nix +++ b/pkgs/development/python-modules/iometer/default.nix @@ -13,14 +13,14 @@ buildPythonPackage (finalAttrs: { pname = "iometer"; - version = "1.0.1"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "iometer-gmbh"; repo = "iometer.py"; - tag = finalAttrs.version; - hash = "sha256-ksf/nZHv4/JRHo5OrFp6lgPF62DD37ELFfUVkL+TDEo="; + tag = "v${finalAttrs.version}"; + hash = "sha256-50tq+z1+8CX58Yj6GztYXStHMG+IncOHDgwK8WhxVcQ="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/knx-telegram-store/default.nix b/pkgs/development/python-modules/knx-telegram-store/default.nix new file mode 100644 index 000000000000..cdbda0cf2b4b --- /dev/null +++ b/pkgs/development/python-modules/knx-telegram-store/default.nix @@ -0,0 +1,61 @@ +{ + aiosqlite, + asyncpg, + buildPythonPackage, + fetchFromGitHub, + lib, + pytest-asyncio, + pytestCheckHook, + pytest-cov-stub, + setuptools, + sqlalchemy, +}: + +buildPythonPackage (finalAttrs: { + pname = "knx-telegram-store"; + version = "0.4.0"; + pyproject = true; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "XKNX"; + repo = "knx-telegram-store"; + tag = "v${finalAttrs.version}"; + hash = "sha256-t4Bmm5n9+XSBiR2Rvm6UKAKweH9fQuZwaNqG1W2q3Co="; + }; + + build-system = [ + setuptools + ]; + + optional-dependencies = { + postgres = [ + asyncpg + sqlalchemy + ]; + sqlite = [ + aiosqlite + sqlalchemy + ]; + }; + + nativeCheckInputs = [ + pytest-asyncio + pytest-cov-stub + pytestCheckHook + ] + ++ finalAttrs.passthru.optional-dependencies.sqlite; + + pythonImportsCheck = [ + "knx_telegram_store" + ]; + + meta = { + description = "Standalone, host-agnostic Python library for KNX telegram persistence"; + homepage = "https://github.com/XKNX/knx-telegram-store"; + changelog = "https://github.com/XKNX/knx-telegram-store/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/development/python-modules/mozart-api/default.nix b/pkgs/development/python-modules/mozart-api/default.nix index 105d1a22ac13..ace3c790d240 100644 --- a/pkgs/development/python-modules/mozart-api/default.nix +++ b/pkgs/development/python-modules/mozart-api/default.nix @@ -18,13 +18,13 @@ buildPythonPackage (finalAttrs: { pname = "mozart-api"; - version = "5.3.1.108.2"; + version = "6.2.0.44.1"; pyproject = true; src = fetchPypi { pname = "mozart_api"; inherit (finalAttrs) version; - hash = "sha256-ilUSGgc4m6iMBUuSI7qt7c4DAE8cOPTzLGeQ4JQAB8U="; + hash = "sha256-HJKxw49hGjVedjpCzxfbL8v6b6MXXqE96hlL5U64r5Y="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/msmart-ng/default.nix b/pkgs/development/python-modules/msmart-ng/default.nix index 8f34f1202213..bacb4048217f 100644 --- a/pkgs/development/python-modules/msmart-ng/default.nix +++ b/pkgs/development/python-modules/msmart-ng/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "msmart-ng"; - version = "2026.4.1"; + version = "2026.7.0"; pyproject = true; src = fetchFromGitHub { owner = "mill1000"; repo = "midea-msmart"; tag = version; - hash = "sha256-kWKdNu5IxBly+4SMIFYF1V3s5stpTbYvvcXpVtG51vM="; + hash = "sha256-OW5++yd+o2KqaFWTo/RiLjK1HO2l9WSDxkiX3lYtaUs="; }; build-system = [ diff --git a/pkgs/development/python-modules/music-assistant-client/default.nix b/pkgs/development/python-modules/music-assistant-client/default.nix index 5aa9a2dfcef5..09542f5c3e59 100644 --- a/pkgs/development/python-modules/music-assistant-client/default.nix +++ b/pkgs/development/python-modules/music-assistant-client/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "music-assistant-client"; - version = "1.3.5"; + version = "1.3.6"; pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "client"; tag = version; - hash = "sha256-1yJTn8gnEFkoWGQHItpdO77ltE1Ai5z9hmJvakxyi24="; + hash = "sha256-uK3suOFhRJT6ji5ksdH3Y4iO9ysdbyZWVNTThJvGiGc="; }; postPatch = '' diff --git a/pkgs/development/python-modules/music-assistant-models/default.nix b/pkgs/development/python-modules/music-assistant-models/default.nix index 7f2b91bb4c1d..46790c8fc467 100644 --- a/pkgs/development/python-modules/music-assistant-models/default.nix +++ b/pkgs/development/python-modules/music-assistant-models/default.nix @@ -23,14 +23,14 @@ buildPythonPackage (finalAttrs: { pname = "music-assistant-models"; # Must be compatible with music-assistant-client package # nixpkgs-update: no auto update - version = "1.1.115"; + version = "1.1.139"; pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "models"; tag = finalAttrs.version; - hash = "sha256-oEXL0B8JNH4PcltpES375ov7QGs+gtYKlMGr1B7BlKY="; + hash = "sha256-AT+R0Sor3aDqydGfT8gJfk9/rEpqEOad5ytnGnW7B1U="; }; postPatch = '' diff --git a/pkgs/development/python-modules/opuslib-next/ctypes.patch b/pkgs/development/python-modules/opuslib-next/ctypes.patch new file mode 100644 index 000000000000..6d380643d021 --- /dev/null +++ b/pkgs/development/python-modules/opuslib-next/ctypes.patch @@ -0,0 +1,13 @@ +diff --git a/opuslib_next/api/__init__.py b/opuslib_next/api/__init__.py +index dc498b2..b2ded08 100644 +--- a/opuslib_next/api/__init__.py ++++ b/opuslib_next/api/__init__.py +@@ -15,7 +15,7 @@ __copyright__ = "Copyright (c) 2025, Kalicyh" + __license__ = "BSD 3-Clause License" + + +-lib_location = find_library("opus") ++lib_location = "@libopus@" + + if lib_location is None: + # find opus library in macOS diff --git a/pkgs/development/python-modules/opuslib-next/default.nix b/pkgs/development/python-modules/opuslib-next/default.nix new file mode 100644 index 000000000000..3d4a30b96c0f --- /dev/null +++ b/pkgs/development/python-modules/opuslib-next/default.nix @@ -0,0 +1,54 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + libopus, + pytestCheckHook, + replaceVars, + stdenv, +}: + +buildPythonPackage (finalAttrs: { + pname = "opuslib-next"; + version = "1.3.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "kalicyh"; + repo = "opuslib-next"; + tag = "v${finalAttrs.version}"; + hash = "sha256-rR1tsijKUBUH3bZZSISsx1JUO35TZevcTcfPtoQow/E="; + }; + + patches = [ + (replaceVars ./ctypes.patch { + libopus = "${lib.getLib libopus}/lib/libopus${stdenv.hostPlatform.extensions.sharedLibrary}"; + }) + ]; + + build-system = [ + hatchling + ]; + + buildInputs = [ + libopus + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "opuslib_next" + ]; + + meta = { + description = "Python bindings to the libopus, IETF low-delay audio codec"; + homepage = "https://github.com/kalicyh/opuslib-next"; + changelog = "https://github.com/kalicyh/opuslib-next/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/development/python-modules/ouman-eh-800-api/default.nix b/pkgs/development/python-modules/ouman-eh-800-api/default.nix index e84d768dce1a..05e87357b57c 100644 --- a/pkgs/development/python-modules/ouman-eh-800-api/default.nix +++ b/pkgs/development/python-modules/ouman-eh-800-api/default.nix @@ -13,7 +13,7 @@ buildPythonPackage (finalAttrs: { pname = "ouman-eh-800-api"; - version = "0.5.0"; + version = "1.0.0"; pyproject = true; disabled = pythonOlder "3.13"; @@ -22,7 +22,7 @@ buildPythonPackage (finalAttrs: { owner = "Markus98"; repo = "ouman-eh-800-api"; tag = "v${finalAttrs.version}"; - hash = "sha256-1CEn44Uw+OH4DXcATt6qvsi3Ce4ghorWyS7lBhO2lH4="; + hash = "sha256-lY6aC2d31M4I5O1J9vIBH83MMiJ941cMixTsGP5I0OM="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pajgps-api/default.nix b/pkgs/development/python-modules/pajgps-api/default.nix index 88acca389028..a3b2b2423fd7 100644 --- a/pkgs/development/python-modules/pajgps-api/default.nix +++ b/pkgs/development/python-modules/pajgps-api/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "pajgps-api"; - version = "0.3.1"; + version = "0.4.0"; pyproject = true; src = fetchFromGitHub { owner = "skipperro"; repo = "pajgps-api"; tag = finalAttrs.version; - hash = "sha256-OJbWF5KcqyRud0Sfx7rME+mXIjiZQD9UxD3vpeV6RWY="; + hash = "sha256-7NVr75ss9vUjyn0Yz+bpZVdN4gDx4gvpdDV1bWLKOIQ="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/py-ccm15/default.nix b/pkgs/development/python-modules/py-ccm15/default.nix index d6371c1e012b..ace59fce7e14 100644 --- a/pkgs/development/python-modules/py-ccm15/default.nix +++ b/pkgs/development/python-modules/py-ccm15/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "py-ccm15"; - version = "0.1.2"; + version = "1.1.2"; pyproject = true; src = fetchFromGitHub { @@ -21,7 +21,7 @@ buildPythonPackage rec { # Therefore it should not be marked unstable # upstream issue: https://github.com/ocalvo/py-ccm15/issues/10 tag = "v${version}"; - hash = "sha256-QfitJzCFk0gnlcCvvKzuI4fS1lVm79q4xaDZFKKt458="; + hash = "sha256-qEowsu7ebnD5eCR7SiWEqLwR3yqoqOnuw4wSQm4rmHQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix index 2129c2f1e523..02db8b9fae26 100644 --- a/pkgs/development/python-modules/py-synologydsm-api/default.nix +++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "py-synologydsm-api"; - version = "2.10.1"; + version = "2.10.2"; pyproject = true; src = fetchFromGitHub { owner = "mib1185"; repo = "py-synologydsm-api"; tag = "v${version}"; - hash = "sha256-3NfI+wth0UTBbByFIsUgyyu7SCmbpNu8necNl7KOAxY="; + hash = "sha256-LILtlgUCSL+107axBZOIjqbS4kAXWLxt9936tpvW3XA="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pyanglianwater/default.nix b/pkgs/development/python-modules/pyanglianwater/default.nix index 311e81b2f1a6..becb9af2a267 100644 --- a/pkgs/development/python-modules/pyanglianwater/default.nix +++ b/pkgs/development/python-modules/pyanglianwater/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "pyanglianwater"; - version = "3.2.3"; + version = "3.2.4"; pyproject = true; src = fetchFromGitHub { owner = "pantherale0"; repo = "pyanglianwater"; tag = version; - hash = "sha256-hXHkRiKnv59TW1Wr2aJcMvW65SQbkfSokGjh9AvmN3s="; + hash = "sha256-AkdWWiw1FMs/uuJNSocMBpReXY2mrxouQfWuu4ntRWY="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pygti/default.nix b/pkgs/development/python-modules/pygti/default.nix index a9ee409a15ae..f557ffef4610 100644 --- a/pkgs/development/python-modules/pygti/default.nix +++ b/pkgs/development/python-modules/pygti/default.nix @@ -2,28 +2,34 @@ lib, buildPythonPackage, fetchFromGitHub, - setuptools-scm, + hatchling, + hatch-vcs, aiohttp, + pydantic, pytz, voluptuous, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pygti"; - version = "0.10.0"; + version = "1.1.1"; pyproject = true; src = fetchFromGitHub { owner = "vigonotion"; repo = "pygti"; - tag = version; - hash = "sha256-2T4Yw4XEOkv+IWyB4Xa2dPu929VH0tLeUjQ5S8EVXz0="; + tag = "v${finalAttrs.version}"; + hash = "sha256-B+jz91xoN7GiU4PnJTG5Kt1eA4ST63d+ZEgRrr9Xio8="; }; - build-system = [ setuptools-scm ]; + build-system = [ + hatchling + hatch-vcs + ]; dependencies = [ aiohttp + pydantic pytz voluptuous ]; @@ -38,10 +44,10 @@ buildPythonPackage rec { ]; meta = { - changelog = "https://github.com/vigonotion/pygti/releases/tag/${src.tag}"; + changelog = "https://github.com/vigonotion/pygti/releases/tag/${finalAttrs.src.tag}"; description = "Access public transport information in Hamburg, Germany"; homepage = "https://github.com/vigonotion/pygti"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ dotlambda ]; }; -} +}) diff --git a/pkgs/development/python-modules/pyicloud/default.nix b/pkgs/development/python-modules/pyicloud/default.nix index b5ab00d1a7aa..6b5464f6ee97 100644 --- a/pkgs/development/python-modules/pyicloud/default.nix +++ b/pkgs/development/python-modules/pyicloud/default.nix @@ -7,27 +7,32 @@ fido2, keyring, keyrings-alt, + protobuf, + pydantic, pytest-mock, pytest-socket, pytestCheckHook, pythonAtLeast, requests, + rich, setuptools, setuptools-scm, srp, + tinyhtml, + typer, tzlocal, }: buildPythonPackage (finalAttrs: { pname = "pyicloud"; - version = "2.4.1"; + version = "2.6.5"; pyproject = true; src = fetchFromGitHub { owner = "timlaing"; repo = "pyicloud"; tag = finalAttrs.version; - hash = "sha256-6Z5YhEqRzThQM5nHG0o+q4Rm/+A/ss3N6RDRz6mPJm4="; + hash = "sha256-wlBVQPGGt8Q6EeLceORfRn+MtRKtmum+z3WAG6ZR+2Q="; }; build-system = [ @@ -41,16 +46,27 @@ buildPythonPackage (finalAttrs: { fido2 keyring keyrings-alt + protobuf + pydantic requests srp + tinyhtml tzlocal ]; + optional-dependencies = { + cli = [ + rich + typer + ]; + }; + nativeCheckInputs = [ pytest-mock pytest-socket pytestCheckHook - ]; + ] + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; pythonImportsCheck = [ "pyicloud" ]; diff --git a/pkgs/development/python-modules/pyipma/default.nix b/pkgs/development/python-modules/pyipma/default.nix index 628254991592..a37899a50f7d 100644 --- a/pkgs/development/python-modules/pyipma/default.nix +++ b/pkgs/development/python-modules/pyipma/default.nix @@ -12,16 +12,16 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pyipma"; - version = "3.0.9"; + version = "3.0.10"; pyproject = true; src = fetchFromGitHub { owner = "dgomes"; repo = "pyipma"; - tag = version; - hash = "sha256-1EUOkNwNoZQEetJ5v6httas0S0a3bHLv/lDRXQsT/Ds="; + tag = "v${finalAttrs.version}"; + hash = "sha256-f1V+8So8TmR9Cu2fjD3B7EqeJd9e1G9cgCNytGul2Eo="; }; build-system = [ setuptools ]; @@ -41,6 +41,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "pyipma" ]; + disabledTests = [ + # Test requires network access + "test_retrieve_returns_json_response_from_api" + ]; + disabledTestPaths = [ # Tests require network access "tests/test_auxiliar.py" @@ -51,8 +56,8 @@ buildPythonPackage rec { meta = { description = "Library to retrieve information from Instituto Português do Mar e Atmosfera"; homepage = "https://github.com/dgomes/pyipma"; - changelog = "https://github.com/dgomes/pyipma/releases/tag/${src.tag}"; + changelog = "https://github.com/dgomes/pyipma/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/pylamarzocco/default.nix b/pkgs/development/python-modules/pylamarzocco/default.nix index 8b437d940b47..b9a5e7642000 100644 --- a/pkgs/development/python-modules/pylamarzocco/default.nix +++ b/pkgs/development/python-modules/pylamarzocco/default.nix @@ -16,14 +16,14 @@ buildPythonPackage (finalAttrs: { pname = "pylamarzocco"; - version = "2.3.0"; + version = "2.4.2"; pyproject = true; src = fetchFromGitHub { owner = "zweckj"; repo = "pylamarzocco"; tag = "v${finalAttrs.version}"; - hash = "sha256-DNlUdnJjaYUfz8X8UmzqjHwj+WGmRQZQGDkHUjrAJ7E="; + hash = "sha256-9wqSF67MNxnGvDDDVY9epI3hoV8M20L3Fyz80/x8G74="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix index 2a6a0b952371..69dc994c5b91 100644 --- a/pkgs/development/python-modules/pylitterbot/default.nix +++ b/pkgs/development/python-modules/pylitterbot/default.nix @@ -1,9 +1,11 @@ { lib, aiohttp, + aiointercept, aioresponses, buildPythonPackage, deepdiff, + fastmcp, fetchFromGitHub, hatchling, pycognito, @@ -18,14 +20,14 @@ buildPythonPackage (finalAttrs: { pname = "pylitterbot"; - version = "2025.4.0"; + version = "2025.6.0"; pyproject = true; src = fetchFromGitHub { owner = "natekspencer"; repo = "pylitterbot"; tag = finalAttrs.version; - hash = "sha256-k10QYIdV8EFGR/366IZ6OaXbK+kEcaz3Awdwu116zHA="; + hash = "sha256-shn218uasWtZidnmhAVU0bG9BVfrN/0Gy1iy01LGfrc="; }; build-system = [ @@ -34,8 +36,10 @@ buildPythonPackage (finalAttrs: { ]; dependencies = [ + aiointercept aiohttp deepdiff + fastmcp pycognito pyjwt ]; diff --git a/pkgs/development/python-modules/pymodbus/default.nix b/pkgs/development/python-modules/pymodbus/default.nix index 9837885ecb5f..148015d169bb 100644 --- a/pkgs/development/python-modules/pymodbus/default.nix +++ b/pkgs/development/python-modules/pymodbus/default.nix @@ -21,14 +21,14 @@ buildPythonPackage (finalAttrs: { pname = "pymodbus"; - version = "3.12.1"; + version = "3.13.1"; pyproject = true; src = fetchFromGitHub { owner = "pymodbus-dev"; repo = "pymodbus"; tag = "v${finalAttrs.version}"; - hash = "sha256-ISfAqZu6BSuXoISo8me7Z7BjvoEj6c2KgvuScjEiqd4="; + hash = "sha256-gaCD3bhwBXF08vn3v9OU2mT1WJycrqgtxUC8sRLmZ8Y="; }; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/pymsteams/default.nix b/pkgs/development/python-modules/pymsteams/default.nix deleted file mode 100644 index a9032180e048..000000000000 --- a/pkgs/development/python-modules/pymsteams/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - requests, - setuptools, - setuptools-scm, -}: - -buildPythonPackage rec { - pname = "pymsteams"; - version = "0.2.5"; - pyproject = true; - - src = fetchFromGitHub { - owner = "rveachkc"; - repo = "pymsteams"; - tag = version; - hash = "sha256-Ze25mcXCRaon6qzWzcltD8kwJTfrG2w5jMswXymmKo4="; - }; - - build-system = [ - setuptools - setuptools-scm - ]; - - dependencies = [ requests ]; - - # Tests require network access - doCheck = false; - - pythonImportsCheck = [ "pymsteams" ]; - - meta = { - description = "Python module to interact with Microsoft Teams"; - homepage = "https://github.com/rveachkc/pymsteams"; - changelog = "https://github.com/rveachkc/pymsteams/releases/tag/${version}"; - license = with lib.licenses; [ asl20 ]; - maintainers = with lib.maintainers; [ fab ]; - }; -} diff --git a/pkgs/development/python-modules/pyomie/default.nix b/pkgs/development/python-modules/pyomie/default.nix index 3709034e38d2..5c4e69d73407 100644 --- a/pkgs/development/python-modules/pyomie/default.nix +++ b/pkgs/development/python-modules/pyomie/default.nix @@ -15,19 +15,22 @@ buildPythonPackage (finalAttrs: { pname = "pyomie"; - version = "1.1.1"; + version = "1.1.3"; pyproject = true; src = fetchFromGitHub { owner = "luuuis"; repo = "pyomie"; tag = "v${finalAttrs.version}"; - hash = "sha256-BOaOClTXeoRxWb2aJKN6+lQRCLAShvHPXsUZBbH0mno="; + hash = "sha256-gsCPqKBzQ0nA47WT30PesGuJ4/jicYsFXl04KQ8H/KQ="; }; build-system = [ poetry-core ]; - pythonRelaxDeps = [ "typer" ]; + pythonRelaxDeps = [ + "click" + "typer" + ]; dependencies = [ aiohttp diff --git a/pkgs/development/python-modules/pyoverkiz/default.nix b/pkgs/development/python-modules/pyoverkiz/default.nix index 6a45385fbc15..28d49bf3d6f1 100644 --- a/pkgs/development/python-modules/pyoverkiz/default.nix +++ b/pkgs/development/python-modules/pyoverkiz/default.nix @@ -5,9 +5,9 @@ backoff, boto3, buildPythonPackage, + cattrs, fetchFromGitHub, hatchling, - pyhumps, pytest-asyncio, pytestCheckHook, warrant-lite, @@ -15,14 +15,14 @@ buildPythonPackage (finalAttrs: { pname = "pyoverkiz"; - version = "1.20.6"; + version = "2.0.3"; pyproject = true; src = fetchFromGitHub { owner = "iMicknl"; repo = "python-overkiz-api"; tag = "v${finalAttrs.version}"; - hash = "sha256-Zbz4l5bPvFQaek6/Nbn+PzAzLS3l2PyetuxOBVsuLPk="; + hash = "sha256-kKaT9YimH9o5yI7x9T9TSrcvwKEQ5M/HRnZp5S4xbGE="; }; build-system = [ hatchling ]; @@ -31,11 +31,16 @@ buildPythonPackage (finalAttrs: { aiohttp attrs backoff - boto3 - pyhumps - warrant-lite + cattrs ]; + optional-dependencies = { + nexity = [ + boto3 + warrant-lite + ]; + }; + nativeCheckInputs = [ pytest-asyncio pytestCheckHook diff --git a/pkgs/development/python-modules/pyrate-limiter/default.nix b/pkgs/development/python-modules/pyrate-limiter/default.nix index 5de57d7bd3dc..c5649cd22864 100644 --- a/pkgs/development/python-modules/pyrate-limiter/default.nix +++ b/pkgs/development/python-modules/pyrate-limiter/default.nix @@ -14,6 +14,7 @@ redis, # test + aiohttp, pytestCheckHook, pytest-asyncio, pytest-xdist, @@ -22,14 +23,14 @@ buildPythonPackage rec { pname = "pyrate-limiter"; - version = "4.1.0"; + version = "4.4.0"; pyproject = true; src = fetchFromGitHub { owner = "vutran1710"; repo = "PyrateLimiter"; tag = "v${version}"; - hash = "sha256-2gWbabdRqwWiC4xbMx/VGBwwMcygVMKJswXgd4Ia+xE="; + hash = "sha256-DT4WyGrayI12Sid6yLOit68vW/YT4cHsRYjd4oo0/J8="; }; build-system = [ @@ -55,6 +56,7 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ + aiohttp filelock pytestCheckHook pytest-asyncio diff --git a/pkgs/development/python-modules/pyrisco/default.nix b/pkgs/development/python-modules/pyrisco/default.nix index 4559253b2535..6ee8a07eca81 100644 --- a/pkgs/development/python-modules/pyrisco/default.nix +++ b/pkgs/development/python-modules/pyrisco/default.nix @@ -4,25 +4,29 @@ buildPythonPackage, fetchFromGitHub, setuptools, + setuptools-scm, }: buildPythonPackage (finalAttrs: { pname = "pyrisco"; - version = "0.7.0"; + version = "0.8.0"; pyproject = true; src = fetchFromGitHub { owner = "OnFreund"; repo = "pyrisco"; tag = "v${finalAttrs.version}"; - hash = "sha256-moFKikAIBLWfkpADjNKqZd3jAg5LPapubB1pGmx8OPo="; + hash = "sha256-tzCwimkSLazD6LtimFUcRjOvnvSlYY1MpJLZ2u4WgUg="; }; - build-system = [ setuptools ]; + build-system = [ + setuptools + setuptools-scm + ]; dependencies = [ aiohttp ]; - # Project has no tests + # All tests require cloud access doCheck = false; pythonImportsCheck = [ "pyrisco" ]; diff --git a/pkgs/development/python-modules/pyshark/default.nix b/pkgs/development/python-modules/pyshark/default.nix index 64db47763f55..1a6e2c043989 100644 --- a/pkgs/development/python-modules/pyshark/default.nix +++ b/pkgs/development/python-modules/pyshark/default.nix @@ -29,10 +29,6 @@ buildPythonPackage (finalAttrs: { version = "0.6"; pyproject = true; - # Almost all tests fail with: - # RuntimeError: There is no current event loop in thread 'MainThread' - disabled = pythonAtLeast "3.14"; - src = fetchFromGitHub { owner = "KimiNewt"; repo = "pyshark"; @@ -58,6 +54,8 @@ buildPythonPackage (finalAttrs: { (replaceVars ./hardcode-tshark-path.patch { tshark = lib.getExe' wireshark-cli "tshark"; }) + # Compat for Python 3.14 asyncio changes + ./py314-compat.patch ]; sourceRoot = "${finalAttrs.src.name}/src"; @@ -81,6 +79,13 @@ buildPythonPackage (finalAttrs: { # KeyError: 'Packet of index 0 does not exist in capture' "test_getting_packet_summary" ] + ++ lib.optionals (pythonAtLeast "3.14") [ + # _pickle.PicklingError: logger cannot be pickled + "test_iterate_empty_psml_capture" + # configparser.NoSectionError: No section: 'tshark' + # Path is mocked, and yet... + "test_get_tshark_path" + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # fails on darwin # _pickle.PicklingError: logger cannot be pickled diff --git a/pkgs/development/python-modules/pyshark/py314-compat.patch b/pkgs/development/python-modules/pyshark/py314-compat.patch new file mode 100644 index 000000000000..e1f457e168ed --- /dev/null +++ b/pkgs/development/python-modules/pyshark/py314-compat.patch @@ -0,0 +1,37 @@ +diff --git a/src/pyshark/capture/capture.py b/src/pyshark/capture/capture.py +index b7aef6e..8967398 100644 +--- a/src/pyshark/capture/capture.py ++++ b/src/pyshark/capture/capture.py +@@ -182,25 +182,16 @@ class Capture: + asyncio.set_event_loop(self.eventloop) + else: + try: +- self.eventloop = asyncio.get_event_loop_policy().get_event_loop() ++ self.eventloop = asyncio.get_running_loop() + except RuntimeError: +- if threading.current_thread() != threading.main_thread(): +- # Ran not in main thread, make a new eventloop ++ try: ++ # Python <3.14: may return an existing non-running loop. ++ self.eventloop = asyncio.get_event_loop() ++ except RuntimeError: ++ # Python 3.14+: no loop exists for this thread. + self.eventloop = asyncio.new_event_loop() + asyncio.set_event_loop(self.eventloop) +- else: +- raise +- if os.name == "posix" and isinstance(threading.current_thread(), threading._MainThread): +- # The default child watchers (ThreadedChildWatcher) attach_loop method is empty! +- # While using pyshark with ThreadedChildWatcher, asyncio could raise a ChildProcessError +- # "Unknown child process pid %d, will report returncode 255" +- # This led to a TSharkCrashException in _cleanup_subprocess. +- # Using the SafeChildWatcher fixes this issue, but it is slower. +- # SafeChildWatcher O(n) -> large numbers of processes are slow +- # ThreadedChildWatcher O(1) -> independent of process number +- # asyncio.get_child_watcher().attach_loop(self.eventloop) +- asyncio.set_child_watcher(asyncio.SafeChildWatcher()) +- asyncio.get_child_watcher().attach_loop(self.eventloop) ++ + + def _packets_from_tshark_sync(self, packet_count=None, existing_process=None): + """Returns a generator of packets. diff --git a/pkgs/development/python-modules/pysmlight/default.nix b/pkgs/development/python-modules/pysmlight/default.nix index 2885145690aa..f2a57047a682 100644 --- a/pkgs/development/python-modules/pysmlight/default.nix +++ b/pkgs/development/python-modules/pysmlight/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "pysmlight"; - version = "0.3.2"; + version = "0.5.2"; pyproject = true; src = fetchFromGitHub { owner = "smlight-tech"; repo = "pysmlight"; tag = "v${version}"; - hash = "sha256-LsHxHHBTJCeB78y2Zv4ESzMwBDH2DB49uGyrmO8IVo0="; + hash = "sha256-zqb2rfY3JDnIhlaevqX+/ppX5YhB8xUeIrrM4OQKEq0="; }; build-system = [ diff --git a/pkgs/development/python-modules/python-bsblan/default.nix b/pkgs/development/python-modules/python-bsblan/default.nix index 9ddb062c5429..3df45379234a 100644 --- a/pkgs/development/python-modules/python-bsblan/default.nix +++ b/pkgs/development/python-modules/python-bsblan/default.nix @@ -19,14 +19,14 @@ buildPythonPackage (finalAttrs: { pname = "python-bsblan"; - version = "6.0.1"; + version = "6.1.5"; pyproject = true; src = fetchFromGitHub { owner = "liudger"; repo = "python-bsblan"; tag = "v${finalAttrs.version}"; - hash = "sha256-4ds/zYedmdLA7zLe2KoJ4DMzHJC8459KjZIJlHrfWEQ="; + hash = "sha256-D3uhEk4VK9kpuwPh3R+oswMaQZQfuTIUwvUnb5HAMFM="; }; postPatch = '' diff --git a/pkgs/development/python-modules/python-clementine-remote/default.nix b/pkgs/development/python-modules/python-clementine-remote/default.nix deleted file mode 100644 index 00abc62b2075..000000000000 --- a/pkgs/development/python-modules/python-clementine-remote/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - setuptools, - protobuf, -}: - -buildPythonPackage rec { - pname = "python-clementine-remote"; - version = "1.0.3"; - pyproject = true; - - src = fetchFromGitHub { - owner = "jjmontesl"; - repo = "python-clementine-remote"; - tag = version; - hash = "sha256-tPaxRBvt+tW4yV5Ap3YxMQxK3o7BJF3nP/wzBJeDgic="; - }; - - build-system = [ setuptools ]; - - dependencies = [ protobuf ]; - - # Project has no tests - doCheck = false; - - env = { - # https://github.com/jjmontesl/python-clementine-remote/pull/7 - PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION = "python"; - }; - - pythonImportsCheck = [ "clementineremote" ]; - - meta = { - description = "Python library and CLI for the Clementine Music Player remote protocol"; - homepage = "https://github.com/jjmontesl/python-clementine-remote"; - license = lib.licenses.asl20; - maintainers = [ lib.maintainers.jamiemagee ]; - }; -} diff --git a/pkgs/development/python-modules/python-duco-connectivity/default.nix b/pkgs/development/python-modules/python-duco-connectivity/default.nix index 987422109bdd..aef185b4713f 100644 --- a/pkgs/development/python-modules/python-duco-connectivity/default.nix +++ b/pkgs/development/python-modules/python-duco-connectivity/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "python-duco-connectivity"; - version = "0.5.0"; + version = "0.7.1"; pyproject = true; src = fetchFromGitHub { owner = "ronaldvdmeer"; repo = "python-duco-connectivity"; tag = "v${finalAttrs.version}"; - hash = "sha256-AH8EhC0v8GDNvPSUaTownV9d4upvKRiO//2sipGHz9g="; + hash = "sha256-Txm7l7fVkEcUIX2J5CEF3OLLgTiT9O/xva0tSCCMZpI="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/python-openevse-http/default.nix b/pkgs/development/python-modules/python-openevse-http/default.nix index f33bdd102a93..962cb637c979 100644 --- a/pkgs/development/python-modules/python-openevse-http/default.nix +++ b/pkgs/development/python-modules/python-openevse-http/default.nix @@ -9,21 +9,25 @@ pytestCheckHook, pytest-asyncio, setuptools, + setuptools-scm, }: buildPythonPackage (finalAttrs: { pname = "python-openevse-http"; - version = "0.3.4"; + version = "1.0.1"; pyproject = true; src = fetchFromGitHub { owner = "firstof9"; repo = "python-openevse-http"; tag = finalAttrs.version; - hash = "sha256-H5kRn8TmTpaX1qf94N2l1qOm03upFzHFistZDLFu/Zs="; + hash = "sha256-X87nS/h+Lh//rf8pNrlX22HOpT3Bz/6QgWBfQEaDQP8="; }; - build-system = [ setuptools ]; + build-system = [ + setuptools + setuptools-scm + ]; dependencies = [ aiohttp diff --git a/pkgs/development/python-modules/python-pooldose/default.nix b/pkgs/development/python-modules/python-pooldose/default.nix index 033965d23f33..98514cb947d5 100644 --- a/pkgs/development/python-modules/python-pooldose/default.nix +++ b/pkgs/development/python-modules/python-pooldose/default.nix @@ -8,18 +8,19 @@ pytest-asyncio, pytestCheckHook, setuptools, + websockets, }: buildPythonPackage rec { pname = "python-pooldose"; - version = "0.9.1"; + version = "0.9.6"; pyproject = true; src = fetchFromGitHub { owner = "lmaertin"; repo = "python-pooldose"; tag = version; - hash = "sha256-1WHNiVPquL/D5lpN27iXSA2cWU+VjCPIcW9Th65axVA="; + hash = "sha256-eSFe3PRKhVMuwJ7XUHRec8nPilSxGUQ1T2k2loLubUg="; }; build-system = [ setuptools ]; @@ -28,6 +29,7 @@ buildPythonPackage rec { aiofiles aiohttp getmac + websockets ]; pythonImportsCheck = [ "pooldose" ]; diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix index cf262e14980a..b6a949eb1c7f 100644 --- a/pkgs/development/python-modules/python-roborock/default.nix +++ b/pkgs/development/python-modules/python-roborock/default.nix @@ -15,23 +15,26 @@ pycryptodome, pycryptodomex, pyrate-limiter, + pyshark, pytest-asyncio, pytestCheckHook, + pyyaml, vacuum-map-parser-roborock, click-shell, syrupy, + writableTmpDirAsHomeHook, }: buildPythonPackage (finalAttrs: { pname = "python-roborock"; - version = "5.14.0"; + version = "5.25.0"; pyproject = true; src = fetchFromGitHub { owner = "Python-roborock"; repo = "python-roborock"; tag = "v${finalAttrs.version}"; - hash = "sha256-SqFU7hhcykP/VSSiPLQPi62iAkgcSw6vwmXq+FpIt9w="; + hash = "sha256-Uj7rr9vAdZBseeePQU1/3bILwsI0P2CDy1bGu6R90Cg="; }; pythonRelaxDeps = [ @@ -44,24 +47,31 @@ buildPythonPackage (finalAttrs: { dependencies = [ aiohttp aiomqtt - click construct paho-mqtt protobuf pycryptodome pyrate-limiter vacuum-map-parser-roborock - click-shell ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ pycryptodomex ]; + optional-dependencies.cli = [ + click + click-shell + pyyaml + pyshark + ]; + nativeCheckInputs = [ aioresponses freezegun pytest-asyncio pytestCheckHook syrupy - ]; + writableTmpDirAsHomeHook + ] + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/pywmspro/default.nix b/pkgs/development/python-modules/pywmspro/default.nix index 39209509a011..3e84f4f90a6d 100644 --- a/pkgs/development/python-modules/pywmspro/default.nix +++ b/pkgs/development/python-modules/pywmspro/default.nix @@ -4,19 +4,20 @@ fetchFromGitHub, hatchling, hatch-vcs, + aiofiles, aiohttp, }: buildPythonPackage (finalAttrs: { pname = "pywmspro"; - version = "0.3.5"; + version = "0.4.1"; pyproject = true; src = fetchFromGitHub { owner = "mback2k"; repo = "pywmspro"; tag = finalAttrs.version; - hash = "sha256-01jXkSZfmBIzrz0B/4/KLcAU4jUQGDfle4sE4saraJo="; + hash = "sha256-gpAAGrM/dLSD7rCbYM9O3hVCvDb0QA0joZG7h+jTfCg="; }; build-system = [ @@ -24,7 +25,10 @@ buildPythonPackage (finalAttrs: { hatch-vcs ]; - dependencies = [ aiohttp ]; + dependencies = [ + aiofiles + aiohttp + ]; # Package has no tests doCheck = false; diff --git a/pkgs/development/python-modules/rf-protocols/default.nix b/pkgs/development/python-modules/rf-protocols/default.nix index 089bc108991e..4b6da5258243 100644 --- a/pkgs/development/python-modules/rf-protocols/default.nix +++ b/pkgs/development/python-modules/rf-protocols/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "rf-protocols"; - version = "4.2.0"; + version = "4.3.0"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "rf-protocols"; tag = finalAttrs.version; - hash = "sha256-F0pvEg+Cns3czK/yI6M0hpgRpk67jUgRKqgzCBYmgUY="; + hash = "sha256-g2e+iQXBaoGO1Yv5v+xpiM+beecErI58Ua5/FODg8Bo="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/scsgate/default.nix b/pkgs/development/python-modules/scsgate/default.nix deleted file mode 100644 index f61d14a5d418..000000000000 --- a/pkgs/development/python-modules/scsgate/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - pyserial, - pyyaml, - setuptools, - pytestCheckHook, -}: - -buildPythonPackage rec { - pname = "scsgate"; - version = "0.1.0"; - pyproject = true; - - src = fetchFromGitHub { - owner = "flavio"; - repo = "scsgate"; - tag = version; - hash = "sha256-wVzXKOKljENAKppod+guqm+0XMPenLgOsZzMQVTBo+k="; - }; - - build-system = [ setuptools ]; - - dependencies = [ - pyserial - pyyaml - ]; - - nativeCheckInputs = [ pytestCheckHook ]; - - pythonImportsCheck = [ "scsgate" ]; - - meta = { - description = "Python module to interact with SCSGate"; - homepage = "https://github.com/flavio/scsgate"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.jamiemagee ]; - }; -} diff --git a/pkgs/development/python-modules/serialx/default.nix b/pkgs/development/python-modules/serialx/default.nix index 51eb4c20331c..70659e705a6c 100644 --- a/pkgs/development/python-modules/serialx/default.nix +++ b/pkgs/development/python-modules/serialx/default.nix @@ -20,14 +20,14 @@ buildPythonPackage (finalAttrs: { pname = "serialx"; - version = "1.8.1"; + version = "1.8.2"; pyproject = true; src = fetchFromGitHub { owner = "puddly"; repo = "serialx"; tag = "v${finalAttrs.version}"; - hash = "sha256-89lRB96lit4XxPhACnZ3Lv01G0IcddlwyPTttrWwsLQ="; + hash = "sha256-/Bx8TnO3h+Pk/Tg5YSYO96cK5PfJVwqRG0qdLJntNpQ="; }; cargoDeps = rustPlatform.fetchCargoVendor { diff --git a/pkgs/development/python-modules/teltasync/default.nix b/pkgs/development/python-modules/teltasync/default.nix index 08cb9bf63f5a..e5c8bae9dc26 100644 --- a/pkgs/development/python-modules/teltasync/default.nix +++ b/pkgs/development/python-modules/teltasync/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "teltasync"; - version = "0.3.1"; + version = "0.4.0"; pyproject = true; src = fetchFromCodeberg { owner = "dmho"; repo = "teltasync"; tag = "v${finalAttrs.version}"; - hash = "sha256-TXVdOT0EAwza/rgLPjMnBUCuq+2PwLoRAXvYTz2CT+0="; + hash = "sha256-xR4Rh2TnnsXAqicRDBQyhwpUh5zl5cWS6BuyxY/RFsE="; }; postPatch = '' diff --git a/pkgs/development/python-modules/thinqconnect/default.nix b/pkgs/development/python-modules/thinqconnect/default.nix index f4c881de90aa..d8b1a1a566a9 100644 --- a/pkgs/development/python-modules/thinqconnect/default.nix +++ b/pkgs/development/python-modules/thinqconnect/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "thinqconnect"; - version = "1.0.12"; + version = "1.0.13"; pyproject = true; src = fetchFromGitHub { owner = "thinq-connect"; repo = "pythinqconnect"; tag = version; - hash = "sha256-LOIqh/f9NiaBpkJqre1TejdUN0gbguSM3s8faGPcf54="; + hash = "sha256-0efPQ0fvBLi+Bp+JbBMRJPYFqRKBVpPQFyQ9rvHpEnY="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/tikteck/default.nix b/pkgs/development/python-modules/tikteck/default.nix deleted file mode 100644 index fdc1aeadd4fe..000000000000 --- a/pkgs/development/python-modules/tikteck/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - setuptools, - bluepy, - pycryptodome, -}: - -buildPythonPackage rec { - pname = "tikteck"; - version = "0.4"; - pyproject = true; - - # github doesn't have any tags unfortunately - src = fetchPypi { - pname = "tikteck"; - inherit version; - hash = "sha256-KEbGT2RXLFMQ49gltOYcbE+ebJ1kiXzhT0DIeVXsSJM="; - }; - - build-system = [ setuptools ]; - - dependencies = [ - bluepy - pycryptodome - ]; - - pythonImportsCheck = [ "tikteck" ]; - - # no upstream tests exist - doCheck = false; - - meta = { - description = "Control Tikteck Bluetooth LED bulbs"; - homepage = "https://github.com/mjg59/python-tikteck"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ ethancedwards8 ]; - }; -} diff --git a/pkgs/development/python-modules/tinyhtml/default.nix b/pkgs/development/python-modules/tinyhtml/default.nix new file mode 100644 index 000000000000..1b41c1802129 --- /dev/null +++ b/pkgs/development/python-modules/tinyhtml/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + jinja2, + pandas, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "tinyhtml"; + version = "1.3.0"; + pyproject = true; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "niklasf"; + repo = "python-tinyhtml"; + tag = "v${finalAttrs.version}"; + hash = "sha256-1DPQFszrNsGNEpEl4c1SNdnNfwi3bcHzCrOWdu+dTGA="; + }; + + build-system = [ + setuptools + ]; + + nativeCheckInputs = [ + pandas + jinja2 + ]; + + # https://github.com/niklasf/python-tinyhtml/blob/master/tox.ini + checkPhase = '' + runHook preCheck + python -m doctest README.rst + runHook postCheck + ''; + + pythonImportsCheck = [ + "tinyhtml" + ]; + + meta = { + description = "Tiny library to safely render compact HTML5 from Python expressions"; + homepage = "https://github.com/niklasf/python-tinyhtml"; + changelog = "https://github.com/niklasf/python-tinyhtml/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/development/python-modules/uiprotect/default.nix b/pkgs/development/python-modules/uiprotect/default.nix index 44222a54167b..815ad685f6b0 100644 --- a/pkgs/development/python-modules/uiprotect/default.nix +++ b/pkgs/development/python-modules/uiprotect/default.nix @@ -39,14 +39,14 @@ buildPythonPackage (finalAttrs: { pname = "uiprotect"; - version = "10.17.0"; + version = "15.4.1"; pyproject = true; src = fetchFromGitHub { owner = "uilibs"; repo = "uiprotect"; tag = "v${finalAttrs.version}"; - hash = "sha256-q02gSnEruUM1sF4LnMWwqNRzbFhZRRxTZ3pAuRb+XDc="; + hash = "sha256-qsGLheVKhIM1aEq/KRsclf3ZQtRhtX/S8cQ5Aem8dEw="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/unifiled/default.nix b/pkgs/development/python-modules/unifiled/default.nix deleted file mode 100644 index c05ebcab4c7d..000000000000 --- a/pkgs/development/python-modules/unifiled/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - requests, - urllib3, -}: - -buildPythonPackage rec { - pname = "unifiled"; - version = "1.1"; - format = "setuptools"; - - src = fetchFromGitHub { - owner = "florisvdk"; - repo = "unifiled"; - rev = "v${version}"; - sha256 = "1nmqxxhwa0isxdb889nhbp7w4axj1mcrwd3pr9d8nhpw4yj9h3vq"; - }; - - propagatedBuildInputs = [ - requests - urllib3 - ]; - - # Project doesn't have any tests - doCheck = false; - pythonImportsCheck = [ "unifiled" ]; - - meta = { - description = "Python module for Ubiquiti Unifi LED controller"; - homepage = "https://github.com/florisvdk/unifiled"; - license = with lib.licenses; [ mit ]; - maintainers = with lib.maintainers; [ fab ]; - }; -} diff --git a/pkgs/development/python-modules/voip-utils/default.nix b/pkgs/development/python-modules/voip-utils/default.nix index 8bc955822ca7..ead77fa7f2a7 100644 --- a/pkgs/development/python-modules/voip-utils/default.nix +++ b/pkgs/development/python-modules/voip-utils/default.nix @@ -3,20 +3,20 @@ buildPythonPackage, fetchFromGitHub, setuptools, - opuslib, + opuslib-next, pytestCheckHook, }: buildPythonPackage rec { pname = "voip-utils"; - version = "0.3.5"; + version = "0.4.0"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "voip-utils"; tag = "v${version}"; - hash = "sha256-/HSbtP9UAGOs4aZmdinijCMe16HtBH7YuhFM7h158lc="; + hash = "sha256-kvuNqiBjcDQ53X6LbnOp2WNh8QOu+ExjhfgKWBoSsH0="; }; postPatch = '' @@ -26,9 +26,9 @@ buildPythonPackage rec { build-system = [ setuptools ]; - pythonRelaxDeps = [ "opuslib" ]; + pythonRelaxDeps = [ "opuslib-next" ]; - dependencies = [ opuslib ]; + dependencies = [ opuslib-next ]; pythonImportsCheck = [ "voip_utils" ]; diff --git a/pkgs/development/python-modules/vsure/default.nix b/pkgs/development/python-modules/vsure/default.nix index 65c2463df0e9..f372bacd3055 100644 --- a/pkgs/development/python-modules/vsure/default.nix +++ b/pkgs/development/python-modules/vsure/default.nix @@ -9,12 +9,12 @@ buildPythonPackage (finalAttrs: { pname = "vsure"; - version = "2.6.9"; + version = "2.8.0"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-BdUQB7usj1UwMS4AewUtaWWTl1otamCviX2MF/+x9ic="; + hash = "sha256-FC2aRsfxBGO8HaEHGJWweKgZzz8UG/03oB/E+hOAe/w="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/yoto-api/default.nix b/pkgs/development/python-modules/yoto-api/default.nix index 23b105fde225..e311ec216acc 100644 --- a/pkgs/development/python-modules/yoto-api/default.nix +++ b/pkgs/development/python-modules/yoto-api/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "yoto-api"; - version = "3.2.0"; + version = "4.3.1"; pyproject = true; src = fetchFromGitHub { owner = "cdnninja"; repo = "yoto_api"; tag = "v${finalAttrs.version}"; - hash = "sha256-pzU+qResc+fqC1nhwbCYNNXKrD1aAjXZujjgL/5AGkc="; + hash = "sha256-Hy2OE8jol/ttZ1MsIC4EzkYa72DINwcjsHflo8+a7xo="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix index 90a188eec7ce..33f0197e5b8b 100644 --- a/pkgs/development/python-modules/zha-quirks/default.nix +++ b/pkgs/development/python-modules/zha-quirks/default.nix @@ -8,12 +8,13 @@ pythonOlder, setuptools, time-machine, + zha, zigpy, }: buildPythonPackage rec { pname = "zha-quirks"; - version = "1.2.0"; + version = "2.1.0"; pyproject = true; disabled = pythonOlder "3.12"; @@ -22,7 +23,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zha-device-handlers"; tag = version; - hash = "sha256-mDcvVwqzSmszaJDahzkRNteiO4C/eU+BqTdBpWj5yGw="; + hash = "sha256-VSMGUeLx8oQ8kfGj48hcceNQTEAP98svz1MCvw5KiVc="; }; postPatch = '' @@ -35,6 +36,7 @@ buildPythonPackage rec { dependencies = [ aiohttp + zha zigpy ]; diff --git a/pkgs/development/python-modules/zha/default.nix b/pkgs/development/python-modules/zha/default.nix index 2b08a84c8f94..3e0278b6749f 100644 --- a/pkgs/development/python-modules/zha/default.nix +++ b/pkgs/development/python-modules/zha/default.nix @@ -1,30 +1,32 @@ { lib, + attrs, bellows, buildPythonPackage, fetchFromGitHub, freezegun, + frozendict, looptime, pyprojectVersionPatchHook, - pyserial, - pyserial-asyncio-fast, pytest-asyncio_0, pytest-timeout, pytest-xdist, pytestCheckHook, pythonOlder, setuptools, - zha-quirks, zigpy, zigpy-deconz, zigpy-xbee, zigpy-zigate, + zigpy-ziggurat, zigpy-znp, + zha, + zha-quirks, }: buildPythonPackage (finalAttrs: { pname = "zha"; - version = "1.4.1"; + version = "2.0.0"; pyproject = true; disabled = pythonOlder "3.12"; @@ -33,7 +35,7 @@ buildPythonPackage (finalAttrs: { owner = "zigpy"; repo = "zha"; tag = finalAttrs.version; - hash = "sha256-Jf8k/4z7eERiV2jwDzhV990sLBebasEKe5/0WbX1hYc="; + hash = "sha256-cLE30i+3dqmtasHZKgW16zThMwWbZ8wh/GFtrgWmpfE="; }; postPatch = '' @@ -50,14 +52,14 @@ buildPythonPackage (finalAttrs: { ]; dependencies = [ + attrs bellows - pyserial - pyserial-asyncio-fast - zha-quirks + frozendict zigpy zigpy-deconz zigpy-xbee zigpy-zigate + zigpy-ziggurat zigpy-znp ]; @@ -68,10 +70,13 @@ buildPythonPackage (finalAttrs: { pytest-timeout pytest-xdist pytestCheckHook + zha-quirks ]; pythonImportsCheck = [ "zha" ]; + doCheck = false; # infinite recursion with zhaquirks + disabledTests = [ # Tests are long-running and often keep hanging "test_check_available_no_basic_cluster_handler" @@ -100,6 +105,10 @@ buildPythonPackage (finalAttrs: { "test_gateway_startup_failure" # Failed first attempt, passed second, flaky ]; + passthru.tests = { + pytest = zha.overridePythonAttrs { doCheck = true; }; + }; + meta = { description = "Zigbee Home Automation"; homepage = "https://github.com/zigpy/zha"; diff --git a/pkgs/development/python-modules/zigpy-xbee/default.nix b/pkgs/development/python-modules/zigpy-xbee/default.nix index 661d641efc75..d58a27f82ded 100644 --- a/pkgs/development/python-modules/zigpy-xbee/default.nix +++ b/pkgs/development/python-modules/zigpy-xbee/default.nix @@ -37,6 +37,10 @@ buildPythonPackage rec { zigpy ]; + # lacking zigpy 2.0 compat + # https://github.com/zigpy/zigpy-xbee/pull/179 + doCheck = false; + nativeCheckInputs = [ pytest-asyncio pytestCheckHook diff --git a/pkgs/development/python-modules/zigpy-ziggurat/default.nix b/pkgs/development/python-modules/zigpy-ziggurat/default.nix new file mode 100644 index 000000000000..802656960311 --- /dev/null +++ b/pkgs/development/python-modules/zigpy-ziggurat/default.nix @@ -0,0 +1,63 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + aiohttp, + mashumaro, + pyprojectVersionPatchHook, + pytest-asyncio, + pytestCheckHook, + zigpy, +}: + +buildPythonPackage (finalAttrs: { + pname = "zigpy-ziggurat"; + version = "1.0.1"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "zigpy"; + repo = "zigpy-ziggurat"; + tag = "v${finalAttrs.version}"; + hash = "sha256-/yOj4ktxEmfFCiZwJVrYqY0PXnZUi8/LwuaUgxTfBCs="; + }; + + postPatch = '' + # finds version 0.0.1 instead of 1.0.1 + substituteInPlace pyproject.toml \ + --replace-fail ', "setuptools-git-versioning<3"' "" + ''; + + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + + build-system = [ + setuptools + ]; + + dependencies = [ + aiohttp + mashumaro + zigpy + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ + "zigpy_ziggurat" + ]; + + meta = { + description = "Zigpy radio library for communicating with the Ziggurat stack"; + homepage = "https://github.com/zigpy/zigpy-ziggurat"; + changelog = "https://github.com/zigpy/zigpy-ziggurat/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ hexa ]; + }; +}) diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix index 8ca48443feba..a8b5e8ce172c 100644 --- a/pkgs/development/python-modules/zigpy/default.nix +++ b/pkgs/development/python-modules/zigpy/default.nix @@ -23,14 +23,14 @@ buildPythonPackage (finalAttrs: { pname = "zigpy"; - version = "1.5.1"; + version = "2.0.0"; pyproject = true; src = fetchFromGitHub { owner = "zigpy"; repo = "zigpy"; tag = finalAttrs.version; - hash = "sha256-AbVVv/3a/FZuk+VWLereCF7NEwu4u8HjZrsXsfarSZA="; + hash = "sha256-EQ77zEitOV3m+Jc/UrRpWFHrQm+4qA+jdBrHd4dCySg="; }; postPatch = '' diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index ee46cfa8c7c5..5e596553f08b 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2026.6.4"; + version = "2026.7.1"; components = { "3_day_blinds" = ps: with ps; [ @@ -42,10 +42,6 @@ ps: with ps; [ accuweather ]; - "acer_projector" = - ps: with ps; [ - serialx - ]; "acmeda" = ps: with ps; [ aiopulse @@ -245,10 +241,6 @@ "amp_motorization" = ps: with ps; [ ]; - "ampio" = - ps: with ps; [ - asmog - ]; "analytics" = ps: with ps; [ aiohasupervisor @@ -369,6 +361,9 @@ ps: with ps; [ sharp-aquos-rc ]; + "aqvify" = + ps: with ps; [ + ]; # missing inputs: pyaqvify "aranet" = ps: with ps; [ aioesphomeapi @@ -422,7 +417,7 @@ ps: with ps; [ aiohasupervisor paho-mqtt - ]; + ]; # missing inputs: arwn-client "aseko_pool_live" = ps: with ps; [ aioaseko @@ -454,10 +449,6 @@ ps: with ps; [ pyatag ]; - "aten_pe" = - ps: with ps; [ - atenpdu - ]; "atlanticcityelectric" = ps: with ps; [ ]; @@ -551,9 +542,8 @@ serialx zeroconf ]; - "avion" = + "avosdim" = ps: with ps; [ - avion ]; "awair" = ps: with ps; [ @@ -643,10 +633,6 @@ ps: with ps; [ pybbox ]; - "beewi_smartclim" = - ps: with ps; [ - beewi-smartclim - ]; "bge" = ps: with ps; [ ]; @@ -905,6 +891,9 @@ "button" = ps: with ps; [ ]; + "bwt" = + ps: with ps; [ + ]; "caldav" = ps: with ps; [ caldav @@ -1005,6 +994,32 @@ ps: with ps; [ pychannels ]; + "chef_iq" = + ps: with ps; [ + aioesphomeapi + aiohasupervisor + aioruuvigateway + aioshelly + aiousbwatcher + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + pymicro-vad + pyspeex-noise + serialx + zeroconf + ]; # missing inputs: chefiq-ble "chess_com" = ps: with ps; [ chess-com-api @@ -1029,10 +1044,6 @@ ps: with ps; [ python-citybikes ]; - "clementine" = - ps: with ps; [ - python-clementine-remote - ]; "clickatell" = ps: with ps; [ ]; @@ -1114,7 +1125,7 @@ ]; "command_line" = ps: with ps; [ - jsonpath + jsonpath-python ]; "compensation" = ps: with ps; [ @@ -1567,6 +1578,10 @@ ps: with ps; [ aioecowitt ]; + "edifier_infrared" = + ps: with ps; [ + infrared-protocols + ]; "edimax" = ps: with ps; [ pyedimax @@ -1615,10 +1630,6 @@ ps: with ps; [ elgato ]; - "eliqonline" = - ps: with ps; [ - eliqonline - ]; "elkm1" = ps: with ps; [ elkm1-lib @@ -1675,6 +1686,9 @@ "energie_vanons" = ps: with ps; [ ]; + "energieleser" = + ps: with ps; [ + ]; # missing inputs: energieleser "energy" = ps: with ps; [ fnv-hash-fast @@ -1707,6 +1721,9 @@ ps: with ps; [ enturclient ]; + "envertech_evt800" = + ps: with ps; [ + ]; # missing inputs: pyenvertechevt800 "environment_canada" = ps: with ps; [ env-canada @@ -2276,7 +2293,6 @@ ]; "gitter" = ps: with ps; [ - gitterpy ]; "glances" = ps: with ps; [ @@ -2441,14 +2457,15 @@ ps: with ps; [ greenplanet-energy-api ]; + "greencell" = + ps: with ps; [ + aiohasupervisor + paho-mqtt + ]; # missing inputs: greencell_client "greeneye_monitor" = ps: with ps; [ greeneye-monitor ]; - "greenwave" = - ps: with ps; [ - greenwavereality - ]; "group" = ps: with ps; [ ]; @@ -2531,6 +2548,9 @@ "heiwa" = ps: with ps; [ ]; + "helty" = + ps: with ps; [ + ]; # missing inputs: pyhelty "heos" = ps: with ps; [ pyheos @@ -2977,6 +2997,9 @@ ps: with ps; [ aioimmich ]; + "imou" = + ps: with ps; [ + ]; # missing inputs: pyimouapi "improv_ble" = ps: with ps; [ aioesphomeapi @@ -3120,6 +3143,9 @@ ps: with ps; [ ha-iotawattpy ]; + "iotorero" = + ps: with ps; [ + ]; "iotty" = ps: with ps; [ iottycloud @@ -3212,8 +3238,7 @@ ]; "itach" = ps: with ps; [ - pyitachip2ir - ]; + ]; # missing inputs: pyitachip2ir2 "itunes" = ps: with ps; [ ]; @@ -3358,6 +3383,10 @@ ps: with ps; [ kiwiki-client ]; + "klik_aan_klik_uit" = + ps: with ps; [ + rf-protocols + ]; "kmtronic" = ps: with ps; [ pykmtronic @@ -3367,12 +3396,16 @@ knocki ]; "knx" = - ps: with ps; [ + ps: + with ps; + [ home-assistant-frontend knx-frontend + knx-telegram-store xknx xknxproject - ]; + ] + ++ knx-telegram-store.optional-dependencies.sqlite; "kodi" = ps: with ps; [ pykodi @@ -3723,9 +3756,6 @@ psutil-home-assistant sqlalchemy ]; - "logentries" = - ps: with ps; [ - ]; "logger" = ps: with ps; [ ]; @@ -3945,6 +3975,9 @@ ps: with ps; [ python-melcloud ]; + "melcloud_home" = + ps: with ps; [ + ]; # missing inputs: aiomelcloudhome "melissa" = ps: with ps; [ py-melissa-climate @@ -4023,18 +4056,6 @@ ps: with ps; [ pycsspeechtts ]; - "microsoft_face" = - ps: with ps; [ - pyturbojpeg - ]; - "microsoft_face_detect" = - ps: with ps; [ - pyturbojpeg - ]; - "microsoft_face_identify" = - ps: with ps; [ - pyturbojpeg - ]; "miele" = ps: with ps; [ pymiele @@ -4274,7 +4295,6 @@ ]; "msteams" = ps: with ps; [ - pymsteams ]; "mta" = ps: with ps; [ @@ -4418,6 +4438,9 @@ ps: with ps; [ neurio ]; + "nexen" = + ps: with ps; [ + ]; "nexia" = ps: with ps; [ nexia @@ -4886,6 +4909,7 @@ universal-silabs-flasher zeroconf zha + zha-quirks ]; "otp" = ps: with ps; [ @@ -4900,9 +4924,12 @@ ourgroceries ]; "overkiz" = - ps: with ps; [ + ps: + with ps; + [ pyoverkiz - ]; + ] + ++ pyoverkiz.optional-dependencies.nexity; "overseerr" = ps: with ps; [ aiohasupervisor @@ -5504,7 +5531,11 @@ "raspberry_pi" = ps: with ps; [ aiohasupervisor + aiousbwatcher + ha-silabs-firmware-client psutil-home-assistant + serialx + universal-silabs-flasher ]; "raspyrfm" = ps: with ps; [ @@ -5592,7 +5623,7 @@ ]; "rest" = ps: with ps; [ - jsonpath + jsonpath-python xmltodict ]; "rest_command" = @@ -5807,7 +5838,7 @@ "scrape" = ps: with ps; [ beautifulsoup4 - jsonpath + jsonpath-python lxml xmltodict ]; @@ -5821,10 +5852,6 @@ "script" = ps: with ps; [ ]; - "scsgate" = - ps: with ps; [ - scsgate - ]; "search" = ps: with ps; [ ]; @@ -6297,6 +6324,9 @@ ]; "srp_energy" = ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy srpenergy ]; "ssdp" = @@ -6406,7 +6436,7 @@ ]; "swisscom" = ps: with ps; [ - ]; + ]; # missing inputs: python-swisscom-internet-box "switch" = ps: with ps; [ ]; @@ -6446,6 +6476,29 @@ ]; "switchbot_cloud" = ps: with ps; [ + aiohasupervisor + aiousbwatcher + bleak + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + cronsim + dbus-fast + ha-ffmpeg + habluetooth + hass-nabucasa + hassil + home-assistant-intents + matter-ble-proxy + matter-python-client + mutagen + openai + pymicro-vad + pyspeex-noise + pyturbojpeg + securetar + serialx switchbot-api ]; "switcher_kis" = @@ -6718,10 +6771,6 @@ pytibber sqlalchemy ]; - "tikteck" = - ps: with ps; [ - tikteck - ]; "tile" = ps: with ps; [ pytile @@ -7018,10 +7067,6 @@ ps: with ps; [ unifi-discovery ]; - "unifiled" = - ps: with ps; [ - unifiled - ]; "unifiprotect" = ps: with ps; [ uiprotect @@ -7314,6 +7359,9 @@ ps: with ps; [ aiowatttime ]; + "wattwaechter" = + ps: with ps; [ + ]; # missing inputs: aio-wattwaechter "waze_travel_time" = ps: with ps; [ pywaze @@ -7686,6 +7734,7 @@ serialx universal-silabs-flasher zha + zha-quirks ]; "zhong_hong" = ps: with ps; [ @@ -7792,6 +7841,7 @@ "aprs" "apsystems" "aquacell" + "aqualogic" "aranet" "arcam_fmj" "arve" @@ -7947,6 +7997,7 @@ "econet" "ecovacs" "ecowitt" + "edifier_infrared" "edl21" "efergy" "egauge" @@ -7974,6 +8025,7 @@ "enocean" "enphase_envoy" "environment_canada" + "envisalink" "epic_games_store" "epion" "epson" @@ -8213,6 +8265,7 @@ "kiosker" "kira" "kitchen_sink" + "klik_aan_klik_uit" "kmtronic" "knocki" "knx" @@ -8259,7 +8312,6 @@ "locative" "lock" "logbook" - "logentries" "logger" "lojack" "london_air" @@ -8305,9 +8357,6 @@ "mfi" "microbees" "microsoft" - "microsoft_face" - "microsoft_face_detect" - "microsoft_face_identify" "miele" "mikrotik" "mill" @@ -8559,6 +8608,7 @@ "ruuvitag_ble" "rympro" "sabnzbd" + "saj" "samsung_infrared" "samsungtv" "sanix" @@ -8748,6 +8798,7 @@ "ukraine_alarm" "unifi" "unifi_access" + "unifi_direct" "unifi_discovery" "unifiprotect" "universal" diff --git a/pkgs/servers/home-assistant/custom-components/battery_notes/package.nix b/pkgs/servers/home-assistant/custom-components/battery_notes/package.nix index cd7fab37282d..da76ab824d4b 100644 --- a/pkgs/servers/home-assistant/custom-components/battery_notes/package.nix +++ b/pkgs/servers/home-assistant/custom-components/battery_notes/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "andrew-codechimp"; domain = "battery_notes"; - version = "3.4.7"; + version = "3.4.8"; src = fetchFromGitHub { inherit owner; repo = "HA-Battery-Notes"; tag = version; - hash = "sha256-28yWBODUDJXSmuHgBI5+kLsPjpRM2OxUQnU1nGz83v0="; + hash = "sha256-Kc4ATfEEi8SRvl10msLotmBa3/RNff2yD4moRPsk8j8="; }; # has no tests diff --git a/pkgs/servers/home-assistant/custom-components/blitzortung/package.nix b/pkgs/servers/home-assistant/custom-components/blitzortung/package.nix index 3982a1142782..102ba62329cd 100644 --- a/pkgs/servers/home-assistant/custom-components/blitzortung/package.nix +++ b/pkgs/servers/home-assistant/custom-components/blitzortung/package.nix @@ -10,13 +10,13 @@ buildHomeAssistantComponent (finalAttrs: { owner = "mrk-its"; domain = "blitzortung"; - version = "1.5.0"; + version = "1.7.0"; src = fetchFromGitHub { owner = "mrk-its"; repo = "homeassistant-blitzortung"; tag = "v${finalAttrs.version}"; - hash = "sha256-hed7XBBV7LID12Md0FWA0KkAjEH0RB7MQ1XJOm0W3sw="; + hash = "sha256-8/KIPOmQdaaSFFrjliBBNjboPx8ewzG9/W/grBuex6s="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/blueprints-updater/package.nix b/pkgs/servers/home-assistant/custom-components/blueprints-updater/package.nix index 7bc24178269c..088de13e9478 100644 --- a/pkgs/servers/home-assistant/custom-components/blueprints-updater/package.nix +++ b/pkgs/servers/home-assistant/custom-components/blueprints-updater/package.nix @@ -13,13 +13,13 @@ buildHomeAssistantComponent rec { owner = "luuquangvu"; domain = "blueprints_updater"; - version = "2.9.1"; + version = "2.9.2"; src = fetchFromGitHub { inherit owner; repo = "blueprints-updater"; tag = version; - hash = "sha256-OGQ6lE14w84C88QJv5w+mNBGg7gbCtqb9nde47FkL6A="; + hash = "sha256-b6DBrG1c7reIomg9/ZrQgDig976PAbCKIl9AfA/RtmY="; }; patches = [ diff --git a/pkgs/servers/home-assistant/custom-components/bodymiscale/package.nix b/pkgs/servers/home-assistant/custom-components/bodymiscale/package.nix index 76a7492c91a6..2b944d5846e6 100644 --- a/pkgs/servers/home-assistant/custom-components/bodymiscale/package.nix +++ b/pkgs/servers/home-assistant/custom-components/bodymiscale/package.nix @@ -9,13 +9,13 @@ buildHomeAssistantComponent rec { owner = "dckiller51"; domain = "bodymiscale"; - version = "2026.5.6"; + version = "2026.7.0"; src = fetchFromGitHub { inherit owner; repo = domain; rev = version; - hash = "sha256-IUGQrUVaDw4XlxFGzYsSeg4Y1UxQgbOECL6OiB3cdsg="; + hash = "sha256-xBxK5V+DwXkoaC0D5HNlH2hHn+W2KUJAZ7rk0KxIy4U="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/browser-mod/package.nix b/pkgs/servers/home-assistant/custom-components/browser-mod/package.nix index 9b9a4bb81b55..66c811fa989f 100644 --- a/pkgs/servers/home-assistant/custom-components/browser-mod/package.nix +++ b/pkgs/servers/home-assistant/custom-components/browser-mod/package.nix @@ -10,13 +10,13 @@ buildHomeAssistantComponent rec { owner = "thomasloven"; domain = "browser_mod"; - version = "2.13.5"; + version = "3.0.0"; src = fetchFromGitHub { inherit owner; repo = "hass-browser_mod"; tag = "v${version}"; - hash = "sha256-uVMefvOiw0CMcpOSo8dJn4NazZxACvPscV4GqtyQXSY="; + hash = "sha256-s9b5JeMyT7pYyHWJtuqw2xVHrmU98kG5dBE4aBsJ+u8="; }; nativeBuildInputs = [ @@ -27,7 +27,7 @@ buildHomeAssistantComponent rec { npmDeps = fetchNpmDeps { inherit src; - hash = "sha256-eX7dyDxcaPMhTOAhAbcw7beP3cwBKRz457OZgp3LRAA="; + hash = "sha256-p+1yRZVyo/EunNjBkdkl8xajZO4U7KpdIu1GzU7L8gE="; }; npmBuildScript = "build"; diff --git a/pkgs/servers/home-assistant/custom-components/elegoo_printer/package.nix b/pkgs/servers/home-assistant/custom-components/elegoo_printer/package.nix index b22b77df6c7e..a76ec8273dcf 100644 --- a/pkgs/servers/home-assistant/custom-components/elegoo_printer/package.nix +++ b/pkgs/servers/home-assistant/custom-components/elegoo_printer/package.nix @@ -19,13 +19,13 @@ buildHomeAssistantComponent rec { owner = "danielcherubini"; domain = "elegoo_printer"; - version = "2.9.0"; + version = "2.10.1"; src = fetchFromGitHub { owner = "danielcherubini"; repo = "elegoo-homeassistant"; tag = "v${version}"; - hash = "sha256-lKRi90H48w9jndljoSyaHY4cVh4/qEkGGOkEs5GVk1o="; + hash = "sha256-8L4uJC9TmZ4lkEAQzDUd2txAGPveA/3iiIYzguLtOSA="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix b/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix index cda6f31556be..f97477297b8f 100644 --- a/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix +++ b/pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "magico13"; domain = "emporia_vue"; - version = "0.12.1"; + version = "0.12.2"; src = fetchFromGitHub { owner = "magico13"; repo = "ha-emporia-vue"; rev = "v${version}"; - hash = "sha256-kdTM5keDxRNz46uwq+tXIv7Hz80lxmbQVVzk7bmRm1w="; + hash = "sha256-3S9ko1CN8eM3xVl91bwfLnRwU5T5bgXnY6slQ3u8Lk4="; }; dependencies = [ @@ -22,6 +22,7 @@ buildHomeAssistantComponent rec { ]; ignoreVersionRequirement = [ + "boto3" "pyemvue" ]; diff --git a/pkgs/servers/home-assistant/custom-components/goodwe/package.nix b/pkgs/servers/home-assistant/custom-components/goodwe/package.nix index 7c969d1423dc..90117352a044 100644 --- a/pkgs/servers/home-assistant/custom-components/goodwe/package.nix +++ b/pkgs/servers/home-assistant/custom-components/goodwe/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "mletenay"; domain = "goodwe"; - version = "0.9.9.30"; + version = "0.9.9.31"; src = fetchFromGitHub { owner = "mletenay"; repo = "home-assistant-goodwe-inverter"; tag = "v${version}"; - hash = "sha256-/R0HBR1369gjjdCInbFzUaBEclw4PJDmgRGHtlUNvCA="; + hash = "sha256-aq3m1+XBE0f/+r3RiSXU1XFq+vUwKs0phis2B34c/8w="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/midea_ac/package.nix b/pkgs/servers/home-assistant/custom-components/midea_ac/package.nix index 8565ff7b7d1f..e6fc1d55e28d 100644 --- a/pkgs/servers/home-assistant/custom-components/midea_ac/package.nix +++ b/pkgs/servers/home-assistant/custom-components/midea_ac/package.nix @@ -10,13 +10,13 @@ buildHomeAssistantComponent rec { owner = "mill1000"; domain = "midea_ac"; - version = "2026.4.0"; + version = "2026.7.0"; src = fetchFromGitHub { owner = "mill1000"; repo = "midea-ac-py"; tag = version; - hash = "sha256-XYajDvp7K1pBlVhT553Rqa8Hi/mA8AWwchTUN4PZ+iw="; + hash = "sha256-lZfhZRvKdeisjQAHjYxPsyS2YL486wLtuf4ERw57vZ4="; }; dependencies = [ msmart-ng ]; diff --git a/pkgs/servers/home-assistant/custom-components/octopus_energy/package.nix b/pkgs/servers/home-assistant/custom-components/octopus_energy/package.nix index 2c76e6733ecd..75f5ea66d66e 100644 --- a/pkgs/servers/home-assistant/custom-components/octopus_energy/package.nix +++ b/pkgs/servers/home-assistant/custom-components/octopus_energy/package.nix @@ -11,13 +11,13 @@ buildHomeAssistantComponent rec { owner = "BottlecapDave"; domain = "octopus_energy"; - version = "18.3.1"; + version = "18.3.2"; src = fetchFromGitHub { inherit owner; repo = "HomeAssistant-OctopusEnergy"; tag = "v${version}"; - hash = "sha256-5Cjaq4DIe11hx/goKxGDSj6zyOb3H16s8KqlFRzhOYs="; + hash = "sha256-KSnpebEUzp25PsBMFqCajdnTINk51hdswmV9rGtG+3Q="; }; dependencies = [ pydantic ]; diff --git a/pkgs/servers/home-assistant/custom-components/oref_alert/package.nix b/pkgs/servers/home-assistant/custom-components/oref_alert/package.nix index 6e396bbd4a97..b8bd319c3465 100644 --- a/pkgs/servers/home-assistant/custom-components/oref_alert/package.nix +++ b/pkgs/servers/home-assistant/custom-components/oref_alert/package.nix @@ -15,13 +15,13 @@ buildHomeAssistantComponent rec { owner = "amitfin"; domain = "oref_alert"; - version = "6.20.1"; + version = "6.20.2"; src = fetchFromGitHub { owner = "amitfin"; repo = "oref_alert"; tag = "v${version}"; - hash = "sha256-O4A4Aiddq4YzPx5g9akCepWjEeFdlwTWe5xkPtAmuYE="; + hash = "sha256-jDrSFIFlp9BVytIVUiW3lAKAmG6N0NYS0TaUxQC26eE="; }; # Do not publish cards, currently broken, attempting to write to nix store. diff --git a/pkgs/servers/home-assistant/custom-components/smarthq/package.nix b/pkgs/servers/home-assistant/custom-components/smarthq/package.nix index 301fa4e15907..496dc54787cf 100644 --- a/pkgs/servers/home-assistant/custom-components/smarthq/package.nix +++ b/pkgs/servers/home-assistant/custom-components/smarthq/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent (finalAttrs: { owner = "geappliances"; domain = "smarthq"; - version = "1.1.0"; + version = "1.2.1"; src = fetchFromGitHub { owner = "geappliances"; repo = "geappliances-smarthq-integration"; tag = "v${finalAttrs.version}"; - hash = "sha256-LTLlkl4Mh0nSZfNVyLEItVPnQkM1nnDkPjsM98otp3w="; + hash = "sha256-8DAnALqtFuMfEXF4Kcu/RMmcK2LS7TLrvgrFP+Jwo/4="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/spook/package.nix b/pkgs/servers/home-assistant/custom-components/spook/package.nix index 2a4af86c8896..c081c4ab4459 100644 --- a/pkgs/servers/home-assistant/custom-components/spook/package.nix +++ b/pkgs/servers/home-assistant/custom-components/spook/package.nix @@ -10,13 +10,13 @@ buildHomeAssistantComponent rec { owner = "frenck"; domain = "spook"; - version = "4.0.1"; + version = "5.0.0"; src = fetchFromGitHub { inherit owner; repo = domain; tag = "v${version}"; - hash = "sha256-0IihrhATgraGmuMRnrbGTUrtlXAR+CooENSIKSWIknY="; + hash = "sha256-tIVEI5oZcvI0uyCQfajb1WVldkx7aQF8gV0UBWYPUnI="; }; patches = [ ./remove-sub-integration-symlink-hack.patch ]; diff --git a/pkgs/servers/home-assistant/custom-components/spook/remove-sub-integration-symlink-hack.patch b/pkgs/servers/home-assistant/custom-components/spook/remove-sub-integration-symlink-hack.patch index 30a30d7166fa..05d0ecc8e42b 100644 --- a/pkgs/servers/home-assistant/custom-components/spook/remove-sub-integration-symlink-hack.patch +++ b/pkgs/servers/home-assistant/custom-components/spook/remove-sub-integration-symlink-hack.patch @@ -1,17 +1,8 @@ diff --git a/custom_components/spook/__init__.py b/custom_components/spook/__init__.py -index 1abc79d..68d48d1 100644 +index 4223fac..6891ee9 100644 --- a/custom_components/spook/__init__.py +++ b/custom_components/spook/__init__.py -@@ -22,8 +22,6 @@ from .services import SpookServiceManager - from .util import ( - async_forward_setup_entry, - async_setup_all_entity_ids_cache_invalidation, -- link_sub_integrations, -- unlink_sub_integrations, - ) - - if TYPE_CHECKING: -@@ -35,48 +33,6 @@ if TYPE_CHECKING: +@@ -33,49 +33,6 @@ if TYPE_CHECKING: async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Set up from a config entry.""" @@ -57,53 +48,12 @@ index 1abc79d..68d48d1 100644 - severity=ir.IssueSeverity.WARNING, - translation_key="restart_required", - ) - +- # Forward async_setup_entry to ectoplasms await async_forward_setup_entry(hass, entry) -@@ -131,4 +87,3 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: + +@@ -117,4 +74,3 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_remove_entry(hass: HomeAssistant, _: ConfigEntry) -> None: """Remove a config entry.""" - await hass.async_add_executor_job(unlink_sub_integrations, hass) -diff --git a/custom_components/spook/util.py b/custom_components/spook/util.py -index 6aea27c..1437913 100644 ---- a/custom_components/spook/util.py -+++ b/custom_components/spook/util.py -@@ -284,37 +284,6 @@ async def async_forward_platform_entry_setups_to_ectoplasm( - ) - - --def link_sub_integrations(hass: HomeAssistant) -> bool: -- """Link Spook sub integrations.""" -- LOGGER.debug("Linking up Spook sub integrations") -- -- changes = False -- for manifest in Path(__file__).parent.rglob("integrations/*/manifest.json"): -- LOGGER.debug("Linking Spook sub integration: %s", manifest.parent.name) -- dest = Path(hass.config.config_dir) / "custom_components" / manifest.parent.name -- if not dest.exists(): -- src = ( -- Path(hass.config.config_dir) -- / "custom_components" -- / DOMAIN -- / "integrations" -- / manifest.parent.name -- ) -- dest.symlink_to(src) -- changes = True -- return changes -- -- --def unlink_sub_integrations(hass: HomeAssistant) -> None: -- """Unlink Spook sub integrations.""" -- LOGGER.debug("Unlinking Spook sub integrations") -- for manifest in Path(__file__).parent.rglob("integrations/*/manifest.json"): -- LOGGER.debug("Unlinking Spook sub integration: %s", manifest.parent.name) -- dest = Path(hass.config.config_dir) / "custom_components" / manifest.parent.name -- if dest.exists(): -- dest.unlink() -- -- - @callback - def async_get_all_area_ids(hass: HomeAssistant) -> set[str]: - """Return all area IDs, known to Home Assistant.""" diff --git a/pkgs/servers/home-assistant/custom-components/systemair/package.nix b/pkgs/servers/home-assistant/custom-components/systemair/package.nix index 8439babb6985..a03c7c5d83e6 100644 --- a/pkgs/servers/home-assistant/custom-components/systemair/package.nix +++ b/pkgs/servers/home-assistant/custom-components/systemair/package.nix @@ -10,20 +10,15 @@ buildHomeAssistantComponent rec { owner = "AN3Orik"; domain = "systemair"; - version = "1.0.25"; + version = "1.0.26"; src = fetchFromGitHub { inherit owner; repo = "systemair"; tag = "v${version}"; - hash = "sha256-K8Boix6muKsaNOpIw2WothjREbawHeKprHnW8RerxRg="; + hash = "sha256-tY/5gEjMCbrVwIyEsWWsB/ePju9+8wgbi23XLdCVKrA="; }; - postPatch = '' - substituteInPlace custom_components/systemair/manifest.json \ - --replace-fail "pymodbus==" "pymodbus>=" - ''; - dependencies = [ pymodbus async-timeout diff --git a/pkgs/servers/home-assistant/custom-components/tibber_local/package.nix b/pkgs/servers/home-assistant/custom-components/tibber_local/package.nix index abf556d2a04e..1268d9cc704f 100644 --- a/pkgs/servers/home-assistant/custom-components/tibber_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/tibber_local/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "marq24"; domain = "tibber_local"; - version = "2026.6.1"; + version = "2026.6.2"; src = fetchFromGitHub { inherit owner; repo = "ha-tibber-pulse-local"; tag = version; - hash = "sha256-HalEHJg3+6D+3TXVsfdlxL3HvSqXUcaSrW1owtRPff8="; + hash = "sha256-Mssjizh9DcA6fldwl6QmmgG8aOVwvF5d0akqrkArM5g="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix b/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix index 8b3a1edde7ec..26b653c45218 100644 --- a/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/tuya_local/package.nix @@ -11,13 +11,13 @@ buildHomeAssistantComponent rec { owner = "make-all"; domain = "tuya_local"; - version = "2026.6.2"; + version = "2026.6.4"; src = fetchFromGitHub { inherit owner; repo = "tuya-local"; tag = version; - hash = "sha256-4897QCslPQ/5Rt1U6EcapUav7XMa65i+5aXbMyv9mxE="; + hash = "sha256-VJ2c8wegviirCT+hygg9LKPN5ZLqxfkQl6zayaXZRU0="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/gitinfo.patch b/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/gitinfo.patch new file mode 100644 index 000000000000..19b178b4629d --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/gitinfo.patch @@ -0,0 +1,37 @@ +diff --git a/rollup.config.js b/rollup.config.js +index 9a8b5a17..cb0b7e62 100644 +--- a/rollup.config.js ++++ b/rollup.config.js +@@ -1,4 +1,5 @@ + import commonjs from '@rollup/plugin-commonjs'; ++import fs from 'node:fs'; + import image from '@rollup/plugin-image'; + import json from '@rollup/plugin-json'; + import { nodeResolve } from '@rollup/plugin-node-resolve'; +@@ -27,11 +28,16 @@ const serveopts = { + }, + }; + ++const hasDotGit = fs.existsSync('git'); ++const gitInfoPlugin = hasDotGit ++ ? [gitInfo.default({ enableBuildDate: true, updateVersion: false })] ++ : []; ++ + /** + * @type {import('rollup').RollupOptions['plugins']} + */ + const plugins = [ +- gitInfo.default({ enableBuildDate: true, updateVersion: false }), ++ ...gitInfoPlugin, + styles({ + modules: false, + // Behavior of inject mode, without actually injecting style +@@ -55,7 +61,7 @@ const plugins = [ + inlineSources: dev, + exclude: ['dist/**', 'tests/**/*.test.ts'], + }), +- json({ exclude: 'package.json' }), ++ json({ exclude: hasDotGit ? 'package.json' : undefined }), + replace({ + preventAssignment: true, + values: { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix index c8a14915f633..042ccb0f8436 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix @@ -16,16 +16,23 @@ stdenv.mkDerivation (finalAttrs: { owner = "dermotduffy"; repo = "advanced-camera-card"; tag = "v${finalAttrs.version}"; - hash = "sha256-GHSyDdKGgPPMbcPIqlQbRA0V8gPd1YsId8gqPF0VgTs="; - leaveDotGit = true; # gitInfo plugin + hash = "sha256-NdWP2nYzDEzmO4DpwVUpn3/KsungKNOzOQf8FxZ4fGw="; }; patches = [ # Remove after upstream updates to Yarn 4.14 # https://github.com/dermotduffy/advanced-camera-card/blob/main/package.json#L201 ./yarn-4.14-support.patch + + # Drop hard dependency on .git repo during build + ./gitinfo.patch ]; + postPatch = '' + substituteInPlace package.json \ + --replace-fail "0.0.0-dev" "${finalAttrs.version}" + ''; + missingHashes = ./missing-hashes.json; offlineCache = yarn-berry_4.fetchYarnBerryDeps { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix index fe7d1471398d..be780fcdfe2b 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "auto-entities"; - version = "2.5.0"; + version = "2.6.0"; src = fetchFromGitHub { owner = "Lint-Free-Technology"; repo = "lovelace-auto-entities"; tag = "v${version}"; - hash = "sha256-qKhxVLD4NbkCzpUNX5UkjEjLOMQ7ZvHHLVLTrcunTPQ="; + hash = "sha256-2lIeFtskvUq1ZrHinCXrv/VBtI06tZn7YwRAMvBm/uk="; }; - npmDepsHash = "sha256-Z+9Lp1AzrY2I+unpBxdbr9rkfcIe/dDblB3MDSd2D8w="; + npmDepsHash = "sha256-XZcb5gFRGiC4Xj97ExDtRFXWRHbyWEOIp7spUzoS9EA="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/bubble-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/bubble-card/package.nix index ae5928dad353..faa21902dcf0 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/bubble-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/bubble-card/package.nix @@ -6,13 +6,13 @@ buildNpmPackage rec { pname = "bubble-card"; - version = "3.2.3"; + version = "3.2.4"; src = fetchFromGitHub { owner = "Clooos"; repo = "Bubble-Card"; rev = "v${version}"; - hash = "sha256-X6Oh+0VcVSvr2JydMqWVzYFonxdsewi0lrrFVXtb/BA="; + hash = "sha256-ofGIq6DLA2VQj5Gm/Dc+DZfwWZI3frAFzXO7MJDM610="; }; npmDepsHash = "sha256-jyw8U99R7M3JJwu30ADefAitm4lWWVHEwq108gWZpfg="; diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/package.nix index a2bb31a69988..19f30f3ba278 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "lovelace-card-mod"; - version = "4.2.1"; + version = "4.2.1-202604"; src = fetchFromGitHub { owner = "thomasloven"; repo = "lovelace-card-mod"; rev = "v${version}"; - hash = "sha256-16aA9VaSuWZ1i9UBGp9vb7N1H5vfcLOiqppjPoqphM0="; + hash = "sha256-56nGxdA1RTkXZpcuQ6LOuRtGoBjTQtH2jKCN3omZCN0="; }; - npmDepsHash = "sha256-tJsEGsVTmU1Hakumv9dsurwHpJ791wwRYpoAi2uAclA="; + npmDepsHash = "sha256-RZP3zWz7ZHob/QySF/6XTYOYuulGZUBQXG79fHHJfug="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/custom-brand-icons/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/custom-brand-icons/package.nix index 0b09a638cb71..8c8a48490df4 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/custom-brand-icons/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/custom-brand-icons/package.nix @@ -6,13 +6,13 @@ buildNpmPackage (finalAttrs: { pname = "custom-brand-icons"; - version = "2026.06.4"; + version = "2026.07.0"; src = fetchFromGitHub { owner = "elax46"; repo = "custom-brand-icons"; tag = finalAttrs.version; - hash = "sha256-9wipxsj4KcwgPDo6nanMrSpuDAMAAM72EQISkTOczbs="; + hash = "sha256-fmvWUt3Q+9ydvHB7t8z3/9mCLuF/llpoUo6e8K2rn/g="; }; npmDepsHash = "sha256-ZTl9+vXEBR3pvksaLWof8y1WnoL2tAL3KuPzZn7VjjE="; diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix index 6079608c0499..d5041e4d3e38 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/custom-sidebar/package.nix @@ -12,20 +12,20 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "custom-sidebar"; - version = "15.0.0"; + version = "16.0.0"; src = fetchFromGitHub { owner = "elchininet"; repo = "custom-sidebar"; tag = "v${finalAttrs.version}"; - hash = "sha256-0bS760GfIO/LdQD6lNEKhiIW5lyCu35cTi0g3GaGQ5M="; + hash = "sha256-ST7wgxl9bpsHvguYbZQYYWO1KkinSrNCrbugVBJGvJo="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; inherit pnpm; fetcherVersion = 3; - hash = "sha256-zmWZhOx1Pl7O5T5vNdff/nZC1juwm66YOVIMjuNoBYg="; + hash = "sha256-SbjE9u2RZ8M6GHxk7NkvyihGDiO6v/1LHywvaP8OcQM="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/kiosk-mode/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/kiosk-mode/package.nix index 8e677fc86fef..67a4a32f276f 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/kiosk-mode/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/kiosk-mode/package.nix @@ -12,20 +12,20 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "kiosk-mode"; - version = "14.0.0"; + version = "14.0.1"; src = fetchFromGitHub { owner = "nemesisre"; repo = "kiosk-mode"; tag = "v${finalAttrs.version}"; - hash = "sha256-FWSWG+tWRDGHDd9uvVmD8vGlHkJ9tf02S+8RWGAu+10="; + hash = "sha256-eQ2dYXmx4nnk/1bbTayPezPyghBo5UbNWf3USY20ePg="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; inherit pnpm; fetcherVersion = 3; - hash = "sha256-Ci1RENFsJwWBEUUSKbAvbRGTHn2rfIOXLsdGKamzRRE="; + hash = "sha256-bCtk+cqWnYvPo4VsvLaN+m0LIlP8jgb951aIf1emGZg="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix index af26077a697e..605580201fd5 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "material-you-utilities"; - version = "2.1.16"; + version = "2.1.19"; src = fetchFromGitHub { owner = "Nerwyn"; repo = "material-you-utilities"; tag = version; - hash = "sha256-s8VVV2KmiJ3auQPRwVRWHonYlVWkExC3quRANfW295U="; + hash = "sha256-9eOn5E4lYzhfZSl7dmb3UNEkgU+hv7UFfmh6r6IX13M="; }; - npmDepsHash = "sha256-D18gwO8zO7lKbaRhj+QaeGzkE7zqXc3KGvz9am4rrFY="; + npmDepsHash = "sha256-6WGpuiMDzlx0Pm6C9mPtCVXHDDp4JWk3jMu6XNetiYE="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.nix index 3ff0c62aa1e1..d328337101ae 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.nix @@ -10,18 +10,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "multiple-entity-row"; - version = "4.5.1"; + version = "4.6.1"; src = fetchFromGitHub { owner = "benct"; repo = "lovelace-multiple-entity-row"; tag = "v${finalAttrs.version}"; - hash = "sha256-CXRgXyH1NUg7ssQhenqP0tXr1m2qOkHna3Rf30K3SjI="; + hash = "sha256-zRFBeYicjBxKeEneKg2/JRDlF6BlblKQ03z5aqfBtfc="; }; offlineCache = fetchYarnDeps { inherit (finalAttrs) src; - hash = "sha256-8YIcQhbYf0e2xO620zVHEk/0sssBmzF/jCq+2za+D6E="; + hash = "sha256-F3ghw+TXg66FSf5SLb7umantSRky9ABpZu7ftqWT+7M="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix index bed6bf456383..4d10ecad0bc5 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix @@ -6,13 +6,13 @@ buildNpmPackage rec { pname = "scheduler-card"; - version = "4.0.18"; + version = "4.0.19"; src = fetchFromGitHub { owner = "nielsfaber"; repo = "scheduler-card"; tag = "v${version}"; - hash = "sha256-hxoVds650qcwiwi/9n62A6/jS6AmuaIEssBOU6H8GHo="; + hash = "sha256-fHU5qhBbtSkEtHDQacgd6R1U+NV55VtPqfX8M56uUnw="; }; postPatch = '' diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/xiaomi-vacuum-map-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/xiaomi-vacuum-map-card/package.nix index 0f5624aa41b3..dc368cdb291e 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/xiaomi-vacuum-map-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/xiaomi-vacuum-map-card/package.nix @@ -6,13 +6,13 @@ buildNpmPackage rec { pname = "lovelace-xiaomi-vacuum-map-card"; - version = "2.3.2"; + version = "2.4.1"; src = fetchFromGitHub { owner = "PiotrMachowski"; repo = "lovelace-xiaomi-vacuum-map-card"; tag = "v${version}"; - hash = "sha256-3329L+2Su2XvrKQIKa5btJz3CQWgS+c8qHD/9vxuEbM="; + hash = "sha256-dkVBHtKezXr/X8Akij3LwRFn85FlN3YD6x8/z97YuTA="; }; npmDepsHash = "sha256-vLxmzqDSmB+6VKjiwG5WH9FUvn0NlVHo9TBmbx5UkG0="; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index b5ebfba471e3..49d422039124 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -270,7 +270,7 @@ let extraBuildInputs = extraPackages python3Packages; # Don't forget to run update-component-packages.py after updating - hassVersion = "2026.6.4"; + hassVersion = "2026.7.1"; in python3Packages.buildPythonApplication rec { @@ -291,13 +291,13 @@ python3Packages.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; tag = version; - hash = "sha256-NeqJT2CW8A0VfUJ2yrR+KGmmQMK8q0Wdag43rUBBoWU="; + hash = "sha256-3QQ4zDbhr6wD0AR7QOnG3mfbtKYcesCF9qrFwRleQfU="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-7Y26vN0oskJBgijtm9RZcvHw/xBEH3IsI8hezgsOVr0="; + hash = "sha256-++Hb/ZXXhqnf7wOzmi5kmENFHqhLavZFJijRFMQu9Lg="; }; build-system = with python3Packages; [ diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index f0950cfe0265..b984654efa37 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -8,7 +8,7 @@ buildPythonPackage (finalAttrs: { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20260527.7"; + version = "20260624.4"; format = "wheel"; src = fetchPypi { @@ -17,7 +17,7 @@ buildPythonPackage (finalAttrs: { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-zYm8K3HJnAkT41S6TmGvj8V8zpt7tb4pRtWCiB9PEXw="; + hash = "sha256-mC3+BGVT9sDlHhj2aNeqh0YMehE3BAAT8SfMOQKv4/E="; }; # there is nothing to strip in this package diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix index 98b12fd38dbb..c8538c72df77 100644 --- a/pkgs/servers/home-assistant/intents.nix +++ b/pkgs/servers/home-assistant/intents.nix @@ -19,37 +19,19 @@ pytestCheckHook, }: -let - intents = fetchFromGitHub { - owner = "OHF-Voice"; - repo = "intents"; - rev = "4178d174018d408209879c44e98aa150335a1656"; - hash = "sha256-xMH3lZaI4sSvicSMFaGCeYlcr5SrhA8nB/krrN0kyQo="; - }; -in - buildPythonPackage (finalAttrs: { pname = "home-assistant-intents"; - version = "2026.6.1"; + version = "2026.6.24"; pyproject = true; src = fetchFromGitHub { owner = "OHF-Voice"; repo = "intents-package"; - # https://github.com/OHF-Voice/intents-package/issues/14 - tag = "2026.5.5"; + tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-R6PPZSiDiFvB+lNxyuIHwMIgpQvVI0oqrucnw4jnYNU="; + hash = "sha256-fuVS+s3l/oStgrRdeLzHrzCr9cmFesq6sYV8EgNNsIo="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail '2026.5.5' '2026.6.1' - - rm -rf intents - ln -sf ${intents} intents - ''; - build-system = [ setuptools diff --git a/pkgs/servers/home-assistant/patches/static-follow-symlinks.patch b/pkgs/servers/home-assistant/patches/static-follow-symlinks.patch index 079b07f970aa..8dce29af3c21 100644 --- a/pkgs/servers/home-assistant/patches/static-follow-symlinks.patch +++ b/pkgs/servers/home-assistant/patches/static-follow-symlinks.patch @@ -1,25 +1,23 @@ diff --git a/homeassistant/components/http/static.py b/homeassistant/components/http/static.py -index 29c5840a4bf..463c723df91 100644 +index 40405a8734d..754edffb910 100644 --- a/homeassistant/components/http/static.py +++ b/homeassistant/components/http/static.py -@@ -7,6 +7,7 @@ from pathlib import Path - from typing import Final +@@ -5,6 +5,7 @@ from pathlib import Path + from typing import Final, override from aiohttp.hdrs import CACHE_CONTROL, CONTENT_TYPE +from aiohttp.typedefs import PathLike from aiohttp.web import FileResponse, Request, StreamResponse from aiohttp.web_fileresponse import CONTENT_TYPES, FALLBACK_CONTENT_TYPE from aiohttp.web_urldispatcher import StaticResource -@@ -21,6 +22,12 @@ RESPONSE_CACHE: LRU[tuple[str, Path], tuple[Path, str]] = LRU(512) +@@ -20,6 +21,10 @@ _GUESSER = CONTENT_TYPES.guess_file_type + class CachingStaticResource(StaticResource): """Static Resource handler that will add cache headers.""" - + def __init__(self, prefix: str, directory: PathLike, **kwargs): + """Allow static files to be hosted behind symlinks.""" + kwargs.update({"follow_symlinks": True}) + super().__init__(prefix, directory, **kwargs) -+ -+ + + @override async def _handle(self, request: Request) -> StreamResponse: - """Wrap base handler to cache file path resolution and content type guess.""" - rel_url = request.match_info["filename"] diff --git a/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix b/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix index d6049a3f5f86..da0e2cc1bb76 100644 --- a/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix +++ b/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "pytest-homeassistant-custom-component"; - version = "0.13.340"; + version = "0.13.345"; pyproject = true; disabled = pythonOlder "3.13"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "MatthewFlamm"; repo = "pytest-homeassistant-custom-component"; tag = version; - hash = "sha256-08hshNdSbOJSu/uJVBeZSxksYaCSZo7KjwwyaooqNGo="; + hash = "sha256-Px4uPBn/drE9gbpszJDMwlaHNWk/dLvdmgqcgY770V0="; }; build-system = [ setuptools ]; diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index d56ddb56f4ce..e8f663e4afdc 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2026.6.4"; + version = "2026.7.1"; pyproject = true; disabled = python.version != home-assistant.python3Packages.python.version; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; tag = version; - hash = "sha256-nfBY+nXBv0ZrXXr0Be/0xttYMncx7NmMPbAbx6D00SU="; + hash = "sha256-pk6SGLbTLhA94Pg2FdWWRDNHbXif3EGGZzfDfziSFyY="; }; build-system = [ diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 6254f0646181..74df22eebf25 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -91,6 +91,7 @@ mapAliases { apkit = throw "apkit was removed because it is unmaintained upstream and different from apkit on PyPI"; # added 2025-09-13 APScheduler = throw "'APScheduler' has been renamed to/replaced by 'apscheduler'"; # Converted to throw 2025-10-29 argon2_cffi = throw "'argon2_cffi' has been renamed to/replaced by 'argon2-cffi'"; # Converted to throw 2025-10-29 + asmog = throw "'asmog' has been removed because the service it polled is offline and the library has been unmaintained since 2019"; # Added 2026-06-04 aspy-refactor-imports = throw "'aspy-refactor-imports' has been renamed to/replaced by 'classify-imports'"; # Added 2026-05-22 aspy-yaml = throw "'aspy-yaml' has been removed because the upstream repository was archived in 2020"; # Added 2026-06-04 astropy-extension-helpers = extension-helpers; # Added 2025-10-15 @@ -100,11 +101,13 @@ mapAliases { async_stagger = throw "'async_stagger' has been renamed to/replaced by 'async-stagger'"; # Converted to throw 2025-10-29 asyncio-nats-client = throw "'asyncio-nats-client' has been renamed to/replaced by 'nats-py'"; # Converted to throw 2025-10-29 asyncstdlib-fw = throw "'asyncstdlib-fw' has been removed as it is not longer required by fireworks-ai"; # Added 2026-06-09 + atenpdu = throw "'atenpdu' has been removed, since it had was broken and unmaintained in home-assistant"; # Added 2026-06-04 atsim_potentials = throw "'atsim_potentials' has been renamed to/replaced by 'atsim-potentials'"; # Converted to throw 2025-10-29 aubio = throw "'aubio' only direct user LedFX switched to a fork named 'aubio-ledfx', hence the aubio package has been replaced."; # Added 2026-04-20 audio-metadata = throw "'audio-metadata' has been removed as it's unmaintained since 2020"; # Added 2026-03-12 autotrash = throw "'autotrash' has been renamed to/replaced by 'super.pkgs.autotrash'"; # Converted to throw 2025-10-29 av_13 = throw "'av_13' has been renamed to/replaced by 'av'"; # Added 2026-02-01 + avion = throw "'avion' has been removed since it depended on the unmaintained bluepy library"; # Added 2026-06-04 avro3k = throw "'avro3k' was removed because it's unmaintained since 2014"; # added 2026-06-18 awesome-slugify = throw "'awesome-slugify' has been removed as it was unmaintained upstream"; # Added 2026-06-14 Babel = throw "'Babel' has been renamed to/replaced by 'babel'"; # Converted to throw 2025-10-29 @@ -117,6 +120,7 @@ mapAliases { beancount_docverif = throw "'beancount_docverif' has been renamed to/replaced by 'beancount-docverif'"; # Converted to throw 2025-10-29 beets-stable = lib.warn "beets-stable was aliased to beets, since upstream releases are frequent nowadays" self.beets; # added 2025-10-16 beets-unstable = lib.warn "beets-unstable was aliased to beets, since upstream releases are frequent nowadays" self.beets; # added 2025-10-16 + beewi-smartclim = throw "'beetwi-smartclim' was removed because it depends on the unmaintained bluepy library"; # Added 2026-06-04 betterproto-fw = throw "'betterproto-fw' has been removed as it is not longer required by fireworks-ai"; # Added 2026-06-09 bimmer-connected = throw "'bimmer-connected' was removed because BMW started blocking third parties"; # added 2026-03-30 bip_utils = throw "'bip_utils' has been renamed to/replaced by 'bip-utils'"; # Converted to throw 2025-10-29 @@ -204,6 +208,7 @@ mapAliases { EasyProcess = throw "'EasyProcess' has been renamed to/replaced by 'easyprocess'"; # Converted to throw 2025-10-29 editdistance-s = throw "editdistance-s has been removed since it was added solely for the identity package, which has moved on to ukkonen"; # added 2025-08-04 elegy = throw "elegy has been removed because it has transitively been marked as broken since 2023."; # Added 2025-10-11 + eliqonline = throw "'eligonline' was removed because Home Assistant dropped the integation"; # Added 2026-06-04 email_validator = throw "'email_validator' has been renamed to/replaced by 'email-validator'"; # Converted to throw 2025-10-29 emailthreads = throw "'emailthreads' has been removed because the upstream repository was archived in 2024"; # Added 2026-04-09 enocean = throw "'enocean' was removed because Home Assistant switched to 'enocean-async'"; # added 2026-03-31 @@ -251,6 +256,7 @@ mapAliases { ghidra-bridge = throw "'ghidra-bridge' has been removed as it was unmaintained upstream"; # Added 2026-04-05 github3_py = throw "'github3_py' has been renamed to/replaced by 'github3-py'"; # Converted to throw 2025-10-29 GitPython = throw "'GitPython' has been renamed to/replaced by 'gitpython'"; # Converted to throw 2025-10-29 + gitterpy = throw "'gitterpy' was removed. The service was migrated to Matrix"; # Added 2026-06-04 google_api_python_client = throw "'google_api_python_client' has been renamed to/replaced by 'google-api-python-client'"; # Converted to throw 2025-10-29 googleapis_common_protos = throw "'googleapis_common_protos' has been renamed to/replaced by 'googleapis-common-protos'"; # Converted to throw 2025-10-29 gotrue = throw "'gotrue' has been replaced by 'supabase-auth'"; # Added 2026-03-08 @@ -261,6 +267,7 @@ mapAliases { gradient_statsd = throw "'gradient_statsd' has been renamed to/replaced by 'gradient-statsd'"; # Converted to throw 2025-10-29 grapheme = throw "'grapheme' has been removed as it is unmaintained upstream. Consider using 'graphemeu' instead."; # Converted to throw 2025-12-22 grappelli_safe = throw "'grappelli_safe' has been renamed to/replaced by 'grappelli-safe'"; # Converted to throw 2025-10-29 + greenwavereality = throw "'greenwavereality' has been removed because Home Assistant dropped support"; # Added 2026-06-04 groestlcoin_hash = throw "'groestlcoin_hash' has been renamed to/replaced by 'groestlcoin-hash'"; # Converted to throw 2025-10-29 grpc_google_iam_v1 = throw "'grpc_google_iam_v1' has been renamed to/replaced by 'grpc-google-iam-v1'"; # Converted to throw 2025-10-29 gtimelog = throw "'gtimelog' has been renamed to/replaced by 'gtimelog'"; # Converted to throw 2025-10-29 @@ -460,6 +467,7 @@ mapAliases { pylit = throw "'pylit' has been removed as it was broken and unmaintained upstream"; # Added 2025-11-29 pymc3 = throw "'pymc3' has been renamed to/replaced by 'pymc'"; # Converted to throw 2025-10-29 pymelcloud = throw "'pymelcloud' has been renamed to/replaced by 'python-melcloud'"; # Converted to throw 2025-10-29 + pymsteams = throw "'pymsteams' was removed because API used was discontinued"; # Added 2026-06-04 PyMVGLive = throw "'PyMVGLive' has been renamed to/replaced by 'pymvglive'"; # Converted to throw 2025-10-29 pymyq = throw "'pymyq' has been renamed to/replaced by 'python-myq'"; # Converted to throw 2025-10-29 pymystem3 = throw "'pymystem3' has been removed because it is broken and unmaintained"; # Added 2026-04-19 @@ -508,6 +516,7 @@ mapAliases { pytestquickcheck = throw "'pytestquickcheck' has been renamed to/replaced by 'pytest-quickcheck'"; # Converted to throw 2025-10-29 pytestrunner = throw "'pytestrunner' has been renamed to/replaced by 'pytest-runner'"; # Converted to throw 2025-10-29 python-bring-api = throw "python-bring-api was removed because Home Assistant switched to bring-api"; # added 2025-10-03 + python-clementine-remote = throw "'python-clementine-remote' was removed because Home Assistant droppped the integration"; # Added 2026-06-04 python-ethtool = throw "'python-ethtool' has been renamed to/replaced by 'ethtool'"; # Converted to throw 2025-10-29 python-igraph = throw "'python-igraph' has been renamed to/replaced by 'igraph'"; # Converted to throw 2025-10-29 python-jsonrpc-server = throw "python-jsonrpc-server has been removed because it was no longer used by anything"; # added 2025-11-11 @@ -578,6 +587,7 @@ mapAliases { scikitimage = throw "'scikitimage' has been renamed to/replaced by 'scikit-image'"; # Converted to throw 2025-10-29 scikitlearn = throw "'scikitlearn' has been renamed to/replaced by 'scikit-learn'"; # Converted to throw 2025-10-29 scrapy-fake-useragent = throw "scrapy-fake-useragent has been removed because it is incompatible with scrapy >= 2.14"; # Added 2026-01-14 + scsgate = throw "'scsgate' has been removed because Home Assistant dropped the integration"; # Added 2026-06-04 seaserv = throw "seaserv has been removed as it is unmaintained"; # Added 2025-08-21 sentry-sdk_2 = throw "'sentry-sdk_2' has been renamed to/replaced by 'sentry-sdk'"; # Converted to throw 2025-10-29 setuptools_dso = throw "'setuptools_dso' has been renamed to/replaced by 'setuptools-dso'"; # Converted to throw 2025-10-29 @@ -635,6 +645,7 @@ mapAliases { TheanoWithCuda = throw "'TheanoWithCuda' has been renamed to/replaced by 'theanoWithCuda'"; # Converted to throw 2025-10-29 TheanoWithoutCuda = throw "'TheanoWithoutCuda' has been renamed to/replaced by 'theanoWithoutCuda'"; # Converted to throw 2025-10-29 threadpool = throw "'threadpool' has been removed, since it is obsolete"; # Added 2026-01-09 + tikteck = throw "'tikteck' has been removed because Home Assistant dropped its integration"; # Added 2026-06-04 tikzplotlib = throw "tikzplotlib was removed because it is incompatible with recent versions of matplotlib and webcolors"; # added 2025-11-11 torchtnt-nightly = throw "'torchtnt-nightly' was only needed as a test dependency for 'torcheval', but these tests are no longer run"; # added 2025-11-12 torchtrune = throw "'torchtune' weas removed because it is unmaintained"; # added 2026-07-02 @@ -655,6 +666,7 @@ mapAliases { ufoLib2 = throw "'ufoLib2' has been renamed to/replaced by 'ufolib2'"; # Converted to throw 2025-10-29 unicode-slugify = throw "'unicode-slugify' has been removed becaues it was broken and unmaintained. Consider using 'python-slugify' instead."; # added 2025-10-05 unifi = throw "'unifi' has been removed as upstream was archived in 2017"; # Added 2025-08-25 + unifiled = throw "'unifiled' has been removed because Home Assistant dropped the integration"; # Added 2026-06-04 unittest-data-provider = throw "'unittest-data-provider' has been removed as it was unused, unmaintained, and upstream suggests 'pytest parameterize' instead."; # Added 2026-05-22 update_checker = throw "'update_checker' has been renamed to/replaced by 'update-checker'"; # Converted to throw 2025-10-29 uranium = throw "'uranium' has been removed, as it was unmaintained in nixpkgs"; # Added 2026-05-22 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index beb911342d1a..335bd4ea030a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1142,8 +1142,6 @@ self: super: with self; { asks = callPackage ../development/python-modules/asks { }; - asmog = callPackage ../development/python-modules/asmog { }; - asn1 = callPackage ../development/python-modules/asn1 { }; asn1ate = callPackage ../development/python-modules/asn1ate { }; @@ -1262,8 +1260,6 @@ self: super: with self; { atc-ble = callPackage ../development/python-modules/atc-ble { }; - atenpdu = callPackage ../development/python-modules/atenpdu { }; - atlassian-python-api = callPackage ../development/python-modules/atlassian-python-api { }; atom = callPackage ../development/python-modules/atom { }; @@ -1399,8 +1395,6 @@ self: super: with self; { avidtools = callPackage ../development/python-modules/avidtools { }; - avion = callPackage ../development/python-modules/avion { }; - avro = callPackage ../development/python-modules/avro { }; avro-python3 = callPackage ../development/python-modules/avro-python3 { }; @@ -2066,8 +2060,6 @@ self: super: with self; { disableAllPlugins = true; }; - beewi-smartclim = callPackage ../development/python-modules/beewi-smartclim { }; - before-after = callPackage ../development/python-modules/before-after { }; behave = callPackage ../development/python-modules/behave { }; @@ -5141,8 +5133,6 @@ self: super: with self; { eliot = callPackage ../development/python-modules/eliot { }; - eliqonline = callPackage ../development/python-modules/eliqonline { }; - elkm1-lib = callPackage ../development/python-modules/elkm1-lib { }; elkoep-aio-mqtt = callPackage ../development/python-modules/elkoep-aio-mqtt { }; @@ -6523,8 +6513,6 @@ self: super: with self; { gitpython = callPackage ../development/python-modules/gitpython { }; - gitterpy = callPackage ../development/python-modules/gitterpy { }; - giturlparse = callPackage ../development/python-modules/giturlparse { }; glad = callPackage ../development/python-modules/glad { }; @@ -6931,8 +6919,6 @@ self: super: with self; { greenplanet-energy-api = callPackage ../development/python-modules/greenplanet-energy-api { }; - greenwavereality = callPackage ../development/python-modules/greenwavereality { }; - gremlinpython = callPackage ../development/python-modules/gremlinpython { }; grep-ast = callPackage ../development/python-modules/grep-ast { }; @@ -8633,6 +8619,8 @@ self: super: with self; { knx-frontend = callPackage ../development/python-modules/knx-frontend { }; + knx-telegram-store = callPackage ../development/python-modules/knx-telegram-store { }; + kokoro = callPackage ../development/python-modules/kokoro { }; kombu = callPackage ../development/python-modules/kombu { }; @@ -12250,6 +12238,8 @@ self: super: with self; { opuslib = callPackage ../development/python-modules/opuslib { }; + opuslib-next = callPackage ../development/python-modules/opuslib-next { }; + opytimark = callPackage ../development/python-modules/opytimark { }; oracledb = callPackage ../development/python-modules/oracledb { }; @@ -14834,8 +14824,6 @@ self: super: with self; { pymssql = callPackage ../development/python-modules/pymssql { krb5-c = pkgs.krb5; }; - pymsteams = callPackage ../development/python-modules/pymsteams { }; - pymumble = callPackage ../development/python-modules/pymumble { }; pymunk = callPackage ../development/python-modules/pymunk { }; @@ -16097,8 +16085,6 @@ self: super: with self; { python-citybikes = callPackage ../development/python-modules/python-citybikes { }; - python-clementine-remote = callPackage ../development/python-modules/python-clementine-remote { }; - python-code-minimap = callPackage ../development/python-modules/python-code-minimap { }; python-codon-tables = callPackage ../development/python-modules/python-codon-tables { }; @@ -17968,8 +17954,6 @@ self: super: with self; { scs = callPackage ../development/python-modules/scs { }; - scsgate = callPackage ../development/python-modules/scsgate { }; - scspell = callPackage ../development/python-modules/scspell { }; scverse-misc = callPackage ../development/python-modules/scverse-misc { }; @@ -19967,8 +19951,6 @@ self: super: with self; { tika-client = callPackage ../development/python-modules/tika-client { }; - tikteck = callPackage ../development/python-modules/tikteck { }; - tiktoken = callPackage ../development/python-modules/tiktoken { }; tiledb = callPackage ../development/python-modules/tiledb { inherit (pkgs) tiledb; }; @@ -20029,6 +20011,8 @@ self: super: with self; { tinygrad = callPackage ../development/python-modules/tinygrad { }; + tinyhtml = callPackage ../development/python-modules/tinyhtml { }; + tinyhtml5 = callPackage ../development/python-modules/tinyhtml5 { }; tinyio = callPackage ../development/python-modules/tinyio { }; @@ -21211,8 +21195,6 @@ self: super: with self; { unifi-discovery = callPackage ../development/python-modules/unifi-discovery { }; - unifiled = callPackage ../development/python-modules/unifiled { }; - unify = callPackage ../development/python-modules/unify { }; unique-log-filter = callPackage ../development/python-modules/unique-log-filter { }; @@ -22293,6 +22275,8 @@ self: super: with self; { zigpy-zigate = callPackage ../development/python-modules/zigpy-zigate { }; + zigpy-ziggurat = callPackage ../development/python-modules/zigpy-ziggurat { }; + zigpy-znp = callPackage ../development/python-modules/zigpy-znp { }; zimports = callPackage ../development/python-modules/zimports { };