diff --git a/pkgs/development/python-modules/afsapi/default.nix b/pkgs/development/python-modules/afsapi/default.nix index f32e4b74b259..685c161e80bf 100644 --- a/pkgs/development/python-modules/afsapi/default.nix +++ b/pkgs/development/python-modules/afsapi/default.nix @@ -3,29 +3,33 @@ aiohttp, buildPythonPackage, fetchFromGitHub, - lxml, + hatchling, + hatch-vcs, + defusedxml, pytest-aiohttp, pytestCheckHook, - setuptools-scm, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "afsapi"; - version = "0.3.1"; - format = "setuptools"; + version = "1.0.0"; + pyproject = true; src = fetchFromGitHub { owner = "wlcrs"; repo = "python-afsapi"; - tag = version; - hash = "sha256-WkkRsXRJ4i3lUn3X94YX7ZqfaKE2GgrBycbflnnlC74="; + tag = finalAttrs.version; + hash = "sha256-5gvA3rFyAlTx7oKrUq9q0lBuwatzMPvRhjy7GYnwdik="; }; - nativeBuildInputs = [ setuptools-scm ]; + build-system = [ + hatchling + hatch-vcs + ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp - lxml + defusedxml ]; doCheck = false; # Failed: async def functions are not natively supported. @@ -40,10 +44,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "afsapi" ]; meta = { + changelog = "https://github.com/wlcrs/python-afsapi/releases/tag/${finalAttrs.version}"; description = "Python implementation of the Frontier Silicon API"; homepage = "https://github.com/wlcrs/python-afsapi"; - changelog = "https://github.com/wlcrs/python-afsapi/releases/tag/${version}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/aioaquacell/default.nix b/pkgs/development/python-modules/aioaquacell/default.nix index d92c176f2b3c..446e6bb76a8a 100644 --- a/pkgs/development/python-modules/aioaquacell/default.nix +++ b/pkgs/development/python-modules/aioaquacell/default.nix @@ -1,48 +1,51 @@ { lib, buildPythonPackage, - fetchPypi, - setuptools, - aiobotocore, + fetchFromGitHub, + poetry-core, aiohttp, - attr, aws-request-signer, + boto3, botocore, - requests-aws4auth, pycognito, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aioaquacell"; - version = "0.2.0"; + version = "1.0.0"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-n2kPD1t5d/nf43rB0q1hNNYdHeaBiadsFWTmu1bYN1A="; + src = fetchFromGitHub { + owner = "Jordi1990"; + repo = "aioaquacell"; + tag = finalAttrs.version; + hash = "sha256-ghzuNIqpDwrt2EJ8u74yF5pWdS2nR3FvbPdHQMH4KxE="; }; - build-system = [ setuptools ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail 'version = "0.0.0"' 'version = "${finalAttrs.version}"' + ''; + + build-system = [ poetry-core ]; dependencies = [ aiohttp - aiobotocore - attr aws-request-signer + boto3 botocore - requests-aws4auth pycognito ]; pythonImportsCheck = [ "aioaquacell" ]; - doCheck = false; + doCheck = false; # no tests meta = { - changelog = "https://github.com/Jordi1990/aioaquacell/releases/tag/v${version}"; + changelog = "https://github.com/Jordi1990/aioaquacell/releases/tag/${finalAttrs.version}"; description = "Asynchronous library to retrieve details of your Aquacell water softener device"; homepage = "https://github.com/Jordi1990/aioaquacell"; license = lib.licenses.asl20; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/aioautomower/default.nix b/pkgs/development/python-modules/aioautomower/default.nix index 0fcbae274a7a..a8cd95c60bcb 100644 --- a/pkgs/development/python-modules/aioautomower/default.nix +++ b/pkgs/development/python-modules/aioautomower/default.nix @@ -22,14 +22,14 @@ buildPythonPackage (finalAttrs: { pname = "aioautomower"; - version = "2.7.3"; + version = "2.7.5"; pyproject = true; src = fetchFromGitHub { owner = "Thomas55555"; repo = "aioautomower"; tag = "v${finalAttrs.version}"; - hash = "sha256-O1z0dhVtKfIOr7TrXFiPElC11isD4aDDLmzc0+OX+B8="; + hash = "sha256-6McuzSo3CanhafN8ooB/fQkD+BAVpaPqPDNHSSsVLgA="; }; postPatch = '' diff --git a/pkgs/development/python-modules/aiocomelit/default.nix b/pkgs/development/python-modules/aiocomelit/default.nix index cd4edf3efc26..d59a3f99823c 100644 --- a/pkgs/development/python-modules/aiocomelit/default.nix +++ b/pkgs/development/python-modules/aiocomelit/default.nix @@ -4,25 +4,23 @@ buildPythonPackage, colorlog, fetchFromGitHub, + orjson, pint, - setuptools, pytest-cov-stub, pytestCheckHook, - pythonOlder, + setuptools, }: buildPythonPackage (finalAttrs: { pname = "aiocomelit"; - version = "2.0.2"; + version = "2.0.3"; pyproject = true; - disabled = pythonOlder "3.12"; - src = fetchFromGitHub { owner = "chemelli74"; repo = "aiocomelit"; tag = "v${finalAttrs.version}"; - hash = "sha256-k/p6z+flMvmuwwHqPH9Aw/ai761kbT+HQUXVNKeqk0U="; + hash = "sha256-EB07sAGSyTpsCNH8xwOuHBYhQyajBnZBP+8WCLBq7i4="; }; build-system = [ setuptools ]; @@ -30,6 +28,7 @@ buildPythonPackage (finalAttrs: { dependencies = [ aiohttp colorlog + orjson pint ]; diff --git a/pkgs/development/python-modules/aiohomeconnect/default.nix b/pkgs/development/python-modules/aiohomeconnect/default.nix index 405f2f9824f8..40a4e45abe13 100644 --- a/pkgs/development/python-modules/aiohomeconnect/default.nix +++ b/pkgs/development/python-modules/aiohomeconnect/default.nix @@ -18,14 +18,14 @@ buildPythonPackage (finalAttrs: { pname = "aiohomeconnect"; - version = "0.34.0"; + version = "0.36.0"; pyproject = true; src = fetchFromGitHub { owner = "MartinHjelmare"; repo = "aiohomeconnect"; tag = "v${finalAttrs.version}"; - hash = "sha256-fGK7Qc4dzW1BTbSNrNE7N4RZvyaXf2pQ49zTOkjNyBg="; + hash = "sha256-tm8CEIv2QfawDs26oCnwXZ4cX/9785h7IX/kuCzjCWc="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/aiomealie/default.nix b/pkgs/development/python-modules/aiomealie/default.nix index fbff112528b5..bcade95a6377 100644 --- a/pkgs/development/python-modules/aiomealie/default.nix +++ b/pkgs/development/python-modules/aiomealie/default.nix @@ -17,14 +17,14 @@ buildPythonPackage (finalAttrs: { pname = "aiomealie"; - version = "1.2.2"; + version = "1.2.4"; pyproject = true; src = fetchFromGitHub { owner = "joostlek"; repo = "python-mealie"; tag = "v${finalAttrs.version}"; - hash = "sha256-2244R2r+b08UG58Amd94Dsn6d59oAiJLL6jOd4ZOqro="; + hash = "sha256-OROL48v5SniYtzuCYZWt9mSXcFqMTO0JB2K+Ym3Ksz4="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/aiorussound/default.nix b/pkgs/development/python-modules/aiorussound/default.nix index 5841e5992817..3a1b6ea6f8b4 100644 --- a/pkgs/development/python-modules/aiorussound/default.nix +++ b/pkgs/development/python-modules/aiorussound/default.nix @@ -10,7 +10,7 @@ # dependencies mashumaro, orjson, - pyserial-asyncio-fast, + serialx, # tests pytestCheckHook, @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "aiorussound"; - version = "4.9.1"; + version = "5.0.1"; pyproject = true; # requires newer f-strings introduced in 3.12 @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "noahhusby"; repo = "aiorussound"; tag = version; - hash = "sha256-vDGNb2eXvNLWzEs9ZI2vOk4+7RJQ/ISu9PCkIWCBJQw="; + hash = "sha256-TFRxeQQwgoI4O0k6A1pO622oEONOxANQDLr7SAkjuA0="; }; build-system = [ poetry-core ]; @@ -36,7 +36,7 @@ buildPythonPackage rec { dependencies = [ mashumaro orjson - pyserial-asyncio-fast + serialx ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix index e98e68d5102f..fc5f621b9665 100644 --- a/pkgs/development/python-modules/aioshelly/default.nix +++ b/pkgs/development/python-modules/aioshelly/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "aioshelly"; - version = "13.24.0"; + version = "13.25.0"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "aioshelly"; tag = version; - hash = "sha256-yb6oZlrB3MBafKoga9vRrcixXlZeknVRsMztX4hV3PA="; + hash = "sha256-BZsuvYtP2tuRb3QGN09lwTXadMKqM1TLPKEQU5+qz6w="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/bring-api/default.nix b/pkgs/development/python-modules/bring-api/default.nix index d2e61e91f91d..25de8154f0ca 100644 --- a/pkgs/development/python-modules/bring-api/default.nix +++ b/pkgs/development/python-modules/bring-api/default.nix @@ -11,28 +11,24 @@ python-dotenv, setuptools, syrupy, - yarl, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "bring-api"; - version = "1.1.1"; + version = "1.1.2"; pyproject = true; src = fetchFromGitHub { owner = "miaucl"; repo = "bring-api"; - tag = version; - hash = "sha256-BslU1ekbQIZh1f1zRYXbZdbOepB2+NWIuWZI4L/oxSg="; + tag = finalAttrs.version; + hash = "sha256-EwOb+AkjpJSpINFmfWNDqRPF7MDpwDa0LK3LFj7U/sY="; }; build-system = [ setuptools ]; dependencies = [ - # https://github.com/miaucl/bring-api/blob/1.0.0/requirements.txt - # pyproject.toml is out of sync aiohttp - yarl mashumaro orjson ]; @@ -50,8 +46,8 @@ buildPythonPackage rec { meta = { description = "Module to access the Bring! shopping lists API"; homepage = "https://github.com/miaucl/bring-api"; - changelog = "https://github.com/miaucl/bring-api/releases/tag/${src.tag}"; + changelog = "https://github.com/miaucl/bring-api/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/bumble/default.nix b/pkgs/development/python-modules/bumble/default.nix index 6e90eefdab4d..9eb5edc39c99 100644 --- a/pkgs/development/python-modules/bumble/default.nix +++ b/pkgs/development/python-modules/bumble/default.nix @@ -28,14 +28,14 @@ buildPythonPackage rec { pname = "bumble"; - version = "0.0.227"; + version = "0.0.228"; pyproject = true; src = fetchFromGitHub { owner = "google"; repo = "bumble"; tag = "v${version}"; - hash = "sha256-qB1dVKDy061NqAzv+QoFeG1BU9sRYfb5ntcXQd909rM="; + hash = "sha256-wvs6Pod2eub9SOQAgcU+SahSykVvCe7SBV6i10w6Y7Q="; }; build-system = [ diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix index c8c30ab9839d..03772e3e51a6 100644 --- a/pkgs/development/python-modules/dbus-fast/default.nix +++ b/pkgs/development/python-modules/dbus-fast/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "dbus-fast"; - version = "4.0.0"; + version = "4.0.4"; pyproject = true; src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "dbus-fast"; tag = "v${version}"; - hash = "sha256-XLtLRIbiB+4AKKq5ekEeBv92qmBPKEJihh0b3lHMnsg="; + hash = "sha256-lfAG17R33YsU8HYbnM9te0H7YoVUUpB6TtqQrWbhR6Q="; }; postPatch = '' diff --git a/pkgs/development/python-modules/easyenergy/default.nix b/pkgs/development/python-modules/easyenergy/default.nix index 876a30e16942..d58b5b9b98b6 100644 --- a/pkgs/development/python-modules/easyenergy/default.nix +++ b/pkgs/development/python-modules/easyenergy/default.nix @@ -4,25 +4,27 @@ aresponses, buildPythonPackage, fetchFromGitHub, + mashumaro, poetry-core, pytest-asyncio, pytest-cov-stub, pytest-freezer, pytestCheckHook, syrupy, + typer, yarl, }: buildPythonPackage rec { pname = "easyenergy"; - version = "2.2.0"; + version = "3.0.0"; pyproject = true; src = fetchFromGitHub { owner = "klaasnicolaas"; repo = "python-easyenergy"; tag = "v${version}"; - hash = "sha256-AFEygSSHr7YJK4Yx4dvBVGR3wBswAeUNrC/7NndzfBg="; + hash = "sha256-aCRXL//hGJyG1eIonz/HJqFyG9eGKOoFhd6yD5zAR3s="; }; postPatch = '' @@ -30,13 +32,23 @@ buildPythonPackage rec { --replace '"0.0.0"' '"${version}"' ''; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + pythonRelaxDeps = [ + "aiohttp" + "mashumaro" + ]; + + dependencies = [ aiohttp + mashumaro yarl ]; + optional-dependencies = { + cli = [ typer ]; + }; + nativeCheckInputs = [ aresponses pytest-asyncio @@ -44,7 +56,8 @@ buildPythonPackage rec { pytest-freezer pytestCheckHook syrupy - ]; + ] + ++ lib.concatAttrValues optional-dependencies; pythonImportsCheck = [ "easyenergy" ]; @@ -68,6 +81,7 @@ buildPythonPackage rec { homepage = "https://github.com/klaasnicolaas/python-easyenergy"; changelog = "https://github.com/klaasnicolaas/python-easyenergy/releases/tag/${src.tag}"; license = lib.licenses.mit; + mainProgram = "easyenergy"; maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/epaper-dithering/default.nix b/pkgs/development/python-modules/epaper-dithering/default.nix index be30e1abe96b..d8344051d611 100644 --- a/pkgs/development/python-modules/epaper-dithering/default.nix +++ b/pkgs/development/python-modules/epaper-dithering/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "epaper-dithering"; - version = "0.6.3"; + version = "0.6.4"; pyproject = true; src = fetchFromGitHub { owner = "OpenDisplay"; repo = "epaper-dithering"; tag = "python-v${finalAttrs.version}"; - hash = "sha256-h84AgWJR8zVuwoz02A3U82yTOw4MSK9DjaxkYi0nWkM="; + hash = "sha256-GWILjyzPg5mCDQ6jQw5o3v+gkbdxiHzSSVQkW3dC01I="; }; sourceRoot = "${finalAttrs.src.name}/packages/python"; diff --git a/pkgs/development/python-modules/habluetooth/default.nix b/pkgs/development/python-modules/habluetooth/default.nix index 839b18d56e8b..fb0b00416be1 100644 --- a/pkgs/development/python-modules/habluetooth/default.nix +++ b/pkgs/development/python-modules/habluetooth/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "habluetooth"; - version = "5.11.2"; + version = "6.1.0"; pyproject = true; src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "habluetooth"; tag = "v${version}"; - hash = "sha256-/5oJOSNP3vbmX7V8m6LLomNAvRzV2hM0vMCbwjFBmbg="; + hash = "sha256-/A+7u8mMZMiloHz0fnlQAQDe7DcrgFBU0IOaZJEdkKo="; }; build-system = [ diff --git a/pkgs/development/python-modules/imgw-pib/default.nix b/pkgs/development/python-modules/imgw-pib/default.nix index 91dfed146dae..4605c6a4143b 100644 --- a/pkgs/development/python-modules/imgw-pib/default.nix +++ b/pkgs/development/python-modules/imgw-pib/default.nix @@ -15,14 +15,14 @@ buildPythonPackage (finalAttrs: { pname = "imgw-pib"; - version = "2.1.0"; + version = "2.1.1"; pyproject = true; src = fetchFromGitHub { owner = "bieniu"; repo = "imgw-pib"; tag = finalAttrs.version; - hash = "sha256-VwoYxV6XlDRX3zdOwtfBxZG3ntBh8l+abNByN7HIAeo="; + hash = "sha256-R1WhKOboItkKamO+hyyJyTl0veDCHDc4N70UE7IuFqI="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/infrared-protocols/default.nix b/pkgs/development/python-modules/infrared-protocols/default.nix index a76c6f7bc8fe..bf08baba29ce 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 = "1.1.0"; + version = "2.1.0"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "infrared-protocols"; tag = finalAttrs.version; - hash = "sha256-Sw9N8vdmdR13itUtx3Vcmc0DJN8IcIub+mzEWms/fpE="; + hash = "sha256-TAeqDCuLSuzAOq2bsHTMYjQ1AyKDRQSAq8cC8oSfY1E="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/lunatone-rest-api-client/default.nix b/pkgs/development/python-modules/lunatone-rest-api-client/default.nix index 88bf20c2da58..59ad42258f26 100644 --- a/pkgs/development/python-modules/lunatone-rest-api-client/default.nix +++ b/pkgs/development/python-modules/lunatone-rest-api-client/default.nix @@ -1,5 +1,6 @@ { aiohttp, + awesomeversion, buildPythonPackage, fetchFromGitLab, hatchling, @@ -12,20 +13,21 @@ buildPythonPackage rec { pname = "lunatone-rest-api-client"; - version = "0.7.2"; + version = "0.9.2"; pyproject = true; src = fetchFromGitLab { owner = "lunatone-public"; repo = "lunatone-rest-api-client"; tag = "v${version}"; - hash = "sha256-x9L65L5wEbJMOGlNBoQfPjS8/Ijr+fzaISoDD+cMWzU="; + hash = "sha256-hUc2cMZ2OWheqDQjg6A7mEZw0RrljestouPr1WdOl7Q="; }; build-system = [ hatchling ]; dependencies = [ aiohttp + awesomeversion pydantic ] ++ aiohttp.optional-dependencies.speedups; diff --git a/pkgs/development/python-modules/mastodon-py/default.nix b/pkgs/development/python-modules/mastodon-py/default.nix index 4e12dbb633bd..69b54a9ed5b2 100644 --- a/pkgs/development/python-modules/mastodon-py/default.nix +++ b/pkgs/development/python-modules/mastodon-py/default.nix @@ -5,7 +5,6 @@ blurhash, cryptography, decorator, - fetchpatch, graphemeu, http-ece, python-dateutil, @@ -21,24 +20,16 @@ buildPythonPackage rec { pname = "mastodon-py"; - version = "2.1.4"; + version = "2.2.1"; pyproject = true; src = fetchFromGitHub { owner = "halcy"; repo = "Mastodon.py"; tag = "v${version}"; - hash = "sha256-i3HMT8cabSl664UK3eopJQ9bDBpGCgbHTvBJkgeoxd8="; + hash = "sha256-RsSM7TkNwsirT1ksaXP/IKOmrpPrNGh/16S77Up+3MM="; }; - patches = [ - # Switch dependency from unmaintained `grapheme` to `graphemeu` - (fetchpatch { - url = "https://github.com/halcy/Mastodon.py/commit/939c7508414e950922c518260a9ba5a5853aeef2.patch"; - hash = "sha256-XBiAFxYUBNyynld++UwPGIIg9j+3/EF2jGqiysVqYRM="; - }) - ]; - build-system = [ setuptools ]; dependencies = [ @@ -67,13 +58,6 @@ buildPythonPackage rec { ] ++ lib.concatAttrValues optional-dependencies; - # disabledTests = [ - # "test_notifications_dismiss_pre_2_9_2" - # "test_status_card_pre_2_9_2" - # "test_stream_user_direct" - # "test_stream_user_local" - # ]; - pythonImportsCheck = [ "mastodon" ]; meta = { diff --git a/pkgs/development/python-modules/matter-python-client/default.nix b/pkgs/development/python-modules/matter-python-client/default.nix index 40993c2a7499..26c3308dde0e 100644 --- a/pkgs/development/python-modules/matter-python-client/default.nix +++ b/pkgs/development/python-modules/matter-python-client/default.nix @@ -19,14 +19,14 @@ buildPythonPackage (finalAttrs: { pname = "matter-python-client"; - version = "0.4.3"; + version = "0.6.4"; pyproject = true; src = fetchFromGitHub { owner = "matter-js"; repo = "matterjs-server"; tag = "v${finalAttrs.version}"; - hash = "sha256-SnOo6AQzkIqlZPTDe/dhA1EJ8oTBg37zfjiqheGYxIM="; + hash = "sha256-iHTc5PDlg4KvOY+oY9GU2l/pPNMrnmIyFqxjCL7w0kw="; }; sourceRoot = "${finalAttrs.src.name}/python_client"; diff --git a/pkgs/development/python-modules/peblar/default.nix b/pkgs/development/python-modules/peblar/default.nix index e0443c9e40a7..e7f0ad548361 100644 --- a/pkgs/development/python-modules/peblar/default.nix +++ b/pkgs/development/python-modules/peblar/default.nix @@ -1,18 +1,19 @@ { lib, aiohttp, - aresponses, + aioresponses, awesomeversion, - backoff, buildPythonPackage, fetchFromGitHub, - hatchling, mashumaro, orjson, + poetry-core, pytest-asyncio, pytest-cov-stub, pytestCheckHook, + rich, syrupy, + tenacity, typer, yarl, zeroconf, @@ -20,14 +21,14 @@ buildPythonPackage rec { pname = "peblar"; - version = "0.4.0"; + version = "0.5.1"; pyproject = true; src = fetchFromGitHub { owner = "frenck"; repo = "python-peblar"; tag = "v${version}"; - hash = "sha256-cHb/VTaa7tkePqV7eLpDSxrnY8hAnjshwtwyWmJnt/4="; + hash = "sha256-58PIvbl0QqOrvEc2rIieImWSnGZVIrhVAwsN+fZcWT4="; }; postPatch = '' @@ -36,31 +37,33 @@ buildPythonPackage rec { --replace-fail 'version = "0.0.0"' 'version = "${version}"' ''; - build-system = [ hatchling ]; + build-system = [ poetry-core ]; dependencies = [ aiohttp awesomeversion - backoff mashumaro orjson + tenacity yarl ]; optional-dependencies = { cli = [ + rich typer zeroconf ]; }; nativeCheckInputs = [ - aresponses + aioresponses pytest-asyncio pytest-cov-stub pytestCheckHook syrupy - ]; + ] + ++ lib.concatAttrValues optional-dependencies; pythonImportsCheck = [ "peblar" ]; @@ -69,6 +72,7 @@ buildPythonPackage rec { homepage = "https://github.com/frenck/python-peblar"; changelog = "https://github.com/frenck/python-peblar/releases/tag/v${version}"; license = lib.licenses.mit; + mainProgram = "peblar"; maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/pilight/default.nix b/pkgs/development/python-modules/pilight/default.nix deleted file mode 100644 index ab150e657a10..000000000000 --- a/pkgs/development/python-modules/pilight/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - pytestCheckHook, - setuptools, -}: - -buildPythonPackage rec { - pname = "pilight"; - version = "0.1.1"; - pyproject = true; - - src = fetchFromGitHub { - owner = "DavidLP"; - repo = "pilight"; - tag = version; - hash = "sha256-8KLEeyf1uwYjsBfIoi+736cu+We6OjLvptCXL539bDA="; - }; - - build-system = [ setuptools ]; - - nativeCheckInputs = [ pytestCheckHook ]; - - postPatch = '' - substituteInPlace pilight/test/test_client.py \ - --replace-fail "from mock import patch, call" "from unittest.mock import patch, call" \ - --replace-fail "pilight_client.isAlive()" "pilight_client.is_alive()" - ''; - - pythonImportsCheck = [ "pilight" ]; - - meta = { - description = "Pure python module to connect to a pilight daemon to send and receive commands"; - homepage = "https://github.com/DavidLP/pilight"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.jamiemagee ]; - }; -} diff --git a/pkgs/development/python-modules/prowlpy/default.nix b/pkgs/development/python-modules/prowlpy/default.nix index 3e9e378de2af..55a6e19b6797 100644 --- a/pkgs/development/python-modules/prowlpy/default.nix +++ b/pkgs/development/python-modules/prowlpy/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "prowlpy"; - version = "1.1.4"; + version = "1.1.5"; pyproject = true; src = fetchFromGitHub { owner = "OMEGARAZER"; repo = "prowlpy"; tag = "v${version}"; - hash = "sha256-vtLj0Rxl8XM6JigM5kWQWiEaE8dDQ40zsZGRPfJ+aiY="; + hash = "sha256-psXq858y5wsDU5GqGOzVFmYBSZvfuYXzOTZ20mx8PMw="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pvo/default.nix b/pkgs/development/python-modules/pvo/default.nix index 62b3a7d5eab4..abb2eb95be65 100644 --- a/pkgs/development/python-modules/pvo/default.nix +++ b/pkgs/development/python-modules/pvo/default.nix @@ -1,7 +1,7 @@ { lib, aiohttp, - aresponses, + aioresponses, buildPythonPackage, fetchFromGitHub, poetry-core, @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "pvo"; - version = "2.2.1"; + version = "3.0.0"; pyproject = true; src = fetchFromGitHub { owner = "frenck"; repo = "python-pvoutput"; tag = "v${version}"; - hash = "sha256-UdMcY7Va8LAW3x4CR6hIrIdwrXiHh1Hs3tK+SWBrJFE="; + hash = "sha256-qCODRfE+fM3Cwgz8sOUTJ8AXQSlr3I4Q0I+gJmMaDjM="; }; postPatch = '' @@ -40,7 +40,7 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ - aresponses + aioresponses pytest-asyncio pytest-cov-stub pytestCheckHook diff --git a/pkgs/development/python-modules/py-opendisplay/default.nix b/pkgs/development/python-modules/py-opendisplay/default.nix index bd4e2f61fae7..13c8252a8884 100644 --- a/pkgs/development/python-modules/py-opendisplay/default.nix +++ b/pkgs/development/python-modules/py-opendisplay/default.nix @@ -5,6 +5,7 @@ hatchling, bleak, bleak-retry-connector, + cryptography, epaper-dithering, numpy, pillow, @@ -14,14 +15,14 @@ buildPythonPackage (finalAttrs: { pname = "py-opendisplay"; - version = "5.5.0"; + version = "5.9.0"; pyproject = true; src = fetchFromGitHub { owner = "OpenDisplay"; repo = "py-opendisplay"; tag = "v${finalAttrs.version}"; - hash = "sha256-pPV4Ir9GK++66qq5QGnwyjpBinK7EvI7C7HB14tFDXU="; + hash = "sha256-7YR+VPCsmuDJaWdToCytg8zsIDkKVRiQnVlmWtBzqrA="; }; build-system = [ hatchling ]; @@ -29,6 +30,7 @@ buildPythonPackage (finalAttrs: { dependencies = [ bleak bleak-retry-connector + cryptography epaper-dithering numpy pillow diff --git a/pkgs/development/python-modules/pyaxencoapi/default.nix b/pkgs/development/python-modules/pyaxencoapi/default.nix index eca876818da2..9053e8b558e4 100644 --- a/pkgs/development/python-modules/pyaxencoapi/default.nix +++ b/pkgs/development/python-modules/pyaxencoapi/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "pyaxencoapi"; - version = "1.0.9"; + version = "1.0.7"; pyproject = true; src = fetchFromGitHub { owner = "AXENCO-FR"; repo = "ha-py-axenco-api"; tag = "v${finalAttrs.version}"; - hash = "sha256-rqjDI8e3ZeZHsEk0EBaKlEl3w9blinlc2MsTCAKk85o="; + hash = "sha256-Ml58+kstIpqQUXDt/jpZeR8ueu5U3nnH7hiUcZxveAM="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pykaleidescape/default.nix b/pkgs/development/python-modules/pykaleidescape/default.nix index 429393391dfc..ccfa1f0ae64f 100644 --- a/pkgs/development/python-modules/pykaleidescape/default.nix +++ b/pkgs/development/python-modules/pykaleidescape/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "pykaleidescape"; - version = "1.1.3"; + version = "1.1.6"; pyproject = true; src = fetchFromGitHub { owner = "SteveEasley"; repo = "pykaleidescape"; tag = "v${finalAttrs.version}"; - hash = "sha256-IA6BefKBFMfatiaw+Ye8NdYZ6BDlR1z4L+YkZ4Iy3Wg="; + hash = "sha256-irXm1kX9gy6XU1PWvFKG2IeUE7raKI2C0I6Vge1ZKsI="; }; build-system = [ setuptools ]; @@ -44,6 +44,8 @@ buildPythonPackage (finalAttrs: { # stuck in EpollSelector.poll() "test_manual_disconnect" "test_concurrency" + "test_reconnect_calls_on_reconnect" + "test_refresh_after_reconnect" ]; meta = { diff --git a/pkgs/development/python-modules/pynordpool/default.nix b/pkgs/development/python-modules/pynordpool/default.nix index e1899f3cb4dd..0eca17e437d0 100644 --- a/pkgs/development/python-modules/pynordpool/default.nix +++ b/pkgs/development/python-modules/pynordpool/default.nix @@ -6,16 +6,16 @@ poetry-core, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pynordpool"; - version = "0.3.2"; + version = "0.4.0"; pyproject = true; src = fetchFromGitHub { owner = "gjohansson-ST"; repo = "pynordpool"; - tag = "v${version}"; - hash = "sha256-3yMVhdfjl2l56WzI+uRMUwFuYafSH3YfabYqKSK25Y4="; + tag = "v${finalAttrs.version}"; + hash = "sha256-HDbYrwQ4v5cqej5aUat0gVzaRpJz5jaFHjWUC98gacg="; }; build-system = [ poetry-core ]; @@ -30,8 +30,8 @@ buildPythonPackage rec { meta = { description = "Python api for Nordpool"; homepage = "https://github.com/gjohansson-ST/pynordpool"; - changelog = "https://github.com/gjohansson-ST/pynordpool/releases/tag/${src.tag}"; + changelog = "https://github.com/gjohansson-ST/pynordpool/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/pyopensprinkler/default.nix b/pkgs/development/python-modules/pyopensprinkler/default.nix index 52872cc92cff..e94d337a50d5 100644 --- a/pkgs/development/python-modules/pyopensprinkler/default.nix +++ b/pkgs/development/python-modules/pyopensprinkler/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "pyopensprinkler"; - version = "0.7.15"; + version = "0.7.17"; pyproject = true; src = fetchFromGitHub { owner = "vinteo"; repo = "py-opensprinkler"; rev = version; - hash = "sha256-OfC3YYP2GeoiJh+3Ti35dmjtjg4xpN7KXPy/5BA3pPs="; + hash = "sha256-5iGvC7S1DdowkT4MZCkI5toy1AKYiMITwy84VYwW/0U="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pyrainbird/default.nix b/pkgs/development/python-modules/pyrainbird/default.nix index 570efd84d753..4adc6007e3db 100644 --- a/pkgs/development/python-modules/pyrainbird/default.nix +++ b/pkgs/development/python-modules/pyrainbird/default.nix @@ -1,5 +1,6 @@ { lib, + aiohttp, aiohttp-retry, buildPythonPackage, fetchFromGitHub, @@ -9,41 +10,43 @@ parameterized, pycryptodome, pytest-aiohttp, - pytest-asyncio_0, + pytest-asyncio, pytest-cov-stub, pytest-golden, pytest-mock, pytestCheckHook, python-dateutil, pyyaml, - requests, - requests-mock, - responses, setuptools, + syrupy, }: buildPythonPackage (finalAttrs: { pname = "pyrainbird"; - version = "6.1.2"; + version = "6.3.1"; pyproject = true; src = fetchFromGitHub { owner = "allenporter"; repo = "pyrainbird"; tag = finalAttrs.version; - hash = "sha256-ac/QzhdfvOpqKi8tjz2Udge2+AIg/yEQBmbYCu0i/0A="; + hash = "sha256-0hjHPoUJP/sRljn0VS3qXUa5OhbxzYl5u/086kksLiE="; }; build-system = [ setuptools ]; + pythonRelaxDeps = [ + "aiohttp" + ]; + dependencies = [ + aiohttp aiohttp-retry ical mashumaro pycryptodome python-dateutil pyyaml - requests ]; __darwinAllowLocalNetworking = true; @@ -51,14 +54,13 @@ buildPythonPackage (finalAttrs: { nativeCheckInputs = [ freezegun parameterized - (pytest-aiohttp.override { pytest-asyncio = pytest-asyncio_0; }) - pytest-asyncio_0 + pytest-aiohttp + pytest-asyncio pytest-cov-stub pytest-golden pytest-mock pytestCheckHook - requests-mock - responses + syrupy ]; pythonImportsCheck = [ "pyrainbird" ]; diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix index fd3a2929a44d..3cb0deac7894 100644 --- a/pkgs/development/python-modules/pyswitchbot/default.nix +++ b/pkgs/development/python-modules/pyswitchbot/default.nix @@ -14,14 +14,14 @@ buildPythonPackage (finalAttrs: { pname = "pyswitchbot"; - version = "2.0.1"; + version = "2.2.0"; pyproject = true; src = fetchFromGitHub { owner = "Danielhiversen"; repo = "pySwitchbot"; tag = finalAttrs.version; - hash = "sha256-vVFCzbp7DMhyPlUXrw3fXwyKybf3nXyTH9zCTz6uh5E="; + hash = "sha256-uBHDOAitnVTFGuwzz9at0X6Mr54feMeKiFG/9CqIN4g="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix index 4f7c10581c2f..8e4d835f553e 100644 --- a/pkgs/development/python-modules/python-roborock/default.nix +++ b/pkgs/development/python-modules/python-roborock/default.nix @@ -11,6 +11,7 @@ freezegun, hatchling, paho-mqtt, + protobuf, pycryptodome, pycryptodomex, pyrate-limiter, @@ -23,17 +24,20 @@ buildPythonPackage (finalAttrs: { pname = "python-roborock"; - version = "5.0.0"; + version = "5.5.1"; pyproject = true; src = fetchFromGitHub { owner = "Python-roborock"; repo = "python-roborock"; tag = "v${finalAttrs.version}"; - hash = "sha256-Lzr+OBbOjsLpkUsFYNJ37teegWjicUAoW9Jvw3hOvGE="; + hash = "sha256-2ShXt2mtMhMugzqOHhY1GT7cQ0K78k/4/bPmmP/uheI="; }; - pythonRelaxDeps = [ "pycryptodome" ]; + pythonRelaxDeps = [ + "protobuf" + "pycryptodome" + ]; build-system = [ hatchling ]; @@ -43,6 +47,7 @@ buildPythonPackage (finalAttrs: { click construct paho-mqtt + protobuf pycryptodome pyrate-limiter vacuum-map-parser-roborock diff --git a/pkgs/development/python-modules/python-technove/default.nix b/pkgs/development/python-modules/python-technove/default.nix index 3dab7d937419..aeecb0d10bdd 100644 --- a/pkgs/development/python-modules/python-technove/default.nix +++ b/pkgs/development/python-modules/python-technove/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "python-technove"; - version = "2.0.0"; + version = "2.1.1"; pyproject = true; src = fetchFromGitHub { owner = "Moustachauve"; repo = "pytechnove"; tag = "v${version}"; - hash = "sha256-LgrydBgx68HP8yaywkMMeS71VqhilYGODppBZbdkssQ="; + hash = "sha256-TAB70EVrjxpl+vm3ncg45l2duaIXHjn7YKOURkS6k0k="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/pytibber/default.nix b/pkgs/development/python-modules/pytibber/default.nix index bdc067297370..3c04332f26fe 100644 --- a/pkgs/development/python-modules/pytibber/default.nix +++ b/pkgs/development/python-modules/pytibber/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "pytibber"; - version = "0.37.2"; + version = "0.37.4"; pyproject = true; src = fetchFromGitHub { owner = "Danielhiversen"; repo = "pyTibber"; tag = finalAttrs.version; - hash = "sha256-ZM9oXX6iEmsR20f2Jgg3fME1lm3egKun1GvNOZIKTV0="; + hash = "sha256-xXZLMLPlOYCDO1+b3/lL5O5NI5UA+4HX+YOMHLwCbig="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pytrydan/default.nix b/pkgs/development/python-modules/pytrydan/default.nix index 080abf919da1..da6871422dce 100644 --- a/pkgs/development/python-modules/pytrydan/default.nix +++ b/pkgs/development/python-modules/pytrydan/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "pytrydan"; - version = "0.8.1"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "dgomes"; repo = "pytrydan"; tag = "v${version}"; - hash = "sha256-OHC+Ul64BYCsgoFDxI1hPjBGkd/pQ0j0c9Pt5lWg1E0="; + hash = "sha256-ivLNP5lconJ0G8MuY8xgcJ9MTx91yUjeY1NA4U7OwMo="; }; pythonRelaxDeps = [ "tenacity" ]; diff --git a/pkgs/development/python-modules/pyuptimerobot/default.nix b/pkgs/development/python-modules/pyuptimerobot/default.nix index f3aba78079d3..7a4c7a93d7f9 100644 --- a/pkgs/development/python-modules/pyuptimerobot/default.nix +++ b/pkgs/development/python-modules/pyuptimerobot/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "pyuptimerobot"; - version = "24.0.1"; + version = "25.0.0"; pyproject = true; disabled = pythonOlder "3.14"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "ludeeus"; repo = "pyuptimerobot"; tag = version; - hash = "sha256-vlEXUwGCmscasdWyCxF1bFjA3weR74Zf3RCk5W5ljFg="; + hash = "sha256-Fa/65IANK/LP2AaD6hLVH+Jau0swCwd/iBQXVcle6Y0="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pyvicare/default.nix b/pkgs/development/python-modules/pyvicare/default.nix index 76daf778942e..c18f7ab8d4df 100644 --- a/pkgs/development/python-modules/pyvicare/default.nix +++ b/pkgs/development/python-modules/pyvicare/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "pyvicare"; - version = "2.59.1"; + version = "2.60.1"; pyproject = true; src = fetchFromGitHub { owner = "openviess"; repo = "PyViCare"; tag = finalAttrs.version; - hash = "sha256-dy6VFVisQXWB46pdltP2Ww/WyAyQ1igLn8LiSGHPKa8="; + hash = "sha256-pLXSUEetkGBrdPZ5Lo0gFTIP6pkc9C2tcx6+3Khr7EY="; }; postPatch = '' diff --git a/pkgs/development/python-modules/satel-integra/default.nix b/pkgs/development/python-modules/satel-integra/default.nix index 387c6d5a0add..52f6372962e7 100644 --- a/pkgs/development/python-modules/satel-integra/default.nix +++ b/pkgs/development/python-modules/satel-integra/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "satel-integra"; - version = "1.2.2"; + version = "1.3.1"; pyproject = true; src = fetchFromGitHub { owner = "c-soft"; repo = "satel_integra"; tag = version; - hash = "sha256-bYwAW8mbgE4D6xvAmkOPewAGkKJuF5AKPjXGeaJpk6s="; + hash = "sha256-lNlre+0mOmIjrmYsAqt0QERERsXzKi0wRfbs1c//f/c="; }; build-system = [ diff --git a/pkgs/development/python-modules/serialx/default.nix b/pkgs/development/python-modules/serialx/default.nix index 9bea94f2bc35..b95486ac7663 100644 --- a/pkgs/development/python-modules/serialx/default.nix +++ b/pkgs/development/python-modules/serialx/default.nix @@ -1,9 +1,11 @@ { + aioesphomeapi, buildPythonPackage, cargo, fetchFromGitHub, lib, psutil, + pythonAtLeast, pytest-asyncio, pytest-xdist, pytestCheckHook, @@ -49,6 +51,10 @@ buildPythonPackage (finalAttrs: { typing-extensions ]; + optional-dependencies.esphome = lib.optionals (pythonAtLeast "3.14") [ + aioesphomeapi + ]; + pythonImportsCheck = [ "serialx" ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/tailscale/default.nix b/pkgs/development/python-modules/tailscale/default.nix index 43163090bad9..0d152e6608f6 100644 --- a/pkgs/development/python-modules/tailscale/default.nix +++ b/pkgs/development/python-modules/tailscale/default.nix @@ -1,7 +1,7 @@ { lib, aiohttp, - aresponses, + aioresponses, buildPythonPackage, fetchFromGitHub, mashumaro, @@ -10,19 +10,22 @@ pytest-asyncio, pytest-cov-stub, pytestCheckHook, + rich, + syrupy, + typer, yarl, }: buildPythonPackage rec { pname = "tailscale"; - version = "0.6.2"; + version = "0.8.0"; pyproject = true; src = fetchFromGitHub { owner = "frenck"; repo = "python-tailscale"; tag = "v${version}"; - hash = "sha256-azqvMAluhThfteLEZObApnJjtnT3NzO+VVwTzmxuaFY="; + hash = "sha256-Lvtx3/tYJO8qCQhVjJTV0qu064duH7MI+A+a+pdeoHI="; }; postPatch = '' @@ -31,21 +34,30 @@ buildPythonPackage rec { --replace 'version = "0.0.0"' 'version = "${version}"' ''; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp mashumaro orjson yarl ]; + optional-dependencies = { + cli = [ + rich + typer + ]; + }; + nativeCheckInputs = [ - aresponses + aioresponses pytest-asyncio pytest-cov-stub pytestCheckHook - ]; + syrupy + ] + ++ lib.concatAttrValues optional-dependencies; pythonImportsCheck = [ "tailscale" ]; @@ -54,6 +66,7 @@ buildPythonPackage rec { homepage = "https://github.com/frenck/python-tailscale"; changelog = "https://github.com/frenck/python-tailscale/releases/tag/v${version}"; license = lib.licenses.mit; + mainProgram = "tailscale"; maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/uiprotect/default.nix b/pkgs/development/python-modules/uiprotect/default.nix index c89e92739902..76410087c29f 100644 --- a/pkgs/development/python-modules/uiprotect/default.nix +++ b/pkgs/development/python-modules/uiprotect/default.nix @@ -38,21 +38,21 @@ buildPythonPackage (finalAttrs: { pname = "uiprotect"; - version = "10.2.6"; + version = "10.4.1"; pyproject = true; src = fetchFromGitHub { owner = "uilibs"; repo = "uiprotect"; tag = "v${finalAttrs.version}"; - hash = "sha256-6QU+K5TGmZ0Me2QWVyECGhHYZ0d1t4h+kZfTsKlHV5s="; + hash = "sha256-J9SVsExFQMxUQSONsB6G8rb0nIu3sNKtHmiMdy6jpqk="; }; build-system = [ poetry-core ]; - pythonRemoveDeps = [ - "aioshutil" - "async-timeout" + pythonRelaxDeps = [ + "platformdirs" + "pydantic" ]; dependencies = [ diff --git a/pkgs/development/python-modules/universal-silabs-flasher/default.nix b/pkgs/development/python-modules/universal-silabs-flasher/default.nix index 6b8275cec207..3dfe5d65a46a 100644 --- a/pkgs/development/python-modules/universal-silabs-flasher/default.nix +++ b/pkgs/development/python-modules/universal-silabs-flasher/default.nix @@ -8,12 +8,11 @@ setuptools, # dependencies + aiohttp, bellows, - click, coloredlogs, crc, gpiod, - pyserial-asyncio-fast, tqdm, typing-extensions, zigpy, @@ -26,14 +25,14 @@ buildPythonPackage rec { pname = "universal-silabs-flasher"; - version = "1.0.3"; + version = "1.1.0"; pyproject = true; src = fetchFromGitHub { owner = "NabuCasa"; repo = "universal-silabs-flasher"; tag = "v${version}"; - hash = "sha256-6rdWi+un85YWSann2zHFFnWvAZF6V8wXBP1VunaiZMo="; + hash = "sha256-niNjHhOwy+5mgs4UY9bIBykmZ+7TifbYnMuG1LAV7PA="; }; postPatch = '' @@ -45,11 +44,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; dependencies = [ + aiohttp bellows - click coloredlogs crc - pyserial-asyncio-fast tqdm typing-extensions zigpy diff --git a/pkgs/development/python-modules/vehicle/default.nix b/pkgs/development/python-modules/vehicle/default.nix index fc181961e98f..f93df8a084d2 100644 --- a/pkgs/development/python-modules/vehicle/default.nix +++ b/pkgs/development/python-modules/vehicle/default.nix @@ -1,7 +1,7 @@ { lib, aiohttp, - aresponses, + aioresponses, buildPythonPackage, fetchFromGitHub, mashumaro, @@ -10,20 +10,22 @@ pytest-asyncio, pytest-cov-stub, pytestCheckHook, + rich, syrupy, + typer, yarl, }: buildPythonPackage rec { pname = "vehicle"; - version = "2.2.2"; + version = "3.0.0"; pyproject = true; src = fetchFromGitHub { owner = "frenck"; repo = "python-vehicle"; tag = "v${version}"; - hash = "sha256-MPK5Aim/kGXLMOapttkp5ygl8gIlHv0675sBBf6kyAA="; + hash = "sha256-gmLBm3ru525cayhdRJ0Ccwsq+juZRQAAjCQQq7g0m+0="; }; postPatch = '' @@ -41,13 +43,21 @@ buildPythonPackage rec { yarl ]; + optional-dependencies = { + cli = [ + rich + typer + ]; + }; + nativeCheckInputs = [ - aresponses + aioresponses pytest-asyncio pytest-cov-stub pytestCheckHook syrupy - ]; + ] + ++ lib.concatAttrValues optional-dependencies; pythonImportsCheck = [ "vehicle" ]; @@ -56,6 +66,7 @@ buildPythonPackage rec { homepage = "https://github.com/frenck/python-vehicle"; changelog = "https://github.com/frenck/python-vehicle/releases/tag/v${version}"; license = lib.licenses.mit; + mainProgram = "vehicle"; maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/victron-ble-ha-parser/default.nix b/pkgs/development/python-modules/victron-ble-ha-parser/default.nix index e8cd7406c3d8..017eba061d57 100644 --- a/pkgs/development/python-modules/victron-ble-ha-parser/default.nix +++ b/pkgs/development/python-modules/victron-ble-ha-parser/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "victron-ble-ha-parser"; - version = "0.6.3"; + version = "0.7.0"; pyproject = true; src = fetchFromGitHub { owner = "rajlaud"; repo = "victron-ble-ha-parser"; tag = "v${version}"; - hash = "sha256-wSkTIX1TTP2geU7bgsdJj6Nv5SIGgd6k84G7tRCo3O0="; + hash = "sha256-WbJ0OQHTWigszOQ03427Nk6xfKqTHcPQ63tcSvG3x/k="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/wled/default.nix b/pkgs/development/python-modules/wled/default.nix index fa438c2bc15a..8aa2d8395ae3 100644 --- a/pkgs/development/python-modules/wled/default.nix +++ b/pkgs/development/python-modules/wled/default.nix @@ -1,7 +1,7 @@ { lib, aiohttp, - aresponses, + aioresponses, awesomeversion, backoff, buildPythonPackage, @@ -14,27 +14,28 @@ pytest-cov-stub, pytest-xdist, pytestCheckHook, + syrupy, typer, yarl, zeroconf, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "wled"; - version = "0.21.0"; + version = "0.22.0"; pyproject = true; src = fetchFromGitHub { owner = "frenck"; repo = "python-wled"; - tag = "v${version}"; - hash = "sha256-yJ7tiJWSOpkkLwKXo4lYlDrp1FEJ/cGoDaXJamY4ARg="; + tag = "v${finalAttrs.version}"; + hash = "sha256-CUTuIQf6gj9teLicIOtu1FUsYiYXtKeLNuDbNh/21sc="; }; postPatch = '' # Upstream doesn't set a version for the pyproject.toml substituteInPlace pyproject.toml \ - --replace-fail "0.0.0" "${version}" + --replace-fail "0.0.0" "${finalAttrs.version}" ''; build-system = [ poetry-core ]; @@ -57,11 +58,18 @@ buildPythonPackage rec { }; nativeCheckInputs = [ - aresponses + aioresponses pytest-asyncio pytest-cov-stub pytest-xdist pytestCheckHook + syrupy + ] + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; + + disabledTests = [ + # wled release table rendering is inconsistent + "test_releases_command" ]; pythonImportsCheck = [ "wled" ]; @@ -69,8 +77,8 @@ buildPythonPackage rec { meta = { description = "Asynchronous Python client for WLED"; homepage = "https://github.com/frenck/python-wled"; - changelog = "https://github.com/frenck/python-wled/releases/tag/v${version}"; + changelog = "https://github.com/frenck/python-wled/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ hexa ]; }; -} +}) diff --git a/pkgs/development/python-modules/xknxproject/default.nix b/pkgs/development/python-modules/xknxproject/default.nix index 2d193b72d4ff..b17d19664027 100644 --- a/pkgs/development/python-modules/xknxproject/default.nix +++ b/pkgs/development/python-modules/xknxproject/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "xknxproject"; - version = "3.8.2"; + version = "3.9.0"; pyproject = true; src = fetchFromGitHub { owner = "XKNX"; repo = "xknxproject"; tag = version; - hash = "sha256-EIonCsolfAAFQpHuSFUuYAAZozjtqSwJCpw86Cc2d4I="; + hash = "sha256-IA6rEH7iv5IbmfAvNpuLXQQKdatTOzPXf+PwToBtlcg="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/yoto-api/default.nix b/pkgs/development/python-modules/yoto-api/default.nix index de797af1efff..dd9f86db0f9f 100644 --- a/pkgs/development/python-modules/yoto-api/default.nix +++ b/pkgs/development/python-modules/yoto-api/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "yoto-api"; - version = "2.2.5"; + version = "2.2.6"; pyproject = true; src = fetchFromGitHub { owner = "cdnninja"; repo = "yoto_api"; tag = "v${version}"; - hash = "sha256-Sv6X1Cuj7D3gSkq8YipyOsNJeqnP3yL9UuHxVJlMyPg="; + hash = "sha256-f0bRi/4v71/jNYrONlTloFknP6xnXV3uirJMKUje5LY="; }; build-system = [ setuptools ]; diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 1bdac54022df..46466ac38b74 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.4.4"; + version = "2026.5.0"; components = { "3_day_blinds" = ps: with ps; [ @@ -34,8 +34,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "accuweather" = @@ -44,7 +44,7 @@ ]; "acer_projector" = ps: with ps; [ - pyserial + serialx ]; "acmeda" = ps: with ps; [ @@ -159,8 +159,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "airtouch4" = @@ -388,8 +388,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "arcam_fmj" = @@ -488,7 +488,9 @@ ]; "aurora_abb_powerone" = ps: with ps; [ + aiousbwatcher aurorapy + serialx ]; "aussie_broadband" = ps: with ps; [ @@ -670,8 +672,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "blueprint" = @@ -693,7 +695,7 @@ bluetooth-data-tools dbus-fast habluetooth - pyserial + serialx ]; "bluetooth_adapters" = ps: with ps; [ @@ -717,8 +719,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "bluetooth_le_tracker" = @@ -743,8 +745,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "bmw_connected_drive" = @@ -843,8 +845,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "bticino" = @@ -907,8 +909,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; # missing inputs: pycasperglow "cast" = @@ -1115,7 +1117,7 @@ crownstone-cloud crownstone-sse crownstone-uart - pyserial + serialx ]; "currencylayer" = ps: with ps; [ @@ -1203,10 +1205,10 @@ psutil-home-assistant pymicro-vad pynacl - pyserial pyspeex-noise pyturbojpeg securetar + serialx sqlalchemy zeroconf ]; @@ -1229,6 +1231,11 @@ "denon" = ps: with ps; [ ]; + "denon_rs232" = + ps: with ps; [ + aiousbwatcher + serialx + ]; # missing inputs: denon-rs232 "denonavr" = ps: with ps; [ denonavr @@ -1334,6 +1341,9 @@ "door" = ps: with ps; [ ]; + "doorbell" = + ps: with ps; [ + ]; "doorbird" = ps: with ps; [ doorbirdpy @@ -1364,8 +1374,8 @@ mutagen py-dormakaba-dkey pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "downloader" = @@ -1381,13 +1391,21 @@ dropmqttapi paho-mqtt ]; + "dropbox" = + ps: with ps; [ + aiohasupervisor + cronsim + securetar + ]; # missing inputs: python-dropbox-api "droplet" = ps: with ps; [ pydroplet ]; "dsmr" = ps: with ps; [ + aiousbwatcher dsmr-parser + serialx ]; "dsmr_reader" = ps: with ps; [ @@ -1400,6 +1418,9 @@ "duckdns" = ps: with ps; [ ]; + "duco" = + ps: with ps; [ + ]; # missing inputs: python-duco-client "dunehd" = ps: with ps; [ pdunehd @@ -1425,6 +1446,9 @@ ps: with ps; [ aioeafm ]; + "earn_e_p1" = + ps: with ps; [ + ]; # missing inputs: earn-e-p1 "eastron" = ps: with ps; [ ]; @@ -1595,7 +1619,7 @@ ps: with ps; [ aiousbwatcher enocean-async - pyserial + serialx ]; "enphase_envoy" = ps: with ps; [ @@ -1652,8 +1676,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "escea" = @@ -1683,8 +1707,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "essent" = @@ -1722,10 +1746,22 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; + "eurotronic_cometblue" = + ps: with ps; [ + aiousbwatcher + bleak + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + habluetooth + serialx + ]; # missing inputs: eurotronic-cometblue-ha "event" = ps: with ps; [ ]; @@ -1873,8 +1909,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "fleetgo" = @@ -2027,6 +2063,9 @@ paho-mqtt python-fullykiosk ]; + "fumis" = + ps: with ps; [ + ]; # missing inputs: fumis "futurenow" = ps: with ps; [ pyfnip @@ -2071,8 +2110,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "gate" = @@ -2284,8 +2323,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "govee_light_local" = @@ -2477,7 +2516,6 @@ aiousbwatcher ha-silabs-firmware-client psutil-home-assistant - pyserial serialx universal-silabs-flasher ]; @@ -2487,7 +2525,6 @@ aiousbwatcher ha-silabs-firmware-client psutil-home-assistant - pyserial serialx universal-silabs-flasher ]; @@ -2496,7 +2533,6 @@ aiohasupervisor aiousbwatcher ha-silabs-firmware-client - pyserial serialx universal-silabs-flasher ]; @@ -2506,7 +2542,6 @@ aiousbwatcher ha-silabs-firmware-client psutil-home-assistant - pyserial serialx universal-silabs-flasher ]; @@ -2516,7 +2551,6 @@ aiousbwatcher ha-silabs-firmware-client psutil-home-assistant - pyserial serialx universal-silabs-flasher ]; @@ -2560,9 +2594,9 @@ mutagen pymicro-vad pyroute2 - pyserial pyspeex-noise python-otbr-api + serialx zeroconf ]; "homematic" = @@ -2589,6 +2623,10 @@ ps: with ps; [ aiosomecomfort ]; + "honeywell_string_lights" = + ps: with ps; [ + rf-protocols + ]; "horizon" = ps: with ps; [ horimote @@ -2641,8 +2679,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "huisbaasje" = @@ -2690,8 +2728,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "huum" = @@ -2750,8 +2788,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "icloud" = @@ -2781,8 +2819,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "idrive_e2" = @@ -2868,8 +2906,8 @@ mutagen py-improv-ble-client pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "incomfort" = @@ -2921,8 +2959,8 @@ inkbird-ble mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "input_boolean" = @@ -2952,7 +2990,7 @@ home-assistant-frontend insteon-frontend-home-assistant pyinsteon - pyserial + serialx ]; "integration" = ps: with ps; [ @@ -3040,8 +3078,8 @@ mutagen pymicro-vad pynecil - pyserial pyspeex-noise + serialx zeroconf ]; "isal" = @@ -3169,8 +3207,8 @@ kegtron-ble mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "kentuckypower" = @@ -3204,10 +3242,13 @@ mutagen pymicro-vad pymicrobot - pyserial pyspeex-noise + serialx zeroconf ]; + "kiosker" = + ps: with ps; [ + ]; # missing inputs: kiosker-python-api "kira" = ps: with ps; [ pykira @@ -3283,8 +3324,8 @@ mutagen pykulersky pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "kwb" = @@ -3325,8 +3366,8 @@ mutagen pylamarzocco pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "lametric" = @@ -3336,7 +3377,7 @@ "landisgyr_heat_meter" = ps: with ps; [ aiousbwatcher - pyserial + serialx ultraheat-api ]; "lannouncer" = @@ -3386,8 +3427,8 @@ ld2410-ble mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "leaone" = @@ -3413,8 +3454,8 @@ leaone-ble mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "led_ble" = @@ -3440,8 +3481,8 @@ led-ble mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "legrand" = @@ -3755,8 +3796,8 @@ medcom-ble mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "media_extractor" = @@ -3807,8 +3848,8 @@ melnor-bluetooth mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "meraki" = @@ -3926,8 +3967,8 @@ moat-ble mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "mobile_app" = @@ -3960,7 +4001,7 @@ ps: with ps; [ aiousbwatcher phone-modem - pyserial + serialx ]; "modern_forms" = ps: with ps; [ @@ -4017,8 +4058,8 @@ mopeka-iot-ble mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "motion" = @@ -4052,8 +4093,8 @@ motionblindsble mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "motioneye" = @@ -4329,6 +4370,10 @@ ps: with ps; [ aionotion ]; + "novy_cooker_hood" = + ps: with ps; [ + rf-protocols + ]; "nrgkick" = ps: with ps; [ nrgkick-api @@ -4430,6 +4475,9 @@ ps: with ps; [ pyombi ]; + "omie" = + ps: with ps; [ + ]; # missing inputs: pyomie "omnilogic" = ps: with ps; [ omnilogic @@ -4545,8 +4593,8 @@ mutagen py-opendisplay pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "openerz" = @@ -4600,8 +4648,7 @@ ]; "opnsense" = ps: with ps; [ - pyopnsense - ]; + ]; # missing inputs: aiopnsense "opower" = ps: with ps; [ fnv-hash-fast @@ -4636,8 +4683,8 @@ mutagen oralb-ble pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "oru" = @@ -4667,7 +4714,6 @@ ifaddr psutil-home-assistant pyroute2 - pyserial python-otbr-api serialx universal-silabs-flasher @@ -4809,10 +4855,6 @@ "picotts" = ps: with ps; [ ]; - "pilight" = - ps: with ps; [ - pilight - ]; "pinecil" = ps: with ps; [ ]; @@ -4938,8 +4980,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx zeroconf ]; "probe_plus" = @@ -4965,8 +5007,8 @@ mutagen pymicro-vad pyprobeplus - pyserial pyspeex-noise + serialx zeroconf ]; "profiler" = @@ -5101,9 +5143,9 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise qingping-ble + serialx zeroconf ]; "qld_bushfire" = @@ -5170,6 +5212,10 @@ pycountry radios ]; + "radio_frequency" = + ps: with ps; [ + rf-protocols + ]; "radiotherm" = ps: with ps; [ radiotherm @@ -5191,7 +5237,7 @@ ps: with ps; [ aioraven aiousbwatcher - pyserial + serialx ]; "rainmachine" = ps: with ps; [ @@ -5222,9 +5268,9 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise rapt-ble + serialx zeroconf ]; "raspberry_pi" = @@ -5333,7 +5379,9 @@ ]; "rfxtrx" = ps: with ps; [ + aiousbwatcher pyrfxtrx + serialx ]; "rhasspy" = ps: with ps; [ @@ -5396,7 +5444,7 @@ ps: with ps; [ aiousbwatcher momonga - pyserial + serialx ]; "rova" = ps: with ps; [ @@ -5419,10 +5467,12 @@ "russound_rio" = ps: with ps; [ aiorussound + aiousbwatcher + serialx ]; "russound_rnet" = ps: with ps; [ - russound + aiorussound ]; "ruuvi_gateway" = ps: with ps; [ @@ -5435,7 +5485,7 @@ bluetooth-data-tools dbus-fast habluetooth - pyserial + serialx ]; "ruuvitag_ble" = ps: with ps; [ @@ -5459,9 +5509,9 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise ruuvitag-ble + serialx zeroconf ]; "rympro" = @@ -5587,9 +5637,9 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise sensirion-ble + serialx zeroconf ]; "sensor" = @@ -5623,9 +5673,9 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise sensorpro-ble + serialx zeroconf ]; "sensorpush" = @@ -5650,9 +5700,9 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise sensorpush-ble + serialx zeroconf ]; "sensorpush_cloud" = @@ -5674,7 +5724,7 @@ ]; "serial" = ps: with ps; [ - pyserial-asyncio-fast + serialx ]; "serial_pm" = ps: with ps; [ @@ -5722,7 +5772,7 @@ dbus-fast habluetooth ifaddr - pyserial + serialx ]; "shodan" = ps: with ps; [ @@ -5911,9 +5961,9 @@ ifaddr mutagen pymicro-vad - pyserial pysnooz pyspeex-noise + serialx zeroconf ]; "solaredge" = @@ -6157,9 +6207,9 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise pyswitchbot + serialx zeroconf ]; "switchbot_cloud" = @@ -6291,6 +6341,11 @@ python-telegram-bot ] ++ python-telegram-bot.optional-dependencies.socks; + "teleinfo" = + ps: with ps; [ + aiousbwatcher + serialx + ]; # missing inputs: pyteleinfo "tellduslive" = ps: with ps; [ tellduslive @@ -6363,8 +6418,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx thermobeacon-ble zeroconf ]; @@ -6393,8 +6448,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx thermopro-ble zeroconf ]; @@ -6460,8 +6515,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx tilt-ble zeroconf ]; @@ -6502,7 +6557,7 @@ bluetooth-data-tools dbus-fast habluetooth - pyserial + serialx togrill-bluetooth ]; "tolo" = @@ -6702,15 +6757,21 @@ "unifi" = ps: with ps; [ aiounifi + unifi-discovery ]; "unifi_access" = ps: with ps; [ py-unifi-access + unifi-discovery ]; "unifi_direct" = ps: with ps; [ unifi-ap ]; + "unifi_discovery" = + ps: with ps; [ + unifi-discovery + ]; "unifiled" = ps: with ps; [ unifiled @@ -6767,7 +6828,7 @@ "usb" = ps: with ps; [ aiousbwatcher - pyserial + serialx ]; "usgs_earthquakes_feed" = ps: with ps; [ @@ -6809,7 +6870,7 @@ "velbus" = ps: with ps; [ aiousbwatcher - pyserial + serialx velbus-aio ]; "velux" = @@ -6873,11 +6934,15 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx victron-ble-ha-parser zeroconf ]; + "victron_gx" = + ps: with ps; [ + victron-mqtt + ]; "victron_remote_monitoring" = ps: with ps; [ victron-vrm @@ -6959,6 +7024,9 @@ ]; "waterfurnace" = ps: with ps; [ + fnv-hash-fast + psutil-home-assistant + sqlalchemy waterfurnace ]; "watergate" = @@ -7170,8 +7238,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx xiaomi-ble zeroconf ]; @@ -7238,8 +7306,8 @@ ifaddr mutagen pymicro-vad - pyserial pyspeex-noise + serialx yalexs-ble zeroconf ]; @@ -7327,7 +7395,6 @@ aiohasupervisor aiousbwatcher ha-silabs-firmware-client - pyserial serialx universal-silabs-flasher zha @@ -7365,7 +7432,7 @@ ps: with ps; [ aiohasupervisor aiousbwatcher - pyserial + serialx zwave-js-server-python ]; "zwave_me" = @@ -7503,6 +7570,7 @@ "cert_expiry" "chacon_dio" "chess_com" + "citybikes" "clicksend_tts" "climate" "cloud" @@ -7559,6 +7627,7 @@ "dlna_dms" "dnsip" "door" + "doorbell" "doorbird" "dormakaba_dkey" "downloader" @@ -7758,6 +7827,7 @@ "homewizard" "homeworks" "honeywell" + "honeywell_string_lights" "hr_energy_qube" "html5" "http" @@ -8007,6 +8077,7 @@ "notify" "notify_events" "notion" + "novy_cooker_hood" "nrgkick" "nsw_fuel_station" "nsw_rural_fire_service_feed" @@ -8050,7 +8121,6 @@ "opentherm_gw" "openuv" "openweathermap" - "opnsense" "opower" "oralb" "orvibo" @@ -8077,7 +8147,7 @@ "philips_js" "pi_hole" "picnic" - "pilight" + "picotts" "ping" "pjlink" "plaato" @@ -8128,6 +8198,7 @@ "rachio" "radarr" "radio_browser" + "radio_frequency" "radiotherm" "rainbird" "rainforest_eagle" @@ -8363,6 +8434,7 @@ "ukraine_alarm" "unifi" "unifi_access" + "unifi_discovery" "unifiprotect" "universal" "upb" @@ -8391,6 +8463,7 @@ "vesync" "vicare" "victron_ble" + "victron_gx" "victron_remote_monitoring" "vilfo" "vivotek" diff --git a/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix b/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix index c1097e4e0a84..2a64e89217f0 100644 --- a/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix +++ b/pkgs/servers/home-assistant/custom-components/daikin_onecta/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "jwillemsen"; domain = "daikin_onecta"; - version = "4.4.9"; + version = "4.5.1"; src = fetchFromGitHub { owner = "jwillemsen"; repo = "daikin_onecta"; tag = "v${version}"; - hash = "sha256-Ra1KL4t3aNECQuAfdqaIOctIb0qvrk43+bAh3YlpGbM="; + hash = "sha256-7icy9MAeVPrA2j+d/kJvZTv1LE5BPzWfjHDMC4iKxTk="; }; meta = { diff --git a/pkgs/servers/home-assistant/custom-components/ecoflow_cloud/package.nix b/pkgs/servers/home-assistant/custom-components/ecoflow_cloud/package.nix index 80b9059824d1..9d5678e42f20 100644 --- a/pkgs/servers/home-assistant/custom-components/ecoflow_cloud/package.nix +++ b/pkgs/servers/home-assistant/custom-components/ecoflow_cloud/package.nix @@ -11,15 +11,19 @@ buildHomeAssistantComponent rec { owner = "tolwi"; domain = "ecoflow_cloud"; - version = "1.3.0"; + version = "1.4.1"; src = fetchFromGitHub { owner = "tolwi"; repo = "hassio-ecoflow-cloud"; tag = "v${version}"; - hash = "sha256-CVm5+zLWN/ayhHRNFUr4PLwedwf4GJXvLOFgrh2qxAc="; + hash = "sha256-vN+po7S+/QxAHnVHJ0EpQGoxXBmcKNMRTCOPdeZ0f90="; }; + ignoreVersionRequirement = [ + "protobuf" + ]; + dependencies = [ jsonpath-ng paho-mqtt diff --git a/pkgs/servers/home-assistant/custom-components/nest_protect/package.nix b/pkgs/servers/home-assistant/custom-components/nest_protect/package.nix index 7dd9d4aa268c..f5258f819c02 100644 --- a/pkgs/servers/home-assistant/custom-components/nest_protect/package.nix +++ b/pkgs/servers/home-assistant/custom-components/nest_protect/package.nix @@ -6,13 +6,13 @@ buildHomeAssistantComponent rec { owner = "iMicknl"; domain = "nest_protect"; - version = "0.4.2"; + version = "0.4.4"; src = fetchFromGitHub { inherit owner; repo = "ha-nest-protect"; tag = "v${version}"; - hash = "sha256-3ydysyhXi2ucExNGH3S5HIUN7iUIC4ysjuXKDyqq/hs="; + hash = "sha256-WpQKpYVtmyqLWqhyDsImWvpfWagVWe50zG0RsmeU/8Q="; }; # AttributeError: 'async_generator' object has no attribute 'data' diff --git a/pkgs/servers/home-assistant/custom-components/opensprinkler/package.nix b/pkgs/servers/home-assistant/custom-components/opensprinkler/package.nix index 769077ec36e0..0ac6d9eee64b 100644 --- a/pkgs/servers/home-assistant/custom-components/opensprinkler/package.nix +++ b/pkgs/servers/home-assistant/custom-components/opensprinkler/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "vinteo"; domain = "opensprinkler"; - version = "1.5.4"; + version = "1.5.5"; src = fetchFromGitHub { owner = "vinteo"; repo = "hass-opensprinkler"; tag = "v${version}"; - hash = "sha256-i7RQBkHxzxcOyBJ7dOALRqJjef0eb/rlYiSjZKluH+A="; + hash = "sha256-P+VSnMioZGwdsQ053uNiqpZzrtDFPb80FQaKqr3pOT4="; }; dependencies = [ 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 8acda13ede88..e5cdab23eaae 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.18.0"; + version = "6.18.1"; src = fetchFromGitHub { owner = "amitfin"; repo = "oref_alert"; tag = "v${version}"; - hash = "sha256-apdtHRJEAKtDPsun9QfXTkO1iASmx8ip1uvB4aXxzbE="; + hash = "sha256-Ev+5BhLkqxluPf86tDgoK/YQD22mMmBWm/LHaUamxX8="; }; # Do not publish cards, currently broken, attempting to write to nix store. diff --git a/pkgs/servers/home-assistant/custom-components/pirate-weather/package.nix b/pkgs/servers/home-assistant/custom-components/pirate-weather/package.nix index 56aa2efd0db9..5d893d90bef8 100644 --- a/pkgs/servers/home-assistant/custom-components/pirate-weather/package.nix +++ b/pkgs/servers/home-assistant/custom-components/pirate-weather/package.nix @@ -12,13 +12,13 @@ buildHomeAssistantComponent rec { owner = "Pirate-Weather"; domain = "pirateweather"; - version = "1.8.8"; + version = "1.8.9"; src = fetchFromGitHub { inherit owner; repo = "pirate-weather-ha"; tag = "v${version}"; - hash = "sha256-lcI+ClZ6iwkzI88fzxyWvbILMfLwMgHu0WJSSWGM7q0="; + hash = "sha256-QcTRLQ/jFH3lacnFu/cIGyAf74HaoG35iGKf8FQIlVo="; }; nativeCheckInputs = [ diff --git a/pkgs/servers/home-assistant/custom-components/powercalc/package.nix b/pkgs/servers/home-assistant/custom-components/powercalc/package.nix index e51cbf410e3a..b3b4fb99e2d4 100644 --- a/pkgs/servers/home-assistant/custom-components/powercalc/package.nix +++ b/pkgs/servers/home-assistant/custom-components/powercalc/package.nix @@ -2,6 +2,7 @@ lib, buildHomeAssistantComponent, fetchFromGitHub, + fetchpatch, # dependencies numpy, @@ -26,6 +27,14 @@ buildHomeAssistantComponent rec { hash = "sha256-Tm9h6ZHByuiM9XZz3D1TZR3ISbb16l0K1Vy8sJxI4+s="; }; + patches = [ + # Fix compatibility with Home-Assistant 2026.5.0 + (fetchpatch { + url = "https://github.com/bramstroker/homeassistant-powercalc/commit/3d5e162954c21adfd9251c4d8e21872e66680454.patch"; + hash = "sha256-7InjKxT8gPiR2IvLbA4oZpkgPRJbQY39SF4YNPilp4k="; + }) + ]; + dependencies = [ numpy ]; nativeCheckInputs = [ diff --git a/pkgs/servers/home-assistant/custom-components/prometheus_sensor/package.nix b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/package.nix index 3fc46de15789..bc43a7c2a036 100644 --- a/pkgs/servers/home-assistant/custom-components/prometheus_sensor/package.nix +++ b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "mweinelt"; domain = "prometheus_sensor"; - version = "1.2.1"; + version = "1.3.0"; src = fetchFromGitHub { owner = "mweinelt"; repo = "ha-prometheus-sensor"; tag = version; - hash = "sha256-uXPUBNxF9DnVBTIPYS/3P1JK78Vozodmf7Ds7C6p+nQ="; + hash = "sha256-uIC/yGqjigVURZYVMMLY33VqRbadSCqTtT0Qtaq71uc="; }; meta = { 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 f55ad96d6971..4a86f2522f22 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.4.2"; + version = "2026.5.0"; src = fetchFromGitHub { inherit owner; repo = "tuya-local"; tag = version; - hash = "sha256-yxnWiAsI3nJrugnxI6XE4s2AIK/YvUIDfLY7BINzup4="; + hash = "sha256-WhS8qSiHSQYK+83xCk4C9hud6R0/PNSN9XPeW4uB1fc="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/package.nix b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/package.nix index 26521583efd7..6d3edf24d1f9 100644 --- a/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/package.nix +++ b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/package.nix @@ -20,13 +20,13 @@ buildHomeAssistantComponent rec { owner = "mampfes"; domain = "waste_collection_schedule"; - version = "2.21.0"; + version = "2.22.0"; src = fetchFromGitHub { inherit owner; repo = "hacs_waste_collection_schedule"; tag = "v${version}"; - hash = "sha256-QUXtozk5FIUsXDJfb1GHGYa1LKh+CCARAsPKkX9ok34="; + hash = "sha256-eUpfeWfMHsBBlDJpq0lBo1aQ7VF3THTXQTXDaXL5+tQ="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/yoto_ha/package.nix b/pkgs/servers/home-assistant/custom-components/yoto_ha/package.nix index 40b65071c3a8..e1b2181412b9 100644 --- a/pkgs/servers/home-assistant/custom-components/yoto_ha/package.nix +++ b/pkgs/servers/home-assistant/custom-components/yoto_ha/package.nix @@ -8,13 +8,13 @@ buildHomeAssistantComponent rec { owner = "cdnninja"; domain = "yoto"; - version = "3.1.1"; + version = "3.2.0"; src = fetchFromGitHub { owner = "cdnninja"; repo = "yoto_ha"; tag = "v${version}"; - hash = "sha256-187rLCHKYS8w7i+q99K1vP3ry8Z7Tbg8F3c95QPKTq8="; + hash = "sha256-t//Ox8Ytwjp7kTdz8k1QZyDyejW+mZBt1auncikBYb0="; }; dependencies = [ 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 4e56645c71d1..1d3bf1706612 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 @@ -10,19 +10,19 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "custom-sidebar"; - version = "12.0.0"; + version = "14.0.0"; src = fetchFromGitHub { owner = "elchininet"; repo = "custom-sidebar"; tag = "v${finalAttrs.version}"; - hash = "sha256-U/HjDnHKAlUVAMbiA4AUPSasLJQbSeuvq/e4oR/dTcI="; + hash = "sha256-2CQcY5/Cb3IPuI7cL28t7iZCH3kD21equBW5BL6w8TU="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 3; - hash = "sha256-gUVETXrl5rcXvn0YeKLfM+eErUpMxCuVlAOoyqQkLXs="; + hash = "sha256-gYNCjCeAt6LP4tZE4ufiQu7OG2ujWydm4etcGQxMxcU="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/flower-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/flower-card/package.nix index 6115a2cc6be1..a3f4b870d604 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/flower-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/flower-card/package.nix @@ -6,13 +6,13 @@ buildNpmPackage (finalAttrs: { pname = "flower-card"; - version = "2026.2.0"; + version = "2026.4.1"; src = fetchFromGitHub { owner = "olen"; repo = "lovelace-flower-card"; tag = "v${finalAttrs.version}"; - hash = "sha256-EPahVDglhKjtPwIdu5HfUZ6KhMtTu/9YfY4VdsN+vyc="; + hash = "sha256-5v5xd2DSTg1meRr4ORAmZbtfBSNM1z/3Y5Y/vI20R4s="; }; npmDepsHash = "sha256-XGKGoFdbeUIx12ZGP8o2oSTJHVa+PZ6jwYSWiqjtSuM="; 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 5fd45f587fa7..7b29dd502564 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 @@ -10,19 +10,19 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "kiosk-mode"; - version = "11.0.0"; + version = "13.1.0"; src = fetchFromGitHub { owner = "nemesisre"; repo = "kiosk-mode"; tag = "v${finalAttrs.version}"; - hash = "sha256-aAZkqTSzH3JXLhp7QGfTYLTMLCe2TrqvonPQrVyeC7w="; + hash = "sha256-IfVV08WwFovNCgs6d3DOltEzF7Ox0w4B8G237Ma3ayY="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 3; - hash = "sha256-aubBpCupXGemYmeO+Sao9nsUtCm01M7fALbpd4qe7cA="; + hash = "sha256-k7kXZ4yFe3As1IGijrmJfgqrMoO2Yi+PrNapuq8Ow3Y="; }; 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 d321b96a1d20..697aad0e1f3b 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.8"; + version = "2.1.9"; src = fetchFromGitHub { owner = "Nerwyn"; repo = "material-you-utilities"; tag = version; - hash = "sha256-yfwZBkrfTmQRyzzajBhmuyxPkJ4fNeIner4TJV49rzo="; + hash = "sha256-mifpvFGuF6rUPReab+FBlzP1eeCiWPt7In76x1Ar2wQ="; }; - npmDepsHash = "sha256-EIkEzy1UZ+EU+734LZJlU7yRrix97I2Uc+/ghtMRVv0="; + npmDepsHash = "sha256-/2YU5AVXfvardF1EcWjBcq8UXjXh/flH9BjhrTLNzyA="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/package.nix index ad884ec26521..17cd8143f97e 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "mushroom"; - version = "5.0.12"; + version = "5.1.1"; src = fetchFromGitHub { owner = "piitaya"; repo = "lovelace-mushroom"; rev = "v${version}"; - hash = "sha256-zZxUctseYDG3S8GG/xMxQWqt0yOC+1CD21XfEg7nTF4="; + hash = "sha256-nAEpbf7FkWUxLVyG2zQw+LKA5umffgk6I5/9PyXh2lo="; }; - npmDepsHash = "sha256-CnP5LvqUzo2jlLzFpYOVjZiZO726Nbv4uDBXAC/7KlI="; + npmDepsHash = "sha256-x149dkRilon1PL+V0M9gwAjKUXu4g2adobAatRXj+YY="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/navbar-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/navbar-card/package.nix index 1341511ebfa4..59facd75fa96 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/navbar-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/navbar-card/package.nix @@ -9,13 +9,13 @@ let pname = "navbar-card"; - version = "1.3.0"; + version = "1.6.0"; src = fetchFromGitHub { owner = "joseluis9595"; repo = "lovelace-navbar-card"; tag = "v${version}"; - hash = "sha256-lFsQPyIMhyVHCNwRiGXVu8bMvmlfCI7KTu2Hk90agIE="; + hash = "sha256-ngKsH83nrDglRQBdQhJzMC8/TRV+uL21vi2ovsLEPuY="; }; # Create node_modules as a separate derivation @@ -57,7 +57,7 @@ let # Required else we get errors that our fixed-output derivation references store paths dontFixup = true; - outputHash = "sha256-3IGzPEUPVnlD/K8a3Mp53vBEkTdlvrEYNpWCA/rIBwc="; + outputHash = "sha256-F8nNDBl/BYhtwggaZd61oibYE4j5u7WPVjLG8P4UEcc="; outputHashAlgo = "sha256"; outputHashMode = "recursive"; }; 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 ff130ee44711..17ddb9f32e08 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.14"; + version = "4.0.17"; src = fetchFromGitHub { owner = "nielsfaber"; repo = "scheduler-card"; tag = "v${version}"; - hash = "sha256-cW46bxD50p1kkCP729GsUDMO+iLkXJcil3lNgjrCsh0="; + hash = "sha256-S3pJr0Cz1aZVeu3AuVzRz6glY5a0buGibsPMNuHFS8w="; }; postPatch = '' diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix index 7af5928e7842..3651ed670089 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "universal-remote-card"; - version = "4.10.10"; + version = "4.11.0"; src = fetchFromGitHub { owner = "Nerwyn"; repo = "android-tv-card"; rev = version; - hash = "sha256-2qtxohJLtccku1fQvxCV97QbZUwvn5FGvsuaunvsViA="; + hash = "sha256-EaZ85XPwsz+XPXc/bxep+sl7txp/K96tgsZouMOd3hg="; }; - npmDepsHash = "sha256-c5A+GmMkqxgL8fQyDp8qul/cW40iTbgHf7O/iR0F2bY="; + npmDepsHash = "sha256-RtCUWxwYUqJLtYmpaNReMYDXrvQtOny5O+LjbRhfrsI="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 1e4e7db2cc6b..2e4c394b2ea5 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -223,6 +223,15 @@ let doCheck = false; }); + serialx = super.serialx.overridePythonAttrs (oldAttrs: { + # many components use the serialx[esphome] implicitly + dependencies = oldAttrs.dependencies or [ ] ++ oldAttrs.optional-dependencies.esphome; + disabledTests = oldAttrs.disabledTests or [ ] ++ [ + # network access, only runs with esphome extra + "test_connect_timeout_raises_timeout_error" + ]; + }); + # internal python packages only consumed by home-assistant itself hass-web-proxy-lib = self.callPackage ./python-modules/hass-web-proxy-lib { }; home-assistant-frontend = self.callPackage ./frontend.nix { }; @@ -253,7 +262,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2026.4.4"; + hassVersion = "2026.5.0"; in python.pkgs.buildPythonApplication rec { @@ -274,13 +283,13 @@ python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; tag = version; - hash = "sha256-x2BF1N1LDZAnryOkGy/Pru+mlw3CaOgnrmdQMg0uo7k="; + hash = "sha256-RrXjrwl6BQzjilKluAM8oVihmZqLBpVLWN/OhaJY+1c="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-EPmX+3wAsvirvjDzQ0aUKGZbaNWh5mX+7iuCfZ2BUhI="; + hash = "sha256-SXsJqYETHp92ZC/I2jS2ZlerUVVTugFdbOhLCxoLJ9I="; }; build-system = with python.pkgs; [ @@ -296,15 +305,15 @@ python.pkgs.buildPythonApplication rec { # leave this in, so users don't have to constantly update their downstream patch handling patches = [ - # https://github.com/home-assistant/core/pull/165143 - ./pyjwt-2.11.patch - # Follow symlinks in /var/lib/hass/www ./patches/static-follow-symlinks.patch # Copy default blueprints without preserving permissions ./patches/default-blueprint-permissions.patch + # No scaring our users about not running in a docker or a venv + ./patches/pythonpath-is-a-venv.patch + # Patch path to ffmpeg binary (replaceVars ./patches/ffmpeg-path.patch { ffmpeg = "${lib.getExe ffmpeg-headless}"; @@ -418,6 +427,7 @@ python.pkgs.buildPythonApplication rec { "frontend" "hue" "mobile_app" + "radio_frequency" ]; pytestFlags = [ @@ -460,7 +470,7 @@ python.pkgs.buildPythonApplication rec { export HOME="$TEMPDIR" export PYTHONASYNCIODEBUG=1 - # the tests require the existance of a media dir + # the tests require the existence of a media dir mkdir "$NIX_BUILD_TOP"/media # put ping binary into PATH, e.g. for wake_on_lan tests diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 09f3c12a4dec..52f9ad852ec2 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 = "20260325.8"; + version = "20260429.3"; format = "wheel"; src = fetchPypi { @@ -17,7 +17,7 @@ buildPythonPackage (finalAttrs: { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-+zM6D+mBsBNrx0oj99t83iJb2A8tz6OGe01LTWFvf5s="; + hash = "sha256-P4UMMscDsoX1Cdki0pKkZCcv5qQUKTIk9qVt3ZirQts="; }; # 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 14196e478fec..cf44ab63cb3b 100644 --- a/pkgs/servers/home-assistant/intents.nix +++ b/pkgs/servers/home-assistant/intents.nix @@ -21,7 +21,7 @@ buildPythonPackage (finalAttrs: { pname = "home-assistant-intents"; - version = "2026.3.24"; + version = "2026.5.5"; pyproject = true; src = fetchFromGitHub { @@ -29,7 +29,7 @@ buildPythonPackage (finalAttrs: { repo = "intents-package"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-nwKMg5O/QnYFFviwg1vC++NoQfMpHHK0WoJaxa1xDwE="; + hash = "sha256-R6PPZSiDiFvB+lNxyuIHwMIgpQvVI0oqrucnw4jnYNU="; }; build-system = [ diff --git a/pkgs/servers/home-assistant/patches/pythonpath-is-a-venv.patch b/pkgs/servers/home-assistant/patches/pythonpath-is-a-venv.patch new file mode 100644 index 000000000000..7b64ce9f74c2 --- /dev/null +++ b/pkgs/servers/home-assistant/patches/pythonpath-is-a-venv.patch @@ -0,0 +1,17 @@ +diff --git a/homeassistant/util/package.py b/homeassistant/util/package.py +index 21149f43cb2..faf3cdbd31d 100644 +--- a/homeassistant/util/package.py ++++ b/homeassistant/util/package.py +@@ -32,8 +32,10 @@ class InstalledPackage(TypedDict): + def is_virtual_env() -> bool: + """Return if we run in a virtual environment.""" + # Check supports venv && virtualenv +- return getattr(sys, "base_prefix", sys.prefix) != sys.prefix or hasattr( +- sys, "real_prefix" ++ return ( ++ getattr(sys, "base_prefix", sys.prefix) != sys.prefix ++ or hasattr(sys, "real_prefix") ++ or "PYTHONPATH" in os.environ + ) + + diff --git a/pkgs/servers/home-assistant/pyjwt-2.11.patch b/pkgs/servers/home-assistant/pyjwt-2.11.patch deleted file mode 100644 index bbcf97af3000..000000000000 --- a/pkgs/servers/home-assistant/pyjwt-2.11.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/homeassistant/auth/jwt_wrapper.py b/homeassistant/auth/jwt_wrapper.py -index 464df006f5f..0a9c7c4a2ec 100644 ---- a/homeassistant/auth/jwt_wrapper.py -+++ b/homeassistant/auth/jwt_wrapper.py -@@ -21,7 +21,9 @@ MAX_TOKEN_SIZE = 8192 - _VERIFY_KEYS = ("signature", "exp", "nbf", "iat", "aud", "iss", "sub", "jti") - - _VERIFY_OPTIONS: dict[str, Any] = {f"verify_{key}": True for key in _VERIFY_KEYS} | { -- "require": [] -+ "require": [], -+ "strict_aud": False, -+ "enforce_minimum_key_length": False, - } - _NO_VERIFY_OPTIONS = {f"verify_{key}": False for key in _VERIFY_KEYS} - -diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt -index b0ebcfd61d0..e4b36f04637 100644 ---- a/homeassistant/package_constraints.txt -+++ b/homeassistant/package_constraints.txt -@@ -54,7 +54,7 @@ paho-mqtt==2.1.0 - Pillow==12.1.1 - propcache==0.4.1 - psutil-home-assistant==0.0.1 --PyJWT==2.10.1 -+PyJWT==2.11.0 - pymicro-vad==1.0.1 - PyNaCl==1.6.2 - pyOpenSSL==25.3.0 -diff --git a/pyproject.toml b/pyproject.toml -index 86aeed2fb1e..239780d1dd7 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -59,7 +59,7 @@ dependencies = [ - "ifaddr==0.2.0", - "Jinja2==3.1.6", - "lru-dict==1.3.0", -- "PyJWT==2.10.1", -+ "PyJWT==2.11.0", - # PyJWT has loose dependency. We want the latest one. - "cryptography==46.0.5", - "Pillow==12.1.1", -diff --git a/requirements.txt b/requirements.txt -index bde0cd69e87..637ec0a9933 100644 ---- a/requirements.txt -+++ b/requirements.txt -@@ -40,7 +40,7 @@ packaging>=23.1 - Pillow==12.1.1 - propcache==0.4.1 - psutil-home-assistant==0.0.1 --PyJWT==2.10.1 -+PyJWT==2.11.0 - pymicro-vad==1.0.1 - pyOpenSSL==25.3.0 - pyspeex-noise==1.0.2 diff --git a/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix b/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix index e4b64247982f..3af655e51534 100644 --- a/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix +++ b/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "pytest-homeassistant-custom-component"; - version = "0.13.325"; + version = "0.13.329"; pyproject = true; disabled = pythonOlder "3.13"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "MatthewFlamm"; repo = "pytest-homeassistant-custom-component"; tag = version; - hash = "sha256-Rs3CZsQDL/gCgJzUwBEbAX56EUNugpmwxNAAQRK6Nvs="; + hash = "sha256-ZE/zBXWk/GXBQAJ94pBjrW2GTburiMqlvkcjCFi4NLU="; }; build-system = [ setuptools ]; diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index 8808bd8e31fe..44f1983a0620 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.4.4"; + version = "2026.5.0"; pyproject = true; disabled = python.version != home-assistant.python.version; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; tag = version; - hash = "sha256-ysVtXtiMmXmCq39cOO2Eh+YJN+SIi+Y4Y62+psJSkWM="; + hash = "sha256-awpDHL58GAO1Ijyg+wiSe/E+3XvNpN39GcSUj1cMuVY="; }; build-system = [ diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index aad0d44fd0d6..560976fff42c 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -11,13 +11,20 @@ let abode = getComponentDeps "camera"; agent_dvr = getComponentDeps "camera"; air_quality = getComponentDeps "camera" ++ getComponentDeps "conversation"; - alexa = getComponentDeps "cloud" ++ getComponentDeps "frontend" ++ getComponentDeps "stream"; + alexa = map getComponentDeps [ + "cloud" + "frontend" + "stream" + ]; android_ip_webcam = getComponentDeps "camera"; anthropic = getComponentDeps "ai_task" ++ getComponentDeps "openai_conversation"; assist_pipeline = getComponentDeps "frontend"; automation = getComponentDeps "frontend" ++ getComponentDeps "mobile_app"; axis = getComponentDeps "camera" ++ getComponentDeps "deconz"; blink = getComponentDeps "camera"; + bluetooth = getComponentDeps "switchbot"; + braviatv = getComponentDeps "ssdp"; + broadlink = getComponentDeps "radio_frequency"; bthome = getComponentDeps "frontend"; buienradar = getComponentDeps "camera"; camera = getComponentDeps "conversation" ++ getComponentDeps "stream"; @@ -39,7 +46,7 @@ let ]; emulated_kasa = getComponentDeps "camera" ++ getComponentDeps "conversation"; environment_canada = getComponentDeps "camera"; - esphome = getComponentDeps "camera"; + esphome = getComponentDeps "camera" ++ getComponentDeps "radio_frequency"; fan = getComponentDeps "conversation"; fish_audio = getComponentDeps "tts"; foscam = getComponentDeps "camera"; @@ -77,6 +84,7 @@ let image_processing = getComponentDeps "conversation"; intelliclima = getComponentDeps "intellifire"; intent = getComponentDeps "conversation"; + kitchen_sink = getComponentDeps "radio_frequency"; light = getComponentDeps "conversation"; local_file = getComponentDeps "camera"; locative = getComponentDeps "assist_pipeline" ++ getComponentDeps "camera"; @@ -87,6 +95,11 @@ let lutron_caseta = getComponentDeps "frontend"; mailgun = getComponentDeps "assist_pipeline" ++ getComponentDeps "camera"; marytts = getComponentDeps "tts"; + mastodon = map getComponentDeps [ + "ffmpeg" + "stream" + "tts" + ]; media_player = getComponentDeps "camera" ++ getComponentDeps "conversation"; microsoft = getComponentDeps "tts"; microsoft_face_detect = getComponentDeps "conversation"; @@ -113,6 +126,7 @@ let open_router = getComponentDeps "ai_task"; openai_conversation = getComponentDeps "camera"; openalpr_cloud = getComponentDeps "camera" ++ getComponentDeps "conversation"; + picotts = getComponentDeps "tts"; prosegur = getComponentDeps "camera"; prusalink = getComponentDeps "camera"; push = getComponentDeps "camera"; @@ -149,6 +163,7 @@ let tts = getComponentDeps "conversation"; tuya = getComponentDeps "camera"; twilio = getComponentDeps "assist_pipeline" ++ getComponentDeps "camera"; + unifi_discovery = getComponentDeps "unifiprotect"; unifiprotect = getComponentDeps "camera"; universal = getComponentDeps "camera" ++ getComponentDeps "conversation"; uvc = getComponentDeps "camera"; @@ -222,6 +237,14 @@ let # Translation not found for vacuum "test_raise_segment_changed_issue" ]; + homeassistant_sky_connect = [ + # 2026.5.0: after reload device is in loaded state instead of retry state + "test_usb_device_reactivity" + ]; + homeassistant_connect_zbt2 = [ + # 2026.5.0: after reload device is in loaded state instead of retry state + "test_usb_device_reactivity" + ]; roborock = [ # Translation not found for vacuum "test_clean_segments_mixed_maps" diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 6e18b1443885..d3e78632338b 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -379,6 +379,7 @@ mapAliases { pdfminer = throw "'pdfminer' has been renamed to/replaced by 'pdfminer-six'"; # Converted to throw 2025-10-29 pep257 = throw "'pep257' has been renamed to/replaced by 'pydocstyle'"; # Converted to throw 2025-10-29 percol = throw "percol has been removed because it hasn't been updated since 2019"; # added 2025-05-25 + pilight = throw "'pilight' has been removed, because it is unmaintained since 2019 and the integration was removed from Home Assistant."; # added 2026-05-06 pillow-avif-plugin = throw "'pillow-avif-plugin' has been removed because 'pillow' has native avif support since 11.3"; # added 2025-11-26 pizzapi = throw "pizzapi was removed because it no longer works"; # added 2025-12-03 pkuseg = throw "'pkuseg' has been removed because it was not supported on newer versions of Python"; # added 2026-01-20 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f375b5541ee2..f09928ddacb6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12528,8 +12528,6 @@ self: super: with self; { pikepdf = callPackage ../development/python-modules/pikepdf { }; - pilight = callPackage ../development/python-modules/pilight { }; - pilkit = callPackage ../development/python-modules/pilkit { }; pillow = callPackage ../development/python-modules/pillow {