diff --git a/pkgs/by-name/mu/music-assistant/package.nix b/pkgs/by-name/mu/music-assistant/package.nix index 69c5e8566c7a..c35d0addd85e 100644 --- a/pkgs/by-name/mu/music-assistant/package.nix +++ b/pkgs/by-name/mu/music-assistant/package.nix @@ -12,7 +12,34 @@ let python = python3.override { self = python; packageOverrides = self: super: { + aiojellyfin = super.aiojellyfin.overridePythonAttrs (oldAttrs: rec { + version = "0.10.1"; + + src = fetchFromGitHub { + owner = "Jc2k"; + repo = "aiojellyfin"; + tag = "v${version}"; + hash = "sha256-A+uvM1/7HntRMIdknfHr0TMGIjHk7BCwsZopXdVoEO8="; + }; + }); + music-assistant-frontend = self.callPackage ./frontend.nix { }; + + music-assistant-models = super.music-assistant-models.overridePythonAttrs (oldAttrs: rec { + version = "1.1.4"; + + src = fetchFromGitHub { + owner = "music-assistant"; + repo = "models"; + tag = version; + hash = "sha256-keig18o32X53q/QcoaPO0o9AT4XTEZ+dQ3L6u6BVkLU="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "0.0.0" "${version}" + ''; + }); }; }; @@ -27,14 +54,14 @@ in python.pkgs.buildPythonApplication rec { pname = "music-assistant"; - version = "2.3.4"; + version = "2.3.6"; pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "server"; tag = version; - hash = "sha256-HV2R5zMTao8akUNZMGRKbU8BIxWmdjKFLsGMqA5cfBs="; + hash = "sha256-CSGpG1E4ou1TGz/S1mXFHyk49p7dStEwxUTB+xxfNEc="; }; patches = [ @@ -58,6 +85,7 @@ python.pkgs.buildPythonApplication rec { pythonRelaxDeps = [ "aiohttp" + "certifi" "colorlog" "cryptography" "mashumaro" @@ -111,6 +139,7 @@ python.pkgs.buildPythonApplication rec { aiojellyfin pytest-aiohttp pytest-cov-stub + pytest-timeout pytestCheckHook syrupy pytest-timeout @@ -118,8 +147,10 @@ python.pkgs.buildPythonApplication rec { ++ lib.flatten (lib.attrValues optional-dependencies); pytestFlagsArray = [ - # blocks in setup - "--deselect=tests/server/providers/jellyfin/test_init.py::test_initial_sync" + # blocks in poll() + "--deselect=tests/providers/jellyfin/test_init.py::test_initial_sync" + "--deselect=tests/core/test_server_base.py::test_start_and_stop_server" + "--deselect=tests/core/test_server_base.py::test_events" ]; pythonImportsCheck = [ "music_assistant" ]; diff --git a/pkgs/by-name/mu/music-assistant/providers.nix b/pkgs/by-name/mu/music-assistant/providers.nix index de18e7e5c543..52249470f2ab 100644 --- a/pkgs/by-name/mu/music-assistant/providers.nix +++ b/pkgs/by-name/mu/music-assistant/providers.nix @@ -1,7 +1,7 @@ # Do not edit manually, run ./update-providers.py { - version = "2.3.4"; + version = "2.3.6"; providers = { airplay = ps: [ ]; diff --git a/pkgs/development/python-modules/aioautomower/default.nix b/pkgs/development/python-modules/aioautomower/default.nix index afc678991bd8..5acf4f202843 100644 --- a/pkgs/development/python-modules/aioautomower/default.nix +++ b/pkgs/development/python-modules/aioautomower/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "aioautomower"; - version = "2025.1.0"; + version = "2025.1.1"; pyproject = true; disabled = pythonOlder "3.11"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "Thomas55555"; repo = "aioautomower"; tag = version; - hash = "sha256-MEZdYOpBAHmWidzq+7SpEFsHNYlSaIQ4utnGK9Y3/NE="; + hash = "sha256-5/NG3VMJfLOCQDqnP1LVRJlT08LDITlZZFb3aYjtm5I="; }; postPatch = '' diff --git a/pkgs/development/python-modules/aiodhcpwatcher/default.nix b/pkgs/development/python-modules/aiodhcpwatcher/default.nix index f7fde19dc644..88165579ca4d 100644 --- a/pkgs/development/python-modules/aiodhcpwatcher/default.nix +++ b/pkgs/development/python-modules/aiodhcpwatcher/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "aiodhcpwatcher"; - version = "1.0.2"; + version = "1.1.0"; pyproject = true; src = fetchFromGitHub { owner = "bdraco"; repo = "aiodhcpwatcher"; rev = "v${version}"; - hash = "sha256-KZL5DejzDmizvvMUNfkFltl1xXz+2jX/3DVj60x6xOk="; + hash = "sha256-/4x+FhKCEIpmFSTC5PIEe4QsYojrvx4Wlf7+WUvSHu8="; }; postPatch = '' @@ -49,7 +49,7 @@ buildPythonPackage rec { description = "Watch for DHCP packets with asyncio"; homepage = "https://github.com/bdraco/aiodhcpwatcher"; changelog = "https://github.com/bdraco/aiodhcpwatcher/blob/${src.rev}/CHANGELOG.md"; - license = licenses.gpl3Only; + license = licenses.asl20; maintainers = with maintainers; [ hexa ]; platforms = platforms.linux; }; diff --git a/pkgs/development/python-modules/aioharmony/default.nix b/pkgs/development/python-modules/aioharmony/default.nix index bbb42f62c715..a156ac6fd94c 100644 --- a/pkgs/development/python-modules/aioharmony/default.nix +++ b/pkgs/development/python-modules/aioharmony/default.nix @@ -3,31 +3,37 @@ aiohttp, async-timeout, buildPythonPackage, - fetchPypi, - pythonOlder, + fetchFromGitHub, + pytest-cov-stub, + pytestCheckHook, + setuptools, slixmpp, }: buildPythonPackage rec { pname = "aioharmony"; - version = "0.2.10"; - format = "setuptools"; + version = "0.4.1"; + pyproject = true; - disabled = pythonOlder "3.6"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-18+38QunEdEGdirQOT+528vYqiqDuUr/CWRQtXKf4rs="; + src = fetchFromGitHub { + owner = "Harmony-Libs"; + repo = "aioharmony"; + tag = "v${version}"; + hash = "sha256-X7oL4jokomNLhBEp4z8t11Yv/4pNDnqFurPmChXUU3o="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ aiohttp async-timeout slixmpp ]; - # aioharmony does not seem to include tests - doCheck = false; + nativeCheckInputs = [ + pytest-cov-stub + pytestCheckHook + ]; pythonImportsCheck = [ "aioharmony.harmonyapi" @@ -35,7 +41,7 @@ buildPythonPackage rec { ]; meta = with lib; { - homepage = "https://github.com/ehendrix23/aioharmony"; + homepage = "https://github.com/Harmony-Libs/aioharmony"; description = "Python library for interacting the Logitech Harmony devices"; mainProgram = "aioharmony"; license = licenses.asl20; diff --git a/pkgs/development/python-modules/aiohasupervisor/default.nix b/pkgs/development/python-modules/aiohasupervisor/default.nix index 500f3a848418..91f9a5229160 100644 --- a/pkgs/development/python-modules/aiohasupervisor/default.nix +++ b/pkgs/development/python-modules/aiohasupervisor/default.nix @@ -3,7 +3,7 @@ aiohttp, aioresponses, buildPythonPackage, - fetchPypi, + fetchFromGitHub, mashumaro, orjson, pytest-aiohttp, @@ -17,18 +17,21 @@ buildPythonPackage rec { pname = "aiohasupervisor"; - version = "0.2.2b5"; + version = "0.3.0"; pyproject = true; disabled = pythonOlder "3.12"; - src = fetchPypi { - inherit pname version; - hash = "sha256-EFVhR7L+1SVzXO4UpDrXA1EuPdeew55CV4ykO3K5BFI="; + src = fetchFromGitHub { + owner = "home-assistant-libs"; + repo = "python-supervisor-client"; + tag = version; + hash = "sha256-72YRaTlgRJ8liQ1q+Hx1iCG8Av7wWk61t306fYT9gss="; }; postPatch = '' substituteInPlace pyproject.toml \ + --replace-fail 'version = "0.0.0"' 'version = "${version}"' \ --replace-fail "setuptools~=68.0.0" "setuptools>=68.0.0" \ --replace-fail "wheel~=0.40.0" "wheel>=0.40.0" ''; @@ -56,6 +59,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "aiohasupervisor" ]; meta = { + changelog = "https://github.com/home-assistant-libs/python-supervisor-client/releases/tag/${src.tag}"; description = "Client for Home Assistant Supervisor"; homepage = "https://github.com/home-assistant-libs/python-supervisor-client"; license = lib.licenses.asl20; diff --git a/pkgs/development/python-modules/aiohttp-asyncmdnsresolver/default.nix b/pkgs/development/python-modules/aiohttp-asyncmdnsresolver/default.nix new file mode 100644 index 000000000000..0b62e0e4f723 --- /dev/null +++ b/pkgs/development/python-modules/aiohttp-asyncmdnsresolver/default.nix @@ -0,0 +1,52 @@ +{ + lib, + aiodns, + aiohttp, + buildPythonPackage, + fetchFromGitHub, + pytest-asyncio, + pytest-cov-stub, + pytestCheckHook, + pythonOlder, + setuptools, + zeroconf, +}: + +buildPythonPackage rec { + pname = "aiohttp-asyncmdnsresolver"; + version = "0.0.3"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "aio-libs"; + repo = "aiohttp-asyncmdnsresolver"; + rev = "v${version}"; + hash = "sha256-YtBPMhRbilLY0VV1qVIPBYT0w91MbsUo2nbr4ODgCZA="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiodns + aiohttp + zeroconf + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytest-cov-stub + pytestCheckHook + ]; + + pythonImportsCheck = [ "aiohttp_asyncmdnsresolver" ]; + + meta = { + description = "Module to resolve mDNS with aiohttp"; + homepage = "https://github.com/aio-libs/aiohttp-asyncmdnsresolver"; + changelog = "https://github.com/aio-libs/aiohttp-asyncmdnsresolver/blob/${src.rev}/CHANGES.rst"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/aiomodernforms/default.nix b/pkgs/development/python-modules/aiomodernforms/default.nix index 97e7f60eadf5..103c2e9fad03 100644 --- a/pkgs/development/python-modules/aiomodernforms/default.nix +++ b/pkgs/development/python-modules/aiomodernforms/default.nix @@ -22,6 +22,12 @@ buildPythonPackage rec { hash = "sha256-Vx51WBjjNPIfLlwMnAuwHnGNljhnjKkU0tWB9M9rjsw="; }; + postPatch = '' + substituteInPlace aiomodernforms/modernforms.py --replace-fail \ + "with async_timeout.timeout(self._request_timeout):" \ + "async with async_timeout.timeout(self._request_timeout):" + ''; + propagatedBuildInputs = [ aiohttp backoff diff --git a/pkgs/development/python-modules/aiomqtt/default.nix b/pkgs/development/python-modules/aiomqtt/default.nix index ec8b410dbc8a..79fd82561745 100644 --- a/pkgs/development/python-modules/aiomqtt/default.nix +++ b/pkgs/development/python-modules/aiomqtt/default.nix @@ -3,7 +3,7 @@ anyio, buildPythonPackage, fetchFromGitHub, - paho-mqtt_2, + paho-mqtt, poetry-core, poetry-dynamic-versioning, pytestCheckHook, @@ -31,7 +31,7 @@ buildPythonPackage rec { ]; dependencies = [ - paho-mqtt_2 + paho-mqtt typing-extensions ]; @@ -48,6 +48,7 @@ buildPythonPackage rec { ]; meta = with lib; { + broken = lib.versionOlder "paho-mqtt" "2"; description = "Idiomatic asyncio MQTT client, wrapped around paho-mqtt"; homepage = "https://github.com/sbtinstruments/aiomqtt"; changelog = "https://github.com/sbtinstruments/aiomqtt/blob/${src.tag}/CHANGELOG.md"; diff --git a/pkgs/development/python-modules/aiortsp/default.nix b/pkgs/development/python-modules/aiortsp/default.nix index b55813c468b4..1b055e92b8e2 100644 --- a/pkgs/development/python-modules/aiortsp/default.nix +++ b/pkgs/development/python-modules/aiortsp/default.nix @@ -37,6 +37,11 @@ buildPythonPackage rec { pytest-asyncio ]; + disabledTestPaths = [ + # these tests get stuck, could be pytest-asyncio compat issue + "tests/test_connection.py" + ]; + pythonImportsCheck = [ "aiortsp" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/aioswitcher/default.nix b/pkgs/development/python-modules/aioswitcher/default.nix index 3c28761217df..72d1c8dd8ac7 100644 --- a/pkgs/development/python-modules/aioswitcher/default.nix +++ b/pkgs/development/python-modules/aioswitcher/default.nix @@ -13,6 +13,7 @@ pytestCheckHook, pythonAtLeast, pythonOlder, + pytz, time-machine, }: @@ -52,6 +53,7 @@ buildPythonPackage rec { pytest-mockservers pytest-resource-path pytestCheckHook + pytz time-machine ]; diff --git a/pkgs/development/python-modules/aiousbwatcher/default.nix b/pkgs/development/python-modules/aiousbwatcher/default.nix new file mode 100644 index 000000000000..344ccde19b30 --- /dev/null +++ b/pkgs/development/python-modules/aiousbwatcher/default.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + asyncinotify, + pytest-asyncio, + pytest-cov-stub, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "aiousbwatcher"; + version = "1.1.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Bluetooth-Devices"; + repo = "aiousbwatcher"; + tag = "v${version}"; + hash = "sha256-M9MUaB3oHELHdtgaWri9nILnVQpF2FJvHrL68jXeOqg="; + }; + + build-system = [ setuptools ]; + + dependencies = [ asyncinotify ]; + + nativeCheckInputs = [ + pytest-asyncio + pytest-cov-stub + pytestCheckHook + ]; + + pythonImportsCheck = [ "aiousbwatcher" ]; + + meta = { + description = "Watch for USB devices to be plugged and unplugged"; + homepage = "https://github.com/Bluetooth-Devices/aiousbwatcher"; + changelog = "https://github.com/Bluetooth-Devices/aiousbwatcher/blob/${src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hexa ]; + }; +} diff --git a/pkgs/development/python-modules/aiowebostv/default.nix b/pkgs/development/python-modules/aiowebostv/default.nix index f0ebbc4cefbd..25961f216096 100644 --- a/pkgs/development/python-modules/aiowebostv/default.nix +++ b/pkgs/development/python-modules/aiowebostv/default.nix @@ -4,12 +4,12 @@ fetchFromGitHub, pythonOlder, setuptools, - websockets, + aiohttp, }: buildPythonPackage rec { pname = "aiowebostv"; - version = "0.4.2"; + version = "0.6.1"; pyproject = true; disabled = pythonOlder "3.9"; @@ -18,12 +18,12 @@ buildPythonPackage rec { owner = "home-assistant-libs"; repo = "aiowebostv"; tag = "v${version}"; - hash = "sha256-RrSEl/U6UzPoE2151opDe0QRmj6M6wAtsQyF4/dd8ek="; + hash = "sha256-x1lpqR/e3itkRc/Cs3opXF4NzOZ17g/IcHZeGo234aM="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ websockets ]; + dependencies = [ aiohttp ]; # Module doesn't have tests doCheck = false; diff --git a/pkgs/development/python-modules/anthropic/default.nix b/pkgs/development/python-modules/anthropic/default.nix index a1adc6a43fb5..3e549cd385c2 100644 --- a/pkgs/development/python-modules/anthropic/default.nix +++ b/pkgs/development/python-modules/anthropic/default.nix @@ -24,7 +24,7 @@ buildPythonPackage rec { pname = "anthropic"; - version = "0.43.1"; + version = "0.45.2"; pyproject = true; disabled = pythonOlder "3.8"; @@ -33,7 +33,7 @@ buildPythonPackage rec { owner = "anthropics"; repo = "anthropic-sdk-python"; tag = "v${version}"; - hash = "sha256-7tDCKFT+j6oRU4EeII4wAM1T5W4qAeg6HbBp3efO81A="; + hash = "sha256-/QuAUU0/nNhJZouCP0LVkCFMTiNdeze/fF+SZKD1Jis="; }; build-system = [ diff --git a/pkgs/development/python-modules/async-upnp-client/default.nix b/pkgs/development/python-modules/async-upnp-client/default.nix index adc809a8614d..61df5e9cef64 100644 --- a/pkgs/development/python-modules/async-upnp-client/default.nix +++ b/pkgs/development/python-modules/async-upnp-client/default.nix @@ -23,7 +23,7 @@ buildPythonPackage rec { pname = "async-upnp-client"; - version = "0.42.0"; + version = "0.43.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -32,7 +32,7 @@ buildPythonPackage rec { owner = "StevenLooman"; repo = "async_upnp_client"; tag = version; - hash = "sha256-xIa7QeflS7JxkPoV8KqFfuLfHPpnrBGLeOFSa17IHyk="; + hash = "sha256-oGnWo+QLSq2h6R4Iirwy9kE7U47PLYYSBMjx8/WWA0o="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix index afd111598693..6d5328814ac7 100644 --- a/pkgs/development/python-modules/bellows/default.nix +++ b/pkgs/development/python-modules/bellows/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "bellows"; - version = "0.42.6"; + version = "0.43.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "bellows"; tag = version; - hash = "sha256-qMODlsImGSvUkR+0jjrU23jJtM3c7JNJ7lY7Svli+ao="; + hash = "sha256-RbhFvoNYR4wHKKbbMKLP4Dsx0pIJnwBOP49waRHg0qk="; }; postPatch = '' diff --git a/pkgs/development/python-modules/bleak-esphome/default.nix b/pkgs/development/python-modules/bleak-esphome/default.nix index 68e159310ac7..9971fa3d41b7 100644 --- a/pkgs/development/python-modules/bleak-esphome/default.nix +++ b/pkgs/development/python-modules/bleak-esphome/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "bleak-esphome"; - version = "2.0.0"; + version = "2.7.1"; pyproject = true; disabled = pythonOlder "3.10"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "bluetooth-devices"; repo = "bleak-esphome"; tag = "v${version}"; - hash = "sha256-rN2vpXiOaUjjN6yNZxeEgTpcz0K5soUqKKiDDOhcBtc="; + hash = "sha256-AZkSWBMyTl2NgqmhVG4sE/N1AQGd6x4CZVYMgRKxlOQ="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/bleak-retry-connector/default.nix b/pkgs/development/python-modules/bleak-retry-connector/default.nix index ba2b00265e25..aecce4c13171 100644 --- a/pkgs/development/python-modules/bleak-retry-connector/default.nix +++ b/pkgs/development/python-modules/bleak-retry-connector/default.nix @@ -10,11 +10,12 @@ pytestCheckHook, pythonOlder, pytest-asyncio, + pytest-cov-stub, }: buildPythonPackage rec { pname = "bleak-retry-connector"; - version = "3.7.0"; + version = "3.8.1"; pyproject = true; disabled = pythonOlder "3.7"; @@ -23,14 +24,9 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "bleak-retry-connector"; tag = "v${version}"; - hash = "sha256-+qY8BWi7zznaJBEMXfbDWjNvHEwpKq1h0XBHFum1+4M="; + hash = "sha256-Vkmn+CKQm+i+MRx12U6AmDGUyhtagoXbpeC/uou311o="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail " --cov=bleak_retry_connector --cov-report=term-missing:skip-covered" "" - ''; - build-system = [ poetry-core ]; dependencies = [ @@ -42,6 +38,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-asyncio + pytest-cov-stub pytestCheckHook ]; diff --git a/pkgs/development/python-modules/bluetooth-adapters/default.nix b/pkgs/development/python-modules/bluetooth-adapters/default.nix index 97d9893995a0..5f59b668a550 100644 --- a/pkgs/development/python-modules/bluetooth-adapters/default.nix +++ b/pkgs/development/python-modules/bluetooth-adapters/default.nix @@ -11,6 +11,7 @@ myst-parser, poetry-core, pytest-asyncio, + pytest-cov-stub, pytestCheckHook, pythonOlder, sphinx-rtd-theme, @@ -21,7 +22,7 @@ buildPythonPackage rec { pname = "bluetooth-adapters"; - version = "0.21.0"; + version = "0.21.4"; pyproject = true; disabled = pythonOlder "3.9"; @@ -30,14 +31,9 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "bluetooth-adapters"; tag = "v${version}"; - hash = "sha256-DQaxjSajO3SfmogWtstT6xcsUgUW80jJ5prfIajJW/s="; + hash = "sha256-JUh4v9YeqMeecJh/eTpmLMwNsxbc/oqZY2CrEJUO418="; }; - postPatch = '' - # Drop pytest arguments (coverage, ...) - sed -i '/addopts/d' pyproject.toml - ''; - outputs = [ "out" "doc" @@ -63,6 +59,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-asyncio + pytest-cov-stub pytestCheckHook ]; diff --git a/pkgs/development/python-modules/bluetooth-data-tools/default.nix b/pkgs/development/python-modules/bluetooth-data-tools/default.nix index 27fe21f07862..68c84d7edee7 100644 --- a/pkgs/development/python-modules/bluetooth-data-tools/default.nix +++ b/pkgs/development/python-modules/bluetooth-data-tools/default.nix @@ -6,8 +6,8 @@ cython, poetry-core, pytest-benchmark, - pytest-cov-stub, pytest-codspeed, + pytest-cov-stub, pytestCheckHook, pythonOlder, setuptools, @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "bluetooth-data-tools"; - version = "1.22.0"; + version = "1.23.4"; pyproject = true; disabled = pythonOlder "3.10"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "bluetooth-data-tools"; tag = "v${version}"; - hash = "sha256-ygtpOKrvVaM2rWfzRdKj96Z229+6wPSCuZq3agx+/IY="; + hash = "sha256-WYwcczYqUd7JH68zKBQ9xl5sxX1YAHTEpi0gc81k6DY="; }; # The project can build both an optimized cython version and an unoptimized @@ -41,6 +41,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-benchmark + pytest-codspeed pytest-cov-stub pytest-codspeed pytestCheckHook diff --git a/pkgs/development/python-modules/bring-api/default.nix b/pkgs/development/python-modules/bring-api/default.nix index 9620b4e78bfc..35fbe563032a 100644 --- a/pkgs/development/python-modules/bring-api/default.nix +++ b/pkgs/development/python-modules/bring-api/default.nix @@ -4,16 +4,20 @@ aioresponses, buildPythonPackage, fetchFromGitHub, + mashumaro, + orjson, pytest-asyncio, pytestCheckHook, python-dotenv, pythonOlder, setuptools, + syrupy, + yarl, }: buildPythonPackage rec { pname = "bring-api"; - version = "0.9.1"; + version = "1.0.0"; pyproject = true; disabled = pythonOlder "3.11"; @@ -22,18 +26,26 @@ buildPythonPackage rec { owner = "miaucl"; repo = "bring-api"; tag = version; - hash = "sha256-wPplw1yYJ5xR2CzhDXXjhMFJ7swGf2AARI4a1kE8MRw="; + hash = "sha256-1K8CijA2cSyofH/qanOsDRLqnQZyBTqsnrUtvZYBS2c="; }; build-system = [ setuptools ]; - dependencies = [ aiohttp ]; + dependencies = [ + # https://github.com/miaucl/bring-api/blob/1.0.0/requirements.txt + # pyproject.toml is out of sync + aiohttp + yarl + mashumaro + orjson + ]; nativeCheckInputs = [ aioresponses pytest-asyncio pytestCheckHook python-dotenv + syrupy ]; pythonImportsCheck = [ "bring_api" ]; diff --git a/pkgs/development/python-modules/bthome-ble/default.nix b/pkgs/development/python-modules/bthome-ble/default.nix index 250444047289..3481cd99924b 100644 --- a/pkgs/development/python-modules/bthome-ble/default.nix +++ b/pkgs/development/python-modules/bthome-ble/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "bthome-ble"; - version = "3.11.0"; + version = "3.12.4"; pyproject = true; disabled = pythonOlder "3.9"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "bthome-ble"; tag = "v${version}"; - hash = "sha256-TlZyNGfHNKN+6tCKepLS+fbgfq3a1uzeCXl25khl6d8="; + hash = "sha256-1Kr+KKL8o1qsu/ncwclsokPcO1QHYadul/f+/Nnv6SQ="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix index e6549c6bd4bb..49d9a1d4c7e0 100644 --- a/pkgs/development/python-modules/dbus-fast/default.nix +++ b/pkgs/development/python-modules/dbus-fast/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "dbus-fast"; - version = "2.30.2"; + version = "2.33.0"; pyproject = true; disabled = pythonOlder "3.9"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "dbus-fast"; tag = "v${version}"; - hash = "sha256-DGDmv7zJP5LAa90KmqSU8yJXn5q8MDL2dCQjvmDg+Bw="; + hash = "sha256-U6NAEhoEcphAuvaAA2en4Ka4yFHiKPINl5CvtxE7FaI="; }; # The project can build both an optimized cython version and an unoptimized diff --git a/pkgs/development/python-modules/devialet/default.nix b/pkgs/development/python-modules/devialet/default.nix index 44e2b7754053..d4cacc00a8bd 100644 --- a/pkgs/development/python-modules/devialet/default.nix +++ b/pkgs/development/python-modules/devialet/default.nix @@ -1,6 +1,7 @@ { lib, aiohttp, + async-upnp-client, buildPythonPackage, fetchFromGitHub, pythonOlder, @@ -21,9 +22,12 @@ buildPythonPackage rec { hash = "sha256-HmTiHa7DEmjARaYn7/OoGotnTirE7S7zXLK/TfHdEAg="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ aiohttp ]; + dependencies = [ + aiohttp + async-upnp-client + ]; # Module has no tests doCheck = false; diff --git a/pkgs/development/python-modules/eq3btsmart/default.nix b/pkgs/development/python-modules/eq3btsmart/default.nix index c743a2b5a117..daba1c5a0322 100644 --- a/pkgs/development/python-modules/eq3btsmart/default.nix +++ b/pkgs/development/python-modules/eq3btsmart/default.nix @@ -2,7 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, - poetry-core, + setuptools, bleak, construct, construct-typing, @@ -22,7 +22,7 @@ buildPythonPackage rec { hash = "sha256-JPmIKj8IL3i7QWiMTmGQzqb4h0VqLlhILPAOqMucsuM="; }; - build-system = [ poetry-core ]; + build-system = [ setuptools ]; dependencies = [ bleak diff --git a/pkgs/development/python-modules/gcal-sync/default.nix b/pkgs/development/python-modules/gcal-sync/default.nix index 38332d49aba0..f59a49895f62 100644 --- a/pkgs/development/python-modules/gcal-sync/default.nix +++ b/pkgs/development/python-modules/gcal-sync/default.nix @@ -27,9 +27,9 @@ buildPythonPackage rec { hash = "sha256-8VUXW6tIX43TV7UIxeforZIxAUqGY9uqpz6WGyH4d8E="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp ical pydantic diff --git a/pkgs/development/python-modules/google-nest-sdm/default.nix b/pkgs/development/python-modules/google-nest-sdm/default.nix index c514aad349b4..b659eb9566e4 100644 --- a/pkgs/development/python-modules/google-nest-sdm/default.nix +++ b/pkgs/development/python-modules/google-nest-sdm/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "google-nest-sdm"; - version = "7.0.0"; + version = "7.1.1"; pyproject = true; disabled = pythonOlder "3.10"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "allenporter"; repo = "python-google-nest-sdm"; tag = version; - hash = "sha256-j3L0U4dcmU35eHyrB8ZASGso8lWFwSD3PGq5fRSGOg0="; + hash = "sha256-hBpAwDRmqRRWW0DiG3aXy+OXZPCXdhPzAP79mXOn1kg="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/govee-local-api/default.nix b/pkgs/development/python-modules/govee-local-api/default.nix index 591d5cef3fb5..29b0f9d4e7a6 100644 --- a/pkgs/development/python-modules/govee-local-api/default.nix +++ b/pkgs/development/python-modules/govee-local-api/default.nix @@ -21,6 +21,12 @@ buildPythonPackage rec { hash = "sha256-1n5HPFI/E/I4eepnpQg8hhIksr48igVy56gQ0UiMYHU="; }; + postPatch = '' + # dont depend on poetry at runtime + # https://github.com/Galorhallen/govee-local-api/pull/75/files#r1943826599 + sed -i '/poetry = "^1.8.5"/d' pyproject.toml + ''; + build-system = [ poetry-core ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/habluetooth/default.nix b/pkgs/development/python-modules/habluetooth/default.nix index 54cb7d8ad7fe..98d59951661a 100644 --- a/pkgs/development/python-modules/habluetooth/default.nix +++ b/pkgs/development/python-modules/habluetooth/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "habluetooth"; - version = "3.9.0"; + version = "3.21.1"; pyproject = true; disabled = pythonOlder "3.11"; @@ -30,7 +30,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "habluetooth"; tag = "v${version}"; - hash = "sha256-JDmdbqgCcgYuPNDNBlqN/kZLRhm3+C0hf9ZC+OoEbTU="; + hash = "sha256-r7pDQ0CoLXpiIMPi0SA/gHByKhFzkEhGCiS52bvhT4c="; }; build-system = [ diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix index 64a2262160a1..91221e73e874 100644 --- a/pkgs/development/python-modules/hahomematic/default.nix +++ b/pkgs/development/python-modules/hahomematic/default.nix @@ -17,23 +17,23 @@ buildPythonPackage rec { pname = "hahomematic"; - version = "2025.2.0"; + version = "2025.2.5"; pyproject = true; - disabled = pythonOlder "3.12"; + disabled = pythonOlder "3.13"; src = fetchFromGitHub { owner = "SukramJ"; repo = "hahomematic"; tag = version; - hash = "sha256-QuPHSd6GHBu7OILMnnif/sbIuujtk+dGKIn8c6Aitq4="; + hash = "sha256-cBj5dwCGJ5++qAZ0JxlqIQKm/Lw3vWVH1DBVVDvkFco="; }; __darwinAllowLocalNetworking = true; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail "setuptools==75.6.0" "setuptools" \ + --replace-fail "setuptools==75.8.0" "setuptools" \ ''; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/hass-nabucasa/default.nix b/pkgs/development/python-modules/hass-nabucasa/default.nix index 49172fa145ec..2468d243f598 100644 --- a/pkgs/development/python-modules/hass-nabucasa/default.nix +++ b/pkgs/development/python-modules/hass-nabucasa/default.nix @@ -23,7 +23,7 @@ buildPythonPackage rec { pname = "hass-nabucasa"; - version = "0.88.1"; + version = "0.89.0"; pyproject = true; disabled = pythonOlder "3.12"; @@ -32,7 +32,7 @@ buildPythonPackage rec { owner = "nabucasa"; repo = "hass-nabucasa"; tag = version; - hash = "sha256-OTUrzpsv4sYLRHw3gvNlVz9h1XdR3YOQTZQZtFvqdiQ="; + hash = "sha256-o6VUfg0mtaXw5isF4Q1afCZrOMSW9FSjbOOUcBne+dY="; }; pythonRelaxDeps = [ "acme" ]; diff --git a/pkgs/development/python-modules/hassil/default.nix b/pkgs/development/python-modules/hassil/default.nix index a961b278c024..93d6c4883b6f 100644 --- a/pkgs/development/python-modules/hassil/default.nix +++ b/pkgs/development/python-modules/hassil/default.nix @@ -17,7 +17,7 @@ let pname = "hassil"; - version = "2.1.0"; + version = "2.2.3"; in buildPythonPackage { inherit pname version; @@ -27,7 +27,7 @@ buildPythonPackage { owner = "home-assistant"; repo = "hassil"; tag = "v${version}"; - hash = "sha256-CGobMgaDHcruvOzVBIc6xS0tuaMT410t62KD3Hg30EY="; + hash = "sha256-rP7F0BovD0Klf06lywo+1uFhPf+dS0qbNBZluun8+cE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/homematicip/default.nix b/pkgs/development/python-modules/homematicip/default.nix index b639e2f8e4da..70d4c492c761 100644 --- a/pkgs/development/python-modules/homematicip/default.nix +++ b/pkgs/development/python-modules/homematicip/default.nix @@ -10,7 +10,7 @@ pythonAtLeast, pythonOlder, pytest-aiohttp, - pytest-asyncio, + pytest-asyncio_0_21, requests, setuptools, setuptools-scm, @@ -48,8 +48,10 @@ buildPythonPackage rec { nativeCheckInputs = [ aiohttp-wsgi - pytest-aiohttp - pytest-asyncio + (pytest-aiohttp.override { + pytest-asyncio = pytest-asyncio_0_21; + }) + pytest-asyncio_0_21 pytest7CheckHook ]; diff --git a/pkgs/development/python-modules/httpx-sse/default.nix b/pkgs/development/python-modules/httpx-sse/default.nix index 313667f7d4a0..622e8ae033d4 100644 --- a/pkgs/development/python-modules/httpx-sse/default.nix +++ b/pkgs/development/python-modules/httpx-sse/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch2, setuptools, setuptools-scm, wheel, @@ -23,6 +24,13 @@ buildPythonPackage rec { hash = "sha256-nU8vkmV/WynzQrSrq9+FQXtfAJPVLpMsRSuntU0HWrE="; }; + patches = [ + (fetchpatch2 { + url = "https://github.com/florimondmanca/httpx-sse/commit/643938c805e671fa20adcf314b447f862b77bcda.patch?full_index=1"; + hash = "sha256-V2PyTlleyoLa0DuvdlU8zGNsI9C8bTjMUcLjx81/e5k="; + }) + ]; + # pytest-cov configuration is not necessary for packaging postPatch = '' rm setup.cfg diff --git a/pkgs/development/python-modules/mcp/default.nix b/pkgs/development/python-modules/mcp/default.nix new file mode 100644 index 000000000000..7a7f0e56d02f --- /dev/null +++ b/pkgs/development/python-modules/mcp/default.nix @@ -0,0 +1,85 @@ +{ + anyio, + buildPythonPackage, + coreutils, + fetchFromGitHub, + hatchling, + httpx, + httpx-sse, + lib, + pydantic, + pydantic-settings, + pytest-asyncio, + pytestCheckHook, + python-dotenv, + rich, + sse-starlette, + starlette, + typer, + uvicorn, +}: + +buildPythonPackage rec { + pname = "mcp"; + version = "1.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "modelcontextprotocol"; + repo = "python-sdk"; + tag = "v${version}"; + hash = "sha256-1kTU6YoHAxPdYTeCiPFGw2c0Dno+CA//hvoD9T4Fvwo="; + }; + + postPatch = '' + substituteInPlace tests/client/test_stdio.py \ + --replace '/usr/bin/tee' '${lib.getExe' coreutils "tee"}' + ''; + + build-system = [ hatchling ]; + + pythonRelaxDeps = [ + "pydantic-settings" + ]; + + dependencies = [ + anyio + httpx + httpx-sse + pydantic + pydantic-settings + sse-starlette + starlette + uvicorn + ]; + + optional-dependencies = { + cli = [ + python-dotenv + typer + ]; + rich = [ + rich + ]; + }; + + pythonImportsCheck = [ "mcp" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ] ++ lib.flatten (lib.attrValues optional-dependencies); + + disabledTests = [ + # attempts to run the package manager uv + "test_command_execution" + ]; + + meta = { + changelog = "https://github.com/modelcontextprotocol/python-sdk/releases/tag/${src.rev}"; + description = "Official Python SDK for Model Context Protocol servers and clients"; + homepage = "https://github.com/modelcontextprotocol/python-sdk"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/music-assistant-models/default.nix b/pkgs/development/python-modules/music-assistant-models/default.nix index 53b569f33c6e..c1634a547b21 100644 --- a/pkgs/development/python-modules/music-assistant-models/default.nix +++ b/pkgs/development/python-modules/music-assistant-models/default.nix @@ -13,18 +13,21 @@ # tests pytestCheckHook, pytest-cov-stub, + + # reverse dependencies + music-assistant-client, }: buildPythonPackage rec { pname = "music-assistant-models"; - version = "1.1.17"; + version = "1.1.3"; # Must be compatible with music-assistant-client package pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "models"; - tag = version; - hash = "sha256-ggP5swX0MWjWqc2H/cbx/sbHhVHLTImJsocX5ZkHB0s="; + tag = "v${version}"; + hash = "sha256-FbnwUfAwCwwBKqEUtb2ZBxHehFwJdr9YkuWKox018BY="; }; postPatch = '' @@ -48,6 +51,10 @@ buildPythonPackage rec { "music_assistant_models" ]; + passthru.tests = { + inherit music-assistant-client; + }; + meta = { description = "Models used by Music Assistant (shared by client and server"; homepage = "https://github.com/music-assistant/models"; diff --git a/pkgs/development/python-modules/nextcloudmonitor/default.nix b/pkgs/development/python-modules/nextcloudmonitor/default.nix index 4c2aecad1430..86de7cd55eab 100644 --- a/pkgs/development/python-modules/nextcloudmonitor/default.nix +++ b/pkgs/development/python-modules/nextcloudmonitor/default.nix @@ -2,14 +2,15 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch2, + setuptools, requests, }: buildPythonPackage rec { pname = "nextcloudmonitor"; version = "1.5.2"; - - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "meichthys"; @@ -18,7 +19,17 @@ buildPythonPackage rec { hash = "sha256-9iohznUmDusNY7iJZBcv9yn2wp3X5cS8n3Fbj/G1u0g="; }; - propagatedBuildInputs = [ requests ]; + patches = [ + (fetchpatch2 { + # https://github.com/meichthys/nextcloud_monitor/pull/10 + url = "https://github.com/meichthys/nextcloud_monitor/commit/cf6191d148e0494de5ae3cbe8fc5ffdba71b6c21.patch"; + hash = "sha256-BSTX5dw+k+ItT6qvpjLiDsH9rW1NmkaBeGO9TlNZZis="; + }) + ]; + + build-system = [ setuptools ]; + + dependencies = [ requests ]; # no tests implemented doCheck = false; diff --git a/pkgs/development/python-modules/nextcord/default.nix b/pkgs/development/python-modules/nextcord/default.nix index 9cddf216b6be..10aff1066fbc 100644 --- a/pkgs/development/python-modules/nextcord/default.nix +++ b/pkgs/development/python-modules/nextcord/default.nix @@ -12,10 +12,11 @@ aiodns, audioop-lts, brotli, - faust-cchardet, orjson, + poetry-core, + poetry-dynamic-versioning, pynacl, - setuptools, + typing-extensions, }: buildPythonPackage rec { @@ -23,7 +24,7 @@ buildPythonPackage rec { version = "3.0.1"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.12"; src = fetchFromGitHub { owner = "nextcord"; @@ -40,8 +41,16 @@ buildPythonPackage rec { }) ]; + postPatch = '' + # disable dynamic versioning + substituteInPlace pyproject.toml \ + --replace-fail 'version = "0.0.0"' 'version = "${version}"' \ + --replace-fail 'enable = true' 'enable = false' + ''; + build-system = [ - setuptools + poetry-core + poetry-dynamic-versioning ]; dependencies = @@ -49,10 +58,9 @@ buildPythonPackage rec { aiodns aiohttp brotli - faust-cchardet orjson pynacl - setuptools # for pkg_resources, remove with next release + typing-extensions ] ++ lib.optionals (pythonAtLeast "3.13") [ audioop-lts diff --git a/pkgs/development/python-modules/nhc/default.nix b/pkgs/development/python-modules/nhc/default.nix index 67e3ab73f03c..6fa33ef431a2 100644 --- a/pkgs/development/python-modules/nhc/default.nix +++ b/pkgs/development/python-modules/nhc/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "nhc"; - version = "0.3.4"; + version = "0.3.9"; pyproject = true; src = fetchFromGitHub { owner = "vandeurenglenn"; repo = "nhc"; tag = "v${version}"; - hash = "sha256-TSfOcSeedr0cSDHo1bqftUOZ3AeCW3Zgb80IBv3eerM="; + hash = "sha256-OoWRAELy6w+LVfhBJyKReQUYD/yr4POFH+ScOgp3xyU="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/ohme/default.nix b/pkgs/development/python-modules/ohme/default.nix index c612dae29933..37e3938493f1 100644 --- a/pkgs/development/python-modules/ohme/default.nix +++ b/pkgs/development/python-modules/ohme/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "ohme"; - version = "1.2.3"; + version = "1.2.8"; pyproject = true; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "dan-r"; repo = "ohmepy"; tag = "v${version}"; - hash = "sha256-hCwaB6YXtNHCNOyjRxDSonBdTpKqX9GmLwFMvrY9UpI="; + hash = "sha256-T9xULo1kN/JZGlYKTbTue8/RH2CFOAzuFeDGM6+76rE="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/ollama/default.nix b/pkgs/development/python-modules/ollama/default.nix index 3d0dd39426e6..e05f10a352bd 100644 --- a/pkgs/development/python-modules/ollama/default.nix +++ b/pkgs/development/python-modules/ollama/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "ollama"; - version = "0.4.6"; + version = "0.4.7"; pyproject = true; disabled = pythonOlder "3.8"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "ollama"; repo = "ollama-python"; tag = "v${version}"; - hash = "sha256-VELcw7b+G8aJrFMXX6rIYiR4ExSrDNezOigGznVnoNU="; + hash = "sha256-+iinQIVbL0f4kNc9aaS0H4Ua2K5w5uapFAIkpyoMj+E="; }; postPatch = '' diff --git a/pkgs/development/python-modules/onedrive-personal-sdk/default.nix b/pkgs/development/python-modules/onedrive-personal-sdk/default.nix new file mode 100644 index 000000000000..ef227f1b993c --- /dev/null +++ b/pkgs/development/python-modules/onedrive-personal-sdk/default.nix @@ -0,0 +1,41 @@ +{ + aiohttp, + buildPythonPackage, + fetchFromGitHub, + lib, + mashumaro, + setuptools, +}: + +buildPythonPackage rec { + pname = "onedrive-personal-sdk"; + version = "0.0.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "zweckj"; + repo = "onedrive-personal-sdk"; + tag = "v${version}"; + hash = "sha256-sA+1yqRcx7WUJFuMIIuPQm7ggVbrlSCufqq0jyhDDdA="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + mashumaro + ]; + + pythonImportsCheck = [ "onedrive_personal_sdk" ]; + + # upstream has no tests + doCheck = false; + + meta = { + changelog = "https://github.com/zweckj/onedrive-personal-sdk/releases/tag/${src.tag}"; + description = "Package to interact with the Microsoft Graph API for personal OneDrives"; + homepage = "https://github.com/zweckj/onedrive-personal-sdk"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/onvif-zeep-async/default.nix b/pkgs/development/python-modules/onvif-zeep-async/default.nix index c5cf75d8bcd7..22fbbbdbd725 100644 --- a/pkgs/development/python-modules/onvif-zeep-async/default.nix +++ b/pkgs/development/python-modules/onvif-zeep-async/default.nix @@ -6,12 +6,13 @@ httpx, pythonOlder, setuptools, + yarl, zeep, }: buildPythonPackage rec { pname = "onvif-zeep-async"; - version = "3.2.3"; + version = "3.2.5"; pyproject = true; disabled = pythonOlder "3.7"; @@ -20,7 +21,7 @@ buildPythonPackage rec { owner = "openvideolibs"; repo = "python-onvif-zeep-async"; tag = "v${version}"; - hash = "sha256-guxep37d/MT9dp+sugfH0Ik2aIiwBSpx8x9Jj7OlNvw="; + hash = "sha256-tEJTVdFQXr2nz0DkuIUjNDSSZUdD457SMrNAUqqsiH8="; }; build-system = [ setuptools ]; @@ -28,8 +29,9 @@ buildPythonPackage rec { dependencies = [ ciso8601 httpx + yarl zeep - ]; + ] ++ zeep.optional-dependencies.async; pythonImportsCheck = [ "onvif" ]; diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix index 53312c5fc25c..1514a6c7eefe 100644 --- a/pkgs/development/python-modules/openai/default.nix +++ b/pkgs/development/python-modules/openai/default.nix @@ -37,7 +37,7 @@ buildPythonPackage rec { pname = "openai"; - version = "1.59.8"; + version = "1.59.9"; pyproject = true; disabled = pythonOlder "3.8"; @@ -46,7 +46,7 @@ buildPythonPackage rec { owner = "openai"; repo = "openai-python"; tag = "v${version}"; - hash = "sha256-0NiueCUB5w4H1B5cXSyoO641DGB2J2rF2vGwPQSJJPM="; + hash = "sha256-khdrpiurp/PigM5+0LJpXfSbG22e2I+2Jwsxo6MJKhQ="; }; build-system = [ diff --git a/pkgs/development/python-modules/panasonic-viera/default.nix b/pkgs/development/python-modules/panasonic-viera/default.nix index 6cbdd76236d5..e89427103b12 100644 --- a/pkgs/development/python-modules/panasonic-viera/default.nix +++ b/pkgs/development/python-modules/panasonic-viera/default.nix @@ -21,6 +21,8 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + pythonRelaxDeps = [ "xmltodict" ]; + dependencies = [ aiohttp pycryptodome diff --git a/pkgs/development/python-modules/py-vapid/default.nix b/pkgs/development/python-modules/py-vapid/default.nix index 913131019fc2..494afb7008d3 100644 --- a/pkgs/development/python-modules/py-vapid/default.nix +++ b/pkgs/development/python-modules/py-vapid/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchPypi, + setuptools, mock, pytestCheckHook, cryptography, @@ -11,7 +12,7 @@ buildPythonPackage rec { pname = "py-vapid"; version = "1.9.2"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -21,7 +22,9 @@ buildPythonPackage rec { hash = "sha256-PIlzts+DhK0MmuZNYnDMxIDguSxwLY9eoswD5rUSR/k="; }; - propagatedBuildInputs = [ cryptography ]; + build-system = [ setuptools ]; + + dependencies = [ cryptography ]; nativeCheckInputs = [ mock diff --git a/pkgs/development/python-modules/pydevccu/default.nix b/pkgs/development/python-modules/pydevccu/default.nix index e849fd96974f..dc96c6b41d57 100644 --- a/pkgs/development/python-modules/pydevccu/default.nix +++ b/pkgs/development/python-modules/pydevccu/default.nix @@ -8,16 +8,16 @@ buildPythonPackage rec { pname = "pydevccu"; - version = "0.1.9"; + version = "0.1.10"; pyproject = true; - disabled = pythonOlder "3.12"; + disabled = pythonOlder "3.13"; src = fetchFromGitHub { owner = "SukramJ"; repo = "pydevccu"; tag = version; - hash = "sha256-s1u9+w0sPpXuqAET4k5VPWP+VoPqB08dZa9oY4UFXc8="; + hash = "sha256-MUMJjFCBJx1rps+/1Wx8RVmlA3Y4Cgflljs2u4nRMBk="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pydiscovergy/default.nix b/pkgs/development/python-modules/pydiscovergy/default.nix index 168199c2e4cc..744bb5cd006b 100644 --- a/pkgs/development/python-modules/pydiscovergy/default.nix +++ b/pkgs/development/python-modules/pydiscovergy/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, pytest-asyncio, + pytest-cov-stub, pytest-httpx, poetry-core, pytestCheckHook, @@ -16,7 +17,7 @@ buildPythonPackage rec { pname = "pydiscovergy"; - version = "3.0.2"; + version = "3.1.0"; pyproject = true; disabled = pythonOlder "3.11"; @@ -25,11 +26,10 @@ buildPythonPackage rec { owner = "jpbede"; repo = "pydiscovergy"; tag = "v${version}"; - hash = "sha256-g6KWX7APdqB0dNe7p6WGualxSj5fiw+jRq+0qfqTs4w="; + hash = "sha256-OrMuMGN1zB4q6t4fWyZeQ9WRmNZHFyq+wIRq1kG2N30="; }; postPatch = '' - sed -i '/addopts =/d' pyproject.toml substituteInPlace pyproject.toml \ --replace-fail 'version = "0.0.0"' 'version = "${version}"' ''; @@ -45,6 +45,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-asyncio + pytest-cov-stub pytest-httpx pytestCheckHook respx diff --git a/pkgs/development/python-modules/pyeconet/default.nix b/pkgs/development/python-modules/pyeconet/default.nix index 81391301c301..f26cd0f67f64 100644 --- a/pkgs/development/python-modules/pyeconet/default.nix +++ b/pkgs/development/python-modules/pyeconet/default.nix @@ -10,21 +10,23 @@ buildPythonPackage rec { pname = "pyeconet"; - version = "0.1.25"; - format = "pyproject"; + version = "0.1.26"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "w1ll1am23"; - repo = pname; + repo = "pyeconet"; tag = "v${version}"; - hash = "sha256-qbg8QzzT81fmjFeyEgVPXp3QKGOs3oKjTUUUTHIR8OI="; + hash = "sha256-3A37/LHCYkqFjbjP3mtO4kRnWZ8NQiFAS67mT2igvqM="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ + pythonRelaxDeps = [ "paho-mqtt" ]; + + dependencies = [ paho-mqtt aiohttp ]; @@ -34,11 +36,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "pyeconet" ]; - meta = with lib; { + meta = { description = "Python interface to the EcoNet API"; homepage = "https://github.com/w1ll1am23/pyeconet"; changelog = "https://github.com/w1ll1am23/pyeconet/releases/tag/${src.tag}"; - license = with licenses; [ mit ]; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/pyenphase/default.nix b/pkgs/development/python-modules/pyenphase/default.nix index 5226c10f6754..985da8e22a30 100644 --- a/pkgs/development/python-modules/pyenphase/default.nix +++ b/pkgs/development/python-modules/pyenphase/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "pyenphase"; - version = "1.23.0"; + version = "1.23.1"; pyproject = true; disabled = pythonOlder "3.11"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "pyenphase"; repo = "pyenphase"; tag = "v${version}"; - hash = "sha256-nGOxGZxPTlU5/nI2m+MXzzcVA+twxfNL1Jf51xT0XLc="; + hash = "sha256-xiwoFfKMZVgpMfh2CjzhkuZPxCD/NC2nK67r6Miu0eg="; }; pythonRelaxDeps = [ "tenacity" ]; diff --git a/pkgs/development/python-modules/pyezviz/default.nix b/pkgs/development/python-modules/pyezviz/default.nix index 29dd163ab52f..3e8bf9bb3274 100644 --- a/pkgs/development/python-modules/pyezviz/default.nix +++ b/pkgs/development/python-modules/pyezviz/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "pyezviz"; - version = "1.0.0.6"; + version = "0.2.2.4a"; pyproject = true; disabled = pythonOlder "3.7"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "baqs"; repo = "pyEzviz"; tag = version; - hash = "sha256-KtAqmM4k1o89lG/yb2er1r792zGyNx+TgIQhELr3yTc="; + hash = "sha256-OgDplQ6TrK2CZbNgJpoYC8TkK1sG73HdpUyHE+2ZTLk="; }; build-system = [ setuptools ]; @@ -40,10 +40,13 @@ buildPythonPackage rec { pythonImportsCheck = [ "pyezviz" ]; + # renamed to pyezvizapi + passthru.skipBulkUpdate = true; + meta = with lib; { description = "Python interface for for Ezviz cameras"; homepage = "https://github.com/baqs/pyEzviz/"; - changelog = "https://github.com/BaQs/pyEzviz/releases/tag/${src.tag}"; + changelog = "https://github.com/BaQs/pyEzviz/releases/tag/${version}"; license = with licenses; [ asl20 ]; maintainers = with maintainers; [ fab ]; mainProgram = "pyezviz"; diff --git a/pkgs/development/python-modules/pyezvizapi/default.nix b/pkgs/development/python-modules/pyezvizapi/default.nix new file mode 100644 index 000000000000..16e19ddb27c4 --- /dev/null +++ b/pkgs/development/python-modules/pyezvizapi/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + paho-mqtt, + pandas, + pycryptodome, + pythonOlder, + requests, + setuptools, + xmltodict, +}: + +buildPythonPackage rec { + pname = "pyezviz"; + version = "1.0.0.9"; + pyproject = true; + + src = fetchFromGitHub { + owner = "RenierM26"; + repo = "pyEzvizApi"; + tag = version; + hash = "sha256-iqTNkfecBrxJ3BwACbMmcHqequ6IUzjL550ip+jNIrs="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + paho-mqtt + pandas + pycryptodome + requests + xmltodict + ]; + + pythonImportsCheck = [ "pyezvizapi" ]; + + # test_cam_rtsp.py is not actually a unit test + doCheck = false; + + meta = { + description = "Python interface for for Ezviz cameras"; + homepage = "https://github.com/RenierM26/pyEzvizApi"; + changelog = "https://github.com/RenierM26/pyEzvizApi/releases/tag/${src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dotlambda ]; + mainProgram = "pyezviz"; + }; +} diff --git a/pkgs/development/python-modules/pyfritzhome/default.nix b/pkgs/development/python-modules/pyfritzhome/default.nix index a4afafacc39c..7efc9f45d612 100644 --- a/pkgs/development/python-modules/pyfritzhome/default.nix +++ b/pkgs/development/python-modules/pyfritzhome/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "pyfritzhome"; - version = "0.6.13"; + version = "0.6.14"; pyproject = true; disabled = pythonOlder "3.7"; @@ -20,12 +20,12 @@ buildPythonPackage rec { owner = "hthiery"; repo = "python-fritzhome"; tag = version; - hash = "sha256-2piHJkF6S5sMb1ZsYQj7ItdwJt5RkVvTrYa9IUKlYp8="; + hash = "sha256-49Ap4SSeEMlqOnzd1/oyQ1wKwFVxsC+apx+FVCWqNVI="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ cryptography requests ]; diff --git a/pkgs/development/python-modules/pyheos/default.nix b/pkgs/development/python-modules/pyheos/default.nix index 922a7ff325dd..3f71351530e4 100644 --- a/pkgs/development/python-modules/pyheos/default.nix +++ b/pkgs/development/python-modules/pyheos/default.nix @@ -5,18 +5,19 @@ setuptools, pytest-asyncio, pytestCheckHook, + syrupy, }: buildPythonPackage rec { pname = "pyheos"; - version = "1.0.0"; + version = "1.0.1"; pyproject = true; src = fetchFromGitHub { owner = "andrewsayre"; repo = "pyheos"; tag = version; - hash = "sha256-0td3Xv2BwOwcuU0ZlPA86eQd326vRjB7UMysN/RGjMU="; + hash = "sha256-2hrWK3nRFnRtv4dfXXELOxKwttG9Oo2I2+eSXcfgUi8="; }; build-system = [ setuptools ]; @@ -24,6 +25,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-asyncio pytestCheckHook + syrupy ]; disabledTests = [ diff --git a/pkgs/development/python-modules/pypck/default.nix b/pkgs/development/python-modules/pypck/default.nix index ca6db58defda..78c86a951be2 100644 --- a/pkgs/development/python-modules/pypck/default.nix +++ b/pkgs/development/python-modules/pypck/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "pypck"; - version = "0.8.3"; + version = "0.8.5"; pyproject = true; disabled = pythonOlder "3.11"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "alengwenus"; repo = "pypck"; tag = version; - hash = "sha256-5MfWFtCIGRHO68dGKDmf++2yWA/wcK3JlM+4o5HKuE8="; + hash = "sha256-0CoADS76Ed2ICc8Y/LvtRhbG7mFQDWBsNQAnIUGK8m0="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pysiaalarm/default.nix b/pkgs/development/python-modules/pysiaalarm/default.nix index efeaf873820f..2bb3e6611a82 100644 --- a/pkgs/development/python-modules/pysiaalarm/default.nix +++ b/pkgs/development/python-modules/pysiaalarm/default.nix @@ -8,14 +8,15 @@ setuptools-scm, pytest-asyncio, pytest-cases, - pytest7CheckHook, + pytest-cov-stub, + pytestCheckHook, pytz, }: buildPythonPackage rec { pname = "pysiaalarm"; version = "3.1.1"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.8"; @@ -27,11 +28,9 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.cfg \ --replace "==" ">=" - substituteInPlace pytest.ini \ - --replace "--cov pysiaalarm --cov-report term-missing" "" ''; - nativeBuildInputs = [ setuptools-scm ]; + build-system = [ setuptools-scm ]; propagatedBuildInputs = [ dataclasses-json @@ -42,7 +41,8 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-asyncio pytest-cases - pytest7CheckHook + pytest-cov-stub + pytestCheckHook ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/pysmlight/default.nix b/pkgs/development/python-modules/pysmlight/default.nix index 1a2a3b36acde..343c02851979 100644 --- a/pkgs/development/python-modules/pysmlight/default.nix +++ b/pkgs/development/python-modules/pysmlight/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "pysmlight"; - version = "0.1.5"; + version = "0.1.7"; pyproject = true; src = fetchFromGitHub { owner = "smlight-tech"; repo = "pysmlight"; tag = "v${version}"; - hash = "sha256-A/IppL1bTGvgdmPIGQS8rRNGrZIK8YTnEnKUJWAgs5Q="; + hash = "sha256-gEqsCHe8U1p1uKarCzzppFAKC5OGNUJk/Hif5VXnojw="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/pytest-golden/default.nix b/pkgs/development/python-modules/pytest-golden/default.nix index bf2de36a148e..87855a7a1df7 100644 --- a/pkgs/development/python-modules/pytest-golden/default.nix +++ b/pkgs/development/python-modules/pytest-golden/default.nix @@ -3,11 +3,9 @@ atomicwrites, buildPythonPackage, fetchFromGitHub, - #, hatchling ruamel-yaml, poetry-core, pytest, - pytest-asyncio, pytestCheckHook, pythonOlder, testfixtures, @@ -16,7 +14,7 @@ buildPythonPackage rec { pname = "pytest-golden"; version = "0.2.2"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -29,29 +27,26 @@ buildPythonPackage rec { postPatch = '' substituteInPlace pyproject.toml \ - --replace "poetry>=0.12" poetry-core \ - --replace poetry.masonry.api poetry.core.masonry.api + --replace-fail "poetry>=0.12" poetry-core \ + --replace-fail poetry.masonry.api poetry.core.masonry.api ''; pythonRelaxDeps = [ "testfixtures" ]; - nativeBuildInputs = [ + build-system = [ # hatchling used for > 0.2.2 poetry-core ]; buildInputs = [ pytest ]; - propagatedBuildInputs = [ + dependencies = [ atomicwrites ruamel-yaml testfixtures ]; - nativeCheckInputs = [ - pytest-asyncio - pytestCheckHook - ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "pytest_golden" ]; diff --git a/pkgs/development/python-modules/python-homewizard-energy/default.nix b/pkgs/development/python-modules/python-homewizard-energy/default.nix index 3a287c599c5e..6a66f9fcfaec 100644 --- a/pkgs/development/python-modules/python-homewizard-energy/default.nix +++ b/pkgs/development/python-modules/python-homewizard-energy/default.nix @@ -3,10 +3,13 @@ aiohttp, aresponses, async-timeout, + awesomeversion, backoff, buildPythonPackage, fetchFromGitHub, + mashumaro, multidict, + orjson, poetry-core, pytest-asyncio, pytest-cov-stub, @@ -17,7 +20,7 @@ buildPythonPackage rec { pname = "python-homewizard-energy"; - version = "8.1.0"; + version = "8.3.2"; pyproject = true; disabled = pythonOlder "3.9"; @@ -26,7 +29,7 @@ buildPythonPackage rec { owner = "DCSBL"; repo = "python-homewizard-energy"; tag = "v${version}"; - hash = "sha256-e1UB9Hegnl4JR1fBQz9/caTeo82LGGQX4qETI0O9OLc="; + hash = "sha256-koc82UHwr3TJZAzSX878fEbyRu8vddDLNpNelbnTr/8="; }; postPatch = '' @@ -39,8 +42,11 @@ buildPythonPackage rec { dependencies = [ aiohttp async-timeout + awesomeversion backoff + mashumaro multidict + orjson ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/python-kasa/default.nix b/pkgs/development/python-modules/python-kasa/default.nix index 0e66efe2c02a..55c8b0faa57c 100644 --- a/pkgs/development/python-modules/python-kasa/default.nix +++ b/pkgs/development/python-modules/python-kasa/default.nix @@ -23,7 +23,7 @@ buildPythonPackage rec { pname = "python-kasa"; - version = "0.9.1"; + version = "0.10.1"; pyproject = true; disabled = pythonOlder "3.9"; @@ -32,7 +32,7 @@ buildPythonPackage rec { owner = "python-kasa"; repo = "python-kasa"; tag = version; - hash = "sha256-9y0M2CYG7tFdT9nAcQLhgvTKeaxoFHAVihM2Rj+0N34="; + hash = "sha256-GqFWQRORU1CBtw+xasvGl0NZlVgD+mV37uWkwhOphF0="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix index 5ae13bf546ce..58645e42760b 100644 --- a/pkgs/development/python-modules/python-roborock/default.nix +++ b/pkgs/development/python-modules/python-roborock/default.nix @@ -9,6 +9,7 @@ construct, dacite, fetchFromGitHub, + freezegun, paho-mqtt, poetry-core, pycryptodome, @@ -21,7 +22,7 @@ buildPythonPackage rec { pname = "python-roborock"; - version = "2.9.2"; + version = "2.11.1"; pyproject = true; disabled = pythonOlder "3.10"; @@ -30,7 +31,7 @@ buildPythonPackage rec { owner = "humbertogontijo"; repo = "python-roborock"; tag = "v${version}"; - hash = "sha256-TWV28Uok2plDJsG5RsgTp1xzvGJ/zUy1lUcGZApDReE="; + hash = "sha256-uFZ+d4MehZbK7xZdmWnZrsbK2f5UsA4J/vVRLZXyI8E="; }; postPatch = '' @@ -42,7 +43,7 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp async-timeout click @@ -55,6 +56,7 @@ buildPythonPackage rec { nativeCheckInputs = [ aioresponses + freezegun pytest-asyncio pytestCheckHook ]; diff --git a/pkgs/development/python-modules/python-tado/default.nix b/pkgs/development/python-modules/python-tado/default.nix index 21c2a0046978..4f5e6b14ad6d 100644 --- a/pkgs/development/python-modules/python-tado/default.nix +++ b/pkgs/development/python-modules/python-tado/default.nix @@ -2,15 +2,18 @@ lib, buildPythonPackage, fetchFromGitHub, + pytest-cov-stub, + pytest-mock, pytestCheckHook, pythonOlder, requests, + responses, setuptools, }: buildPythonPackage rec { pname = "python-tado"; - version = "0.18.5"; + version = "0.18.6"; pyproject = true; disabled = pythonOlder "3.5"; @@ -19,14 +22,30 @@ buildPythonPackage rec { owner = "wmalgadey"; repo = "PyTado"; tag = version; - hash = "sha256-NW3Au4meVf9QFVqmsx6f2TQus6QxanILx5U5GlVc3TE="; + hash = "sha256-pDT159TY1PEG3TLoIaNy5VVpIklclgOvFy4W5HKy7uM="; }; build-system = [ setuptools ]; dependencies = [ requests ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytest-cov-stub + pytest-mock + pytestCheckHook + responses + ]; + + disabledTests = [ + # network access + "test_interface_with_tado_api" + ]; + + disabledTestPaths = [ + # network access + "tests/test_my_tado.py" + "tests/test_my_zone.py" + ]; pythonImportsCheck = [ "PyTado" ]; diff --git a/pkgs/development/python-modules/pyvesync/default.nix b/pkgs/development/python-modules/pyvesync/default.nix index ec065d0d95d6..ff65cf8bfdb8 100644 --- a/pkgs/development/python-modules/pyvesync/default.nix +++ b/pkgs/development/python-modules/pyvesync/default.nix @@ -1,27 +1,36 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, requests, + pytestCheckHook, pythonOlder, + pyyaml, + setuptools, }: buildPythonPackage rec { pname = "pyvesync"; - version = "2.1.15"; - format = "setuptools"; + version = "2.1.17"; + pyproject = true; disabled = pythonOlder "3.6"; - src = fetchPypi { - inherit pname version; - hash = "sha256-iXahtcD5jKP5hRtXxtgA3x0+zxaWu1zo/QrWfFEmB0w="; + src = fetchFromGitHub { + owner = "webdjoe"; + repo = "pyvesync"; + tag = version; + hash = "sha256-h5pxoPtIZVfhSHyvCkde2uVMzNjqXEYaMM8+gsNMd/k="; }; - propagatedBuildInputs = [ requests ]; + build-system = [ setuptools ]; - # Test are not available (not in PyPI tarball and there are no GitHub releases) - doCheck = false; + dependencies = [ requests ]; + + nativeCheckInputs = [ + pytestCheckHook + pyyaml + ]; pythonImportsCheck = [ "pyvesync" ]; diff --git a/pkgs/development/python-modules/pyvicare/default.nix b/pkgs/development/python-modules/pyvicare/default.nix index e85e77b5418d..180c4566207f 100644 --- a/pkgs/development/python-modules/pyvicare/default.nix +++ b/pkgs/development/python-modules/pyvicare/default.nix @@ -8,19 +8,18 @@ requests, pytest-cov-stub, pytestCheckHook, - simplejson, }: buildPythonPackage rec { pname = "pyvicare"; - version = "2.40.0"; + version = "2.41.0"; pyproject = true; src = fetchFromGitHub { owner = "openviess"; repo = "PyViCare"; tag = version; - hash = "sha256-jEnTzCQpJOiWtdaZbBgm4G1OsMXctjSRmU2AY2VZgqA="; + hash = "sha256-iNv70l8xHxiF+ifKf0gkJ5W/aOuek/9QYCF8pm6xBiw="; }; postPatch = '' diff --git a/pkgs/development/python-modules/reolink-aio/default.nix b/pkgs/development/python-modules/reolink-aio/default.nix index 52526cec582e..4652d875f1c9 100644 --- a/pkgs/development/python-modules/reolink-aio/default.nix +++ b/pkgs/development/python-modules/reolink-aio/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "reolink-aio"; - version = "0.11.8"; + version = "0.11.9"; pyproject = true; disabled = pythonOlder "3.11"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "starkillerOG"; repo = "reolink_aio"; tag = version; - hash = "sha256-G2Q/mstxjmou161ww3bXEmFuyoblfp8Dw3Kq+L7WVaE="; + hash = "sha256-hqecKAk3kpm3b9wtQTJtWA3H6WxCNiKl4auaolzrvtI="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/restrictedpython/default.nix b/pkgs/development/python-modules/restrictedpython/default.nix index 7455eb58eeb3..5cf21f66d6f2 100644 --- a/pkgs/development/python-modules/restrictedpython/default.nix +++ b/pkgs/development/python-modules/restrictedpython/default.nix @@ -11,19 +11,19 @@ buildPythonPackage rec { pname = "restrictedpython"; - version = "7.4"; + version = "8.0"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-gbYpJHE9vSgJF/zq7K8hD+96Sd3fGgjIwhSjYT++tCU="; + hash = "sha256-OvIxK8Z+X87Yh/uFsAbImGHackiBKLFVvuqB62oKmyQ="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail "setuptools<74" setuptools + --replace-fail "setuptools <= 75.6.0" setuptools ''; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/rflink/default.nix b/pkgs/development/python-modules/rflink/default.nix index 9a99a22adaa8..a71ab45cabed 100644 --- a/pkgs/development/python-modules/rflink/default.nix +++ b/pkgs/development/python-modules/rflink/default.nix @@ -38,6 +38,10 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.py \ --replace "version=version_from_git()" "version='${version}'" + + substituteInPlace rflinkproxy/__main__.py --replace-fail \ + "with async_timeout.timeout(CONNECTION_TIMEOUT):" \ + "async with async_timeout.timeout(CONNECTION_TIMEOUT):" ''; pythonImportsCheck = [ "rflink.protocol" ]; diff --git a/pkgs/development/python-modules/securetar/default.nix b/pkgs/development/python-modules/securetar/default.nix index cc877682630f..215e89a15ca5 100644 --- a/pkgs/development/python-modules/securetar/default.nix +++ b/pkgs/development/python-modules/securetar/default.nix @@ -10,16 +10,16 @@ buildPythonPackage rec { pname = "securetar"; - version = "2025.1.3"; + version = "2025.1.4"; pyproject = true; - disabled = pythonOlder "3.9"; + disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "pvizeli"; repo = "securetar"; tag = version; - hash = "sha256-flsDFXNzpwfNraR4MvjkxOjH6BUNvGqu6g7RXlvl8sU="; + hash = "sha256-vI9u8CUf9rdJwx+Q3ypO9XS/jfRxZV5EOjvKSmQSNa0="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/speechrecognition/default.nix b/pkgs/development/python-modules/speechrecognition/default.nix index 5821ee05a010..c28f04c67c72 100644 --- a/pkgs/development/python-modules/speechrecognition/default.nix +++ b/pkgs/development/python-modules/speechrecognition/default.nix @@ -2,7 +2,10 @@ lib, buildPythonPackage, fetchFromGitHub, + cacert, + faster-whisper, flac, + google-cloud-speech, groq, httpx, openai-whisper, @@ -15,6 +18,7 @@ respx, setuptools, soundfile, + standard-aifc, typing-extensions, }: @@ -43,11 +47,16 @@ buildPythonPackage rec { build-system = [ setuptools ]; - dependencies = [ typing-extensions ]; + dependencies = [ + standard-aifc + typing-extensions + ]; optional-dependencies = { assemblyai = [ requests ]; audio = [ pyaudio ]; + faster-whisper = [ faster-whisper ]; + google-cloud = [ google-cloud-speech ]; groq = [ groq httpx @@ -68,7 +77,12 @@ buildPythonPackage rec { pytestCheckHook pocketsphinx respx - ] ++ lib.flatten (builtins.attrValues optional-dependencies); + ] ++ lib.flatten (lib.attrValues optional-dependencies); + + preCheck = '' + # httpx since 0.28.0+ depends on SSL_CERT_FILE + SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt + ''; pythonImportsCheck = [ "speech_recognition" ]; diff --git a/pkgs/development/python-modules/tesla-fleet-api/default.nix b/pkgs/development/python-modules/tesla-fleet-api/default.nix index 564bab70ca3a..0c41d7a933ce 100644 --- a/pkgs/development/python-modules/tesla-fleet-api/default.nix +++ b/pkgs/development/python-modules/tesla-fleet-api/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "tesla-fleet-api"; - version = "0.9.5"; + version = "0.9.8"; pyproject = true; disabled = pythonOlder "3.10"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "Teslemetry"; repo = "python-tesla-fleet-api"; tag = "v${version}"; - hash = "sha256-45EfV6lqhOn8sorhyzUBKOj6xtd9OzYxB7SLK07IQ08="; + hash = "sha256-Bm+euNX0n2proyc0DCyYcc7lUlx/YhRWpPInWPr40CY="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/teslemetry-stream/default.nix b/pkgs/development/python-modules/teslemetry-stream/default.nix index 6bf8c2e5c9d7..140da66dfb63 100644 --- a/pkgs/development/python-modules/teslemetry-stream/default.nix +++ b/pkgs/development/python-modules/teslemetry-stream/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "teslemetry-stream"; - version = "0.6.6"; + version = "0.6.10"; pyproject = true; src = fetchFromGitHub { owner = "Teslemetry"; repo = "python-teslemetry-stream"; tag = "v${version}"; - hash = "sha256-6LecUx+5CUJybIHwA4OY57gu2odoE2xq02vp13vDYLk="; + hash = "sha256-HYOjmFVyPPQ+NizmEhrse868IELHn0fGfr55MwTpP3w="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/todoist-api-python/default.nix b/pkgs/development/python-modules/todoist-api-python/default.nix index c5d55d14daeb..dcb621032cad 100644 --- a/pkgs/development/python-modules/todoist-api-python/default.nix +++ b/pkgs/development/python-modules/todoist-api-python/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchFromGitHub, - fetchpatch, poetry-core, pytest-asyncio, pytestCheckHook, @@ -13,30 +12,21 @@ buildPythonPackage rec { pname = "todoist-api-python"; - version = "2.1.3"; - format = "pyproject"; + version = "2.1.7"; + pyproject = true; disabled = pythonOlder "3.11"; src = fetchFromGitHub { owner = "Doist"; - repo = pname; + repo = "todoist-api-python"; tag = "v${version}"; - hash = "sha256-Xi3B/Nl5bMbW0lYwrkEbBgFTEl07YkFyN18kN0WyGyw="; + hash = "sha256-qOb9qAwjQ0MqR+mdNEkt7W8SiBhZ8gRf01TsHDkLPS4="; }; - patches = [ - # Switch to poetry-core, https://github.com/Doist/todoist-api-python/pull/81 - (fetchpatch { - name = "switch-to-poetry-core.patch"; - url = "https://github.com/Doist/todoist-api-python/commit/42288e066d2f0c69611ab50cb57ca98b8c6bd1ca.patch"; - hash = "sha256-yq+VVvjPYywvUn+ydyWVQPkiYPYWe9U6w38G54L2lkE="; - }) - ]; + build-system = [ poetry-core ]; - nativeBuildInputs = [ poetry-core ]; - - propagatedBuildInputs = [ requests ]; + dependencies = [ requests ]; nativeCheckInputs = [ pytest-asyncio diff --git a/pkgs/development/python-modules/total-connect-client/default.nix b/pkgs/development/python-modules/total-connect-client/default.nix index f8b86f028e10..79c1d1860437 100644 --- a/pkgs/development/python-modules/total-connect-client/default.nix +++ b/pkgs/development/python-modules/total-connect-client/default.nix @@ -2,15 +2,18 @@ lib, buildPythonPackage, fetchFromGitHub, + pycryptodome, + pyjwt, pytestCheckHook, pythonOlder, + requests-mock, setuptools, zeep, }: buildPythonPackage rec { pname = "total-connect-client"; - version = "2024.12.1"; + version = "2025.1.4"; pyproject = true; disabled = pythonOlder "3.10"; @@ -19,14 +22,23 @@ buildPythonPackage rec { owner = "craigjmidwinter"; repo = "total-connect-client"; tag = version; - hash = "sha256-FcPm2Nc6pUGC86K3GLAiQRot0JXYqoZh19dXMCl99eI="; + hash = "sha256-zzSYi/qhHmugH30bnYHK9lCBVN5wuv6n9rvaZC/sIag="; }; build-system = [ setuptools ]; - dependencies = [ zeep ]; + pythonRelaxDeps = [ "pycryptodome" ]; - nativeCheckInputs = [ pytestCheckHook ]; + dependencies = [ + pycryptodome + pyjwt + zeep + ]; + + nativeCheckInputs = [ + pytestCheckHook + requests-mock + ]; pythonImportsCheck = [ "total_connect_client" ]; diff --git a/pkgs/development/python-modules/uiprotect/default.nix b/pkgs/development/python-modules/uiprotect/default.nix index fc45776a64e1..0e91b028c2c1 100644 --- a/pkgs/development/python-modules/uiprotect/default.nix +++ b/pkgs/development/python-modules/uiprotect/default.nix @@ -40,7 +40,7 @@ buildPythonPackage rec { pname = "uiprotect"; - version = "7.5.0"; + version = "7.5.1"; pyproject = true; disabled = pythonOlder "3.10"; @@ -49,7 +49,7 @@ buildPythonPackage rec { owner = "uilibs"; repo = "uiprotect"; tag = "v${version}"; - hash = "sha256-tOozcXDXQI3l5dMQ8WqBrC7wLVbl5iomsuy/hYL3emE="; + hash = "sha256-moGS1hfCU8BCdAzvr0Np7lF32RucigM9YANZI6+sALw="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/velbus-aio/default.nix b/pkgs/development/python-modules/velbus-aio/default.nix index 50bc65c0ee25..848b8331010f 100644 --- a/pkgs/development/python-modules/velbus-aio/default.nix +++ b/pkgs/development/python-modules/velbus-aio/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "velbus-aio"; - version = "2025.1.0"; + version = "2025.1.1"; pyproject = true; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "Cereal2nd"; repo = "velbus-aio"; tag = version; - hash = "sha256-ZaaHywHX1TScjW0XN/krCYgupHlbH1mRB0fd7YZ2iMY="; + hash = "sha256-r6j2C+x7BX7EOFdrQ/N5/NRjHFgyxiQlq/cXnnCg73s="; fetchSubmodules = true; }; diff --git a/pkgs/development/python-modules/voip-utils/default.nix b/pkgs/development/python-modules/voip-utils/default.nix index 8ce6eab7d732..c39b4d18d5b7 100644 --- a/pkgs/development/python-modules/voip-utils/default.nix +++ b/pkgs/development/python-modules/voip-utils/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "voip-utils"; - version = "0.2.2"; + version = "0.3.1"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "voip-utils"; tag = "v${version}"; - hash = "sha256-OlvZSVuoGQi0QEusl01nbw3oD75NfMsbpNOPQgWYu+c="; + hash = "sha256-43g7ArhIZVyZ+VnzenldrQfr6kjpAxPNrK/vazYED+w="; }; postPatch = '' diff --git a/pkgs/development/python-modules/weheat/default.nix b/pkgs/development/python-modules/weheat/default.nix index b6d4cba40525..de58ef636366 100644 --- a/pkgs/development/python-modules/weheat/default.nix +++ b/pkgs/development/python-modules/weheat/default.nix @@ -1,6 +1,8 @@ { lib, aenum, + aiohttp-retry, + aiohttp, buildPythonPackage, fetchFromGitHub, pydantic, @@ -33,6 +35,8 @@ buildPythonPackage rec { dependencies = [ aenum + aiohttp + aiohttp-retry pydantic python-dateutil urllib3 diff --git a/pkgs/development/python-modules/zeep/default.nix b/pkgs/development/python-modules/zeep/default.nix index 645177e181da..13c8788fd442 100644 --- a/pkgs/development/python-modules/zeep/default.nix +++ b/pkgs/development/python-modules/zeep/default.nix @@ -59,8 +59,8 @@ buildPythonPackage rec { ]; optional-dependencies = { - async_require = [ httpx ]; - xmlsec_require = [ xmlsec ]; + async = [ httpx ]; + xmlsec = [ xmlsec ]; }; pythonImportsCheck = [ "zeep" ]; diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix index aedb7ae3b606..c060ffc8bbbf 100644 --- a/pkgs/development/python-modules/zeroconf/default.nix +++ b/pkgs/development/python-modules/zeroconf/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "zeroconf"; - version = "0.140.1"; + version = "0.143.0"; pyproject = true; disabled = pythonOlder "3.9"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "jstasiak"; repo = "python-zeroconf"; tag = version; - hash = "sha256-+F0pq6fmfyEtfKS16y5JjjRZl4BeaWi6honZyyHJApY="; + hash = "sha256-yN5N+SosNDcwotEH2oyVMRI717LXIRKtzHQ4VI4WoMQ="; }; build-system = [ @@ -64,7 +64,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python implementation of multicast DNS service discovery"; homepage = "https://github.com/python-zeroconf/python-zeroconf"; - changelog = "https://github.com/python-zeroconf/python-zeroconf/releases/tag/${src.tag}"; + changelog = "https://github.com/python-zeroconf/python-zeroconf/blob/${src.tag}/CHANGELOG.md"; license = licenses.lgpl21Only; maintainers = with maintainers; [ abbradar ]; }; diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix index cb2ba3270dce..2ed4b3aa9249 100644 --- a/pkgs/development/python-modules/zha-quirks/default.nix +++ b/pkgs/development/python-modules/zha-quirks/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "zha-quirks"; - version = "0.0.130"; + version = "0.0.131"; pyproject = true; disabled = pythonOlder "3.12"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zha-device-handlers"; tag = version; - hash = "sha256-G5q4W9Dxjhjbkt5rcYhseeaSWC73MJCo/pX/OfNlPrQ="; + hash = "sha256-MSTlSvZhamWX7lNzJjDGxyo9KfshZ7T1ED8axx1Aghs="; }; postPatch = '' diff --git a/pkgs/development/python-modules/zha/default.nix b/pkgs/development/python-modules/zha/default.nix index 6e3babb9d9ac..5c0ee8391ec9 100644 --- a/pkgs/development/python-modules/zha/default.nix +++ b/pkgs/development/python-modules/zha/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { pname = "zha"; - version = "0.0.45"; + version = "0.0.47"; pyproject = true; disabled = pythonOlder "3.12"; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zha"; tag = version; - hash = "sha256-KeHGuQGEoXQnIJKQ86DrsoufN+Ppp/fyYblXx2iGHgU="; + hash = "sha256-BDZqReJWmxodP1w3fdxUHbjY9dL+6hUQZ0YazeiERrM="; }; postPatch = '' diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix index 3d7611c95bb0..abb8f03f3dd9 100644 --- a/pkgs/development/python-modules/zigpy/default.nix +++ b/pkgs/development/python-modules/zigpy/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { pname = "zigpy"; - version = "0.74.0"; + version = "0.76.1"; pyproject = true; disabled = pythonOlder "3.9"; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zigpy"; tag = version; - hash = "sha256-B0BjDldIzHGRKR79mqgJHbvYeDGY5EDxFKaD2Q+HMyo="; + hash = "sha256-ZPNMlaktdSElOfKf3SmI08RGRSpI5hK2khWoJybtJh4="; }; postPatch = '' diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 7aeda49df62a..132e2528e0fa 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 = "2025.1.4"; + version = "2025.2.0"; components = { "3_day_blinds" = ps: with ps; [ @@ -17,6 +17,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -34,7 +35,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "accuweather" = @@ -118,6 +118,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher airthings-ble bleak bleak-esphome @@ -136,7 +137,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "airtouch4" = @@ -330,6 +330,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher aranet4 bleak bleak-esphome @@ -348,7 +349,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "arcam_fmj" = @@ -376,7 +376,7 @@ "arwn" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt ]; "aseko_pool_live" = ps: with ps; [ @@ -471,7 +471,7 @@ ps: with ps; [ aiohasupervisor axis - paho-mqtt_1 + paho-mqtt ]; "azure_data_explorer" = ps: @@ -567,6 +567,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -585,7 +586,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "blueprint" = @@ -599,6 +599,7 @@ ]; "bluetooth" = ps: with ps; [ + aiousbwatcher bleak bleak-retry-connector bluetooth-adapters @@ -607,13 +608,13 @@ dbus-fast habluetooth pyserial - pyudev ]; "bluetooth_adapters" = ps: with ps; [ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -631,7 +632,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "bluetooth_le_tracker" = @@ -639,6 +639,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -656,7 +657,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "bluetooth_tracker" = @@ -739,6 +739,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -757,7 +758,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "bticino" = @@ -968,11 +968,11 @@ ]; "crownstone" = ps: with ps; [ + aiousbwatcher crownstone-cloud crownstone-sse crownstone-uart pyserial - pyudev ]; "cups" = ps: with ps; [ @@ -1026,11 +1026,15 @@ "decora_wifi" = ps: with ps; [ ]; # missing inputs: decora-wifi + "decorquip" = + ps: with ps; [ + ]; "default_config" = ps: with ps; [ aiodhcpwatcher aiodiscover aiohasupervisor + aiousbwatcher async-upnp-client av bleak @@ -1060,7 +1064,6 @@ pyspeex-noise python-matter-server pyturbojpeg - pyudev securetar sqlalchemy zeroconf @@ -1116,6 +1119,8 @@ "devolo_home_network" = ps: with ps; [ devolo-plc-api + ifaddr + zeroconf ]; "dexcom" = ps: with ps; [ @@ -1205,6 +1210,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -1223,7 +1229,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "downloader" = @@ -1237,7 +1242,7 @@ ps: with ps; [ aiohasupervisor dropmqttapi - paho-mqtt_1 + paho-mqtt ]; "dsmr" = ps: with ps; [ @@ -1246,7 +1251,7 @@ "dsmr_reader" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt ]; "dublin_bus_transport" = ps: with ps; [ @@ -1492,6 +1497,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -1510,7 +1516,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "escea" = @@ -1523,6 +1528,7 @@ "esphome" = ps: with ps; [ aioesphomeapi + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -1540,7 +1546,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "etherscan" = @@ -1555,6 +1560,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -1573,7 +1579,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "event" = @@ -1691,6 +1696,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -1709,7 +1715,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "fleetgo" = @@ -1849,7 +1854,7 @@ "fully_kiosk" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt python-fullykiosk ]; "futurenow" = @@ -1872,6 +1877,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -1890,7 +1896,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "gaviota" = @@ -2006,6 +2011,13 @@ google-cloud-speech google-cloud-texttospeech ]; + "google_drive" = + ps: with ps; [ + aiohasupervisor + cronsim + python-google-drive-api + securetar + ]; "google_generative_ai_conversation" = ps: with ps; [ google-generativeai @@ -2056,6 +2068,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -2074,7 +2087,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "govee_light_local" = @@ -2124,7 +2136,7 @@ ]; "habitica" = ps: with ps; [ - habitipy + habiticalib ]; "hardkernel" = ps: with ps; [ @@ -2244,41 +2256,31 @@ "homeassistant_green" = ps: with ps; [ aiohasupervisor - pillow psutil-home-assistant - pyserial - pyudev universal-silabs-flasher - zha ]; "homeassistant_hardware" = ps: with ps; [ aiohasupervisor - pillow - pyserial - pyudev universal-silabs-flasher - zha ]; "homeassistant_sky_connect" = ps: with ps; [ aiohasupervisor - pillow + aiousbwatcher psutil-home-assistant pyserial - pyudev universal-silabs-flasher - zha ]; "homeassistant_yellow" = ps: with ps; [ aiohasupervisor - pillow psutil-home-assistant - pyserial - pyudev universal-silabs-flasher - zha + ]; + "homee" = + ps: with ps; [ + pyhomee ]; "homekit" = ps: with ps; [ @@ -2297,6 +2299,7 @@ aiohomekit aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -2316,7 +2319,6 @@ pyserial pyspeex-noise python-otbr-api - pyudev zeroconf ]; "homematic" = @@ -2386,6 +2388,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher automower-ble bleak bleak-esphome @@ -2404,7 +2407,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "huum" = @@ -2441,6 +2443,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -2459,7 +2462,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "icloud" = @@ -2471,6 +2473,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -2489,7 +2492,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "idteck_prox" = @@ -2502,6 +2504,10 @@ "iglo" = ps: with ps; [ ]; # missing inputs: iglo + "igloohome" = + ps: with ps; [ + igloohome-api + ]; "ign_sismologia" = ps: with ps; [ georss-ign-sismologia-client @@ -2535,6 +2541,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -2553,7 +2560,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "incomfort" = @@ -2573,6 +2579,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -2591,7 +2598,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "input_boolean" = @@ -2618,13 +2624,13 @@ "insteon" = ps: with ps; [ aiohasupervisor + aiousbwatcher cronsim home-assistant-frontend insteon-frontend-home-assistant pillow pyinsteon pyserial - pyudev securetar ]; "integration" = @@ -2680,6 +2686,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -2698,7 +2705,6 @@ pynecil pyserial pyspeex-noise - pyudev zeroconf ]; "isal" = @@ -2799,6 +2805,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -2817,7 +2824,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "kentuckypower" = @@ -2836,6 +2842,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -2854,7 +2861,6 @@ pymicrobot pyserial pyspeex-noise - pyudev zeroconf ]; "kira" = @@ -2930,6 +2936,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -2948,7 +2955,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "lametric" = @@ -2957,8 +2963,8 @@ ]; "landisgyr_heat_meter" = ps: with ps; [ + aiousbwatcher pyserial - pyudev ultraheat-api ]; "lannouncer" = @@ -2994,6 +3000,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -3012,7 +3019,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "leaone" = @@ -3020,6 +3026,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -3038,7 +3045,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "led_ble" = @@ -3046,6 +3052,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -3064,7 +3071,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "legrand" = @@ -3074,6 +3080,10 @@ ps: with ps; [ lektricowifi ]; + "letpot" = + ps: with ps; [ + letpot + ]; "lg_netcast" = ps: with ps; [ ifaddr @@ -3219,7 +3229,9 @@ "lovelace" = ps: with ps; [ aiohasupervisor + cronsim pillow + securetar ]; "luci" = ps: with ps; [ @@ -3268,7 +3280,7 @@ "manual_mqtt" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt ]; "marantz" = ps: with ps; [ @@ -3300,6 +3312,18 @@ "mazda" = ps: with ps; [ ]; + "mcp" = + ps: with ps; [ + mcp + ]; + "mcp_server" = + ps: with ps; [ + aiohttp-sse + anyio + hassil + home-assistant-intents + mcp + ]; "mealie" = ps: with ps; [ aiomealie @@ -3313,6 +3337,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -3330,7 +3355,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; # missing inputs: medcom-ble "media_extractor" = @@ -3362,6 +3386,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -3380,7 +3405,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "meraki" = @@ -3473,6 +3497,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -3491,7 +3516,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "mobile_app" = @@ -3520,9 +3544,9 @@ ]; "modem_callerid" = ps: with ps; [ + aiousbwatcher phone-modem pyserial - pyudev ]; "modern_forms" = ps: with ps; [ @@ -3555,6 +3579,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -3573,7 +3598,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "motion_blinds" = @@ -3586,6 +3610,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -3604,7 +3629,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "motioneye" = @@ -3622,27 +3646,27 @@ "mqtt" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt ]; "mqtt_eventstream" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt ]; "mqtt_json" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt ]; "mqtt_room" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt ]; "mqtt_statestream" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt ]; "msteams" = ps: with ps; [ @@ -3674,7 +3698,7 @@ "mysensors" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt pymysensors ]; "mystrom" = @@ -3945,7 +3969,9 @@ "onboarding" = ps: with ps; [ aiohasupervisor + cronsim pillow + securetar ]; "oncue" = ps: with ps; [ @@ -3955,6 +3981,10 @@ ps: with ps; [ ondilo ]; + "onedrive" = + ps: with ps; [ + onedrive-personal-sdk + ]; "onewire" = ps: with ps; [ pyownet @@ -4048,6 +4078,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -4066,7 +4097,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "oru" = @@ -4089,13 +4119,15 @@ "otbr" = ps: with ps; [ aiohasupervisor + aiousbwatcher + cronsim ifaddr pillow psutil-home-assistant pyroute2 pyserial python-otbr-api - pyudev + securetar universal-silabs-flasher zeroconf zha @@ -4112,6 +4144,22 @@ ps: with ps; [ pyoverkiz ]; + "overseerr" = + ps: with ps; [ + aiohasupervisor + cronsim + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + python-matter-server + python-overseerr + pyturbojpeg + securetar + ]; "ovo_energy" = ps: with ps; [ ovoenergy @@ -4125,7 +4173,7 @@ hassil home-assistant-intents mutagen - paho-mqtt_1 + paho-mqtt pymicro-vad pynacl pyspeex-noise @@ -4296,6 +4344,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -4313,7 +4362,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev zeroconf ]; "profiler" = @@ -4409,11 +4457,18 @@ ps: with ps; [ qbittorrent-api ]; + "qbus" = + ps: with ps; [ + aiohasupervisor + paho-mqtt + qbusmqttapi + ]; "qingping" = ps: with ps; [ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -4431,7 +4486,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev qingping-ble zeroconf ]; @@ -4518,8 +4572,8 @@ "rainforest_raven" = ps: with ps; [ aioraven + aiousbwatcher pyserial - pyudev ]; "rainmachine" = ps: with ps; [ @@ -4533,6 +4587,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -4550,7 +4605,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev rapt-ble zeroconf ]; @@ -4751,6 +4805,7 @@ "ruuvi_gateway" = ps: with ps; [ aioruuvigateway + aiousbwatcher bleak bleak-retry-connector bluetooth-adapters @@ -4759,13 +4814,13 @@ dbus-fast habluetooth pyserial - pyudev ]; "ruuvitag_ble" = ps: with ps; [ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -4783,7 +4838,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev ruuvitag-ble zeroconf ]; @@ -4886,6 +4940,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -4903,7 +4958,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev sensirion-ble zeroconf ]; @@ -4921,6 +4975,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -4938,7 +4993,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev sensorpro-ble zeroconf ]; @@ -4947,6 +5001,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -4964,7 +5019,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev sensorpush-ble zeroconf ]; @@ -5013,6 +5067,7 @@ "shelly" = ps: with ps; [ aioshelly + aiousbwatcher bleak bleak-retry-connector bluetooth-adapters @@ -5022,7 +5077,6 @@ habluetooth ifaddr pyserial - pyudev ]; "shodan" = ps: with ps; [ @@ -5185,7 +5239,7 @@ "snips" = ps: with ps; [ aiohasupervisor - paho-mqtt_1 + paho-mqtt ]; "snmp" = ps: with ps; [ @@ -5196,6 +5250,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -5214,7 +5269,6 @@ pyserial pysnooz pyspeex-noise - pyudev zeroconf ]; "solaredge" = @@ -5421,6 +5475,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -5439,7 +5494,6 @@ pyserial pyspeex-noise pyswitchbot - pyudev zeroconf ]; "switchbot_cloud" = @@ -5529,7 +5583,7 @@ ps: with ps; [ aiohasupervisor hatasmota - paho-mqtt_1 + paho-mqtt ]; "tautulli" = ps: with ps; [ @@ -5612,6 +5666,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -5629,7 +5684,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev thermobeacon-ble zeroconf ]; @@ -5641,6 +5695,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -5658,7 +5713,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev thermopro-ble zeroconf ]; @@ -5704,6 +5758,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -5721,7 +5776,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev tilt-ble zeroconf ]; @@ -5976,8 +6030,8 @@ ]; "usb" = ps: with ps; [ + aiousbwatcher pyserial - pyudev ]; "usgs_earthquakes_feed" = ps: with ps; [ @@ -6011,8 +6065,8 @@ ]; "velbus" = ps: with ps; [ + aiousbwatcher pyserial - pyudev velbus-aio ]; "velux" = @@ -6085,6 +6139,7 @@ ha-ffmpeg hassil home-assistant-intents + ifaddr mutagen pymicro-vad pyspeex-noise @@ -6295,6 +6350,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -6312,7 +6368,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev xiaomi-ble zeroconf ]; @@ -6363,6 +6418,7 @@ aioesphomeapi aioruuvigateway aioshelly + aiousbwatcher bleak bleak-esphome bleak-retry-connector @@ -6380,7 +6436,6 @@ pymicro-vad pyserial pyspeex-noise - pyudev yalexs-ble zeroconf ]; @@ -6463,9 +6518,11 @@ "zha" = ps: with ps; [ aiohasupervisor + aiousbwatcher + cronsim pillow pyserial - pyudev + securetar universal-silabs-flasher zha ]; @@ -6491,8 +6548,8 @@ "zwave_js" = ps: with ps; [ aiohasupervisor + aiousbwatcher pyserial - pyudev zwave-js-server-python ]; "zwave_me" = @@ -6784,6 +6841,7 @@ "google_assistant" "google_assistant_sdk" "google_cloud" + "google_drive" "google_generative_ai_conversation" "google_mail" "google_photos" @@ -6825,6 +6883,7 @@ "homeassistant_hardware" "homeassistant_sky_connect" "homeassistant_yellow" + "homee" "homekit" "homekit_controller" "homematic" @@ -6851,6 +6910,7 @@ "icloud" "idasen_desk" "ifttt" + "igloohome" "ign_sismologia" "image" "image_processing" @@ -6917,6 +6977,7 @@ "leaone" "led_ble" "lektrico" + "letpot" "lg_netcast" "lg_soundbar" "lg_thinq" @@ -6956,6 +7017,8 @@ "matter" "maxcube" "mazda" + "mcp" + "mcp_server" "mealie" "meater" "media_extractor" @@ -7028,6 +7091,7 @@ "niko_home_control" "nina" "nmap_tracker" + "nmbs" "no_ip" "nobo_hub" "nordpool" @@ -7050,6 +7114,7 @@ "onboarding" "oncue" "ondilo_ico" + "onedrive" "onewire" "onkyo" "onvif" @@ -7072,6 +7137,7 @@ "otp" "ourgroceries" "overkiz" + "overseerr" "ovo_energy" "owntracks" "p1_monitor" @@ -7111,6 +7177,7 @@ "pyload" "python_script" "qbittorrent" + "qbus" "qingping" "qld_bushfire" "qnap" diff --git a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix index d524cd8fdffe..062a26dbfb01 100644 --- a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix @@ -9,13 +9,13 @@ buildHomeAssistantComponent rec { owner = "SukramJ"; domain = "homematicip_local"; - version = "1.80.0"; + version = "1.81.2"; src = fetchFromGitHub { owner = "SukramJ"; repo = "custom_homematic"; tag = version; - hash = "sha256-smagkEz5ec3Wrv5ldMY9hv+TnSzQ7pbZUURnTKBsF1g="; + hash = "sha256-8B1zaU0fMRN2drJvfdifEXM2bXwHBD6PP7/c8lXQPLA="; }; postPatch = '' diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 0c65e367f17b..e2820564630a 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -4,7 +4,6 @@ callPackage, fetchFromGitHub, fetchPypi, - fetchpatch2, python313, substituteAll, ffmpeg-headless, @@ -46,6 +45,17 @@ let ]; }); + aiomqtt = super.aiomqtt.overridePythonAttrs (rec { + version = "2.0.1"; + src = fetchFromGitHub { + owner = "sbtinstruments"; + repo = "aiomqtt"; + tag = "v${version}"; + hash = "sha256-bV1elEO1518LVLwNDN5pzjxRgcG34K1XUsK7fTw8h+8="; + }; + meta.broken = false; + }); + aioskybell = super.aioskybell.overridePythonAttrs (oldAttrs: rec { version = "22.7.0"; src = fetchFromGitHub { @@ -88,6 +98,37 @@ let ]; }); + async-timeout = super.async-timeout.overridePythonAttrs (oldAttrs: rec { + version = "4.0.3"; + src = fetchFromGitHub { + owner = "aio-libs"; + repo = "async-timeout"; + tag = "v${version}"; + hash = "sha256-gJGVRm7YMWnVicz2juHKW8kjJBxn4/vQ/kc2kQyl1i4="; + }; + }); + + eq3btsmart = super.eq3btsmart.overridePythonAttrs (oldAttrs: rec { + version = "1.4.1"; + src = fetchFromGitHub { + owner = "EuleMitKeule"; + repo = "eq3btsmart"; + tag = version; + hash = "sha256-FRnCnSMtsiZ1AbZOMwO/I5UoFWP0xAFqRZsnrHG9WJA="; + }; + build-system = with self; [ poetry-core ]; + }); + + govee-local-api = super.govee-local-api.overridePythonAttrs (oldAttrs: rec { + version = "1.5.3"; + src = fetchFromGitHub { + owner = "Galorhallen"; + repo = "govee-local-api"; + tag = "v${version}"; + hash = "sha256-qBT0Xub+eL7rfF+lQWlheBJSahEKWjREGJQD6sHjTPk="; + }; + }); + gspread = super.gspread.overridePythonAttrs (oldAttrs: rec { version = "5.12.4"; src = fetchFromGitHub { @@ -101,6 +142,16 @@ let ]; }); + letpot = super.letpot.overridePythonAttrs (rec { + version = "0.3.0"; + src = fetchFromGitHub { + owner = "jpelgrom"; + repo = "python-letpot"; + tag = "v${version}"; + hash = "sha256-OFLQ0DV7roqUlm6zJWAzMRpcmAi/oco8lEHbmfqNaVs="; + }; + }); + openhomedevice = super.openhomedevice.overridePythonAttrs (oldAttrs: rec { version = "2.2"; src = fetchFromGitHub { @@ -110,6 +161,8 @@ let }; }); + paho-mqtt = super.paho-mqtt_1; + pymelcloud = super.pymelcloud.overridePythonAttrs (oldAttrs: { version = "2.5.9"; src = fetchFromGitHub { @@ -205,6 +258,18 @@ let }; }); + pyrail = super.pyrail.overridePythonAttrs (rec { + version = "0.0.3"; + src = fetchPypi { + pname = "pyrail"; + inherit version; + hash = "sha256-XxcVcRXMjYAKevANAqNJkGDUWfxDaLqgCL6XL9Lhsf4="; + }; + env.CI_JOB_ID = version; + build-system = [ self.setuptools ]; + dependencies = [ self.requests ]; + }); + # snmp component does not support pysnmp 7.0+ pysnmp = super.pysnmp.overridePythonAttrs (oldAttrs: rec { version = "6.2.6"; @@ -255,22 +320,6 @@ let doCheck = false; }); - slack-sdk = super.slack-sdk.overridePythonAttrs (oldAttrs: rec { - version = "2.5.0"; - src = fetchFromGitHub { - owner = "slackapi"; - repo = "python-slackclient"; - rev = "refs/tags/${version}"; - hash = "sha256-U//HUe6e41wOOzoaDl4yXPnEASCzpGBIScHStWMN8tk="; - }; - postPatch = '' - substituteInPlace setup.py \ - --replace-fail "pytest-runner" "" - ''; - pythonImportsCheck = [ "slack" ]; - doCheck = false; # Tests changed a lot for > 3 - }); - vulcan-api = super.vulcan-api.overridePythonAttrs (oldAttrs: rec { version = "2.3.2"; src = fetchFromGitHub { @@ -320,7 +369,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2025.1.4"; + hassVersion = "2025.2.0"; in python.pkgs.buildPythonApplication rec { @@ -341,13 +390,13 @@ python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-QqWF/uvFQbf0tdJMzFV3hAt9Je5sFR5z+aAPtCxycbM="; + hash = "sha256-TGlfqvmYUPA5wdvZWD89z6lfvDr+K/1kgu6NjkRpNxs="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-yzX4Wgo468On/WuK32Xdl0O3en/WFRdykvfvHNEU1S0="; + hash = "sha256-+dkS6AuqyzvC2NiGCGkDAGxF/kS/LuKkMFXWXjC3I8Y="; }; build-system = with python.pkgs; [ @@ -395,18 +444,15 @@ python.pkgs.buildPythonApplication rec { src = ./patches/ffmpeg-path.patch; ffmpeg = "${lib.getExe ffmpeg-headless}"; }) - - (fetchpatch2 { - # python-matter-server 7.0 compat - url = "https://github.com/home-assistant/core/commit/ea4931ca3a91920b66a747a18a2dece2c8215d4f.patch"; - hash = "sha256-evfMdBdEYsVSu2iDZ5xgNTg/QljJ+MXrV69g9liNcN4="; - }) ]; postPatch = '' substituteInPlace tests/test_core_config.py --replace-fail '"/usr"' "\"$NIX_BUILD_TOP/media\"" sed -i 's/setuptools[~=]/setuptools>/' pyproject.toml + + substituteInPlace tests/components/hassio/test_backup.py \ + --replace-fail setup_integration setup_backup_integration ''; dependencies = with python.pkgs; [ @@ -414,6 +460,7 @@ python.pkgs.buildPythonApplication rec { aiodns aiohasupervisor aiohttp + aiohttp-asyncmdnsresolver aiohttp-cors aiohttp-fast-zlib aiozoneinfo diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 033672d7666e..79914ed854f3 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { # 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 = "20250109.2"; + version = "20250205.0"; format = "wheel"; src = fetchPypi { @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-jE8+QzYUftQFuGgJuvFYIzZ9DsEFoNpPS94Wjmk73Ss="; + hash = "sha256-9P2OqnPNPydBi4k9iN0hSyGTyBW4PohdgJwQqa8MlYg="; }; # 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 af4f2a7c32fb..61e8d722e969 100644 --- a/pkgs/servers/home-assistant/intents.nix +++ b/pkgs/servers/home-assistant/intents.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "home-assistant-intents"; - version = "2025.1.1"; + version = "2025.2.5"; pyproject = true; disabled = pythonOlder "3.9"; @@ -32,7 +32,7 @@ buildPythonPackage rec { repo = "intents-package"; rev = "refs/tags/${version}"; fetchSubmodules = true; - hash = "sha256-OeGupmeZ2KLpQHc0d50itTvlrA5XziKU8cAz9i6ztSw="; + hash = "sha256-x6B7UF6l9vMFscD8aPZ05N0HXo5d8XSONrrr6u+Ol3g="; }; build-system = [ diff --git a/pkgs/servers/home-assistant/patches/tests-mock-source-ip.patch b/pkgs/servers/home-assistant/patches/tests-mock-source-ip.patch deleted file mode 100644 index 6812ee1915bb..000000000000 --- a/pkgs/servers/home-assistant/patches/tests-mock-source-ip.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/homeassistant/components/network/__init__.py b/homeassistant/components/network/__init__.py -index b3ef88e7ab..b7a8471e1a 100644 ---- a/homeassistant/components/network/__init__.py -+++ b/homeassistant/components/network/__init__.py -@@ -30,7 +30,7 @@ async def async_get_source_ip( - ) -> str: - """Get the source ip for a target ip.""" - adapters = await async_get_adapters(hass) -- all_ipv4s = [] -+ all_ipv4s = ["127.0.0.1"] - for adapter in adapters: - if adapter["enabled"] and (ipv4s := adapter["ipv4"]): - all_ipv4s.extend([ipv4["address"] for ipv4 in ipv4s]) diff --git a/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix b/pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix index 3434aeb4ff97..1cea64518f09 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.204"; + version = "0.13.210"; pyproject = true; disabled = pythonOlder "3.12"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "MatthewFlamm"; repo = "pytest-homeassistant-custom-component"; rev = "refs/tags/${version}"; - hash = "sha256-yYcUQwf9DDeJvnkmPPvESJdXt7VY/TVYD6UoguXta5s="; + hash = "sha256-SQCxuMmLYfZ1xzaIko5VJiKtu8LqzJIW4Rk8ze/VSEg="; }; build-system = [ setuptools ]; diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index f375854db3bc..66f7fb3eca5b 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 = "2025.1.4"; + version = "2025.2.0"; pyproject = true; disabled = python.version != home-assistant.python.version; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; rev = "refs/tags/${version}"; - hash = "sha256-ysebkp0wrCGHRuHZMY6P4ftcth3gsHwtRcSGUN/7noI="; + hash = "sha256-u9RclA8vtsr34TKdocFgc3e/LjaRjP3fqQC0QjqsOs4="; }; build-system = [ diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index 99edc7936034..a45707b4cdb6 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -14,6 +14,9 @@ let ibeacon-ble ]; hassio = getComponentDeps "homeassistant_yellow"; + homeassistant_hardware = getComponentDeps "zha"; + homeassistant_sky_connect = getComponentDeps "zha"; + homeassistant_yellow = getComponentDeps "zha"; husqvarna_automower_ble = getComponentDeps "gardena_bluetooth"; lovelace = [ pychromecast @@ -36,6 +39,7 @@ let songpal = [ isal ]; + swiss_public_transport = getComponentDeps "cookidoo"; system_log = [ isal ]; @@ -52,6 +56,10 @@ let }; extraDisabledTestPaths = { + overseerr = [ + # imports broken future module + "tests/components/overseerr/test_event.py" + ]; }; extraDisabledTests = { @@ -59,10 +67,6 @@ let # tries to retrieve file from github "test_non_text_stdout_capture" ]; - sma = [ - # missing operating_status attribute in entity - "test_sensor_entities" - ]; websocket_api = [ # AssertionError: assert 'unknown_error' == 'template_error' "test_render_template_with_timeout" @@ -70,46 +74,20 @@ let }; extraPytestFlagsArray = { - conversation = [ - # Expected: Sorry, I am not aware of any device called missing entity on ground floor - # Actually: Sorry, I am not aware of any area called ground floor - "--deselect tests/components/conversation/test_default_agent.py::test_error_no_device_on_floor" - ]; dnsip = [ # Tries to resolve DNS entries "--deselect tests/components/dnsip/test_config_flow.py::test_options_flow" ]; - honeywell = [ - # Failed: Unused ignore translations: component.honeywell.config.abort.reauth_successful. Please remove them from the ignore_translations fixture. - "--deselect=tests/components/honeywell/test_config_flow.py::test_reauth_flow" - ]; jellyfin = [ # AssertionError: assert 'audio/x-flac' == 'audio/flac' "--deselect tests/components/jellyfin/test_media_source.py::test_resolve" "--deselect tests/components/jellyfin/test_media_source.py::test_audio_codec_resolve" - # AssertionError: assert [+ received] == [- snapshot] "--deselect tests/components/jellyfin/test_media_source.py::test_music_library" ]; - jewish_calendar = [ - # Failed: Unused ignore translations: component.jewish_calendar.config.abort.reconfigure_successful. Please remove them from the ignore_translations fixture. - "--deselect tests/components/jewish_calendar/test_config_flow.py::test_reconfigure" - ]; modem_callerid = [ # aioserial mock produces wrong state "--deselect tests/components/modem_callerid/test_init.py::test_setup_entry" ]; - nina = [ - # Failed: Unused ignore translations: component.nina.options.error.unknown. Please remove them from the ignore_translations fixture. - "--deselect tests/components/nina/test_config_flow.py::test_options_flow_unexpected_exception" - ]; - sql = [ - "-W" - "ignore::sqlalchemy.exc.SAWarning" - ]; - vicare = [ - # Snapshot 'test_all_entities[sensor.model0_electricity_consumption_today-entry]' does not exist! - "--deselect=tests/components/vicare/test_sensor.py::test_all_entities" - ]; }; in lib.listToAttrs ( @@ -140,19 +118,6 @@ lib.listToAttrs ( ++ extraPytestFlagsArray.${component} or [ ] ++ [ "tests/components/${component}" ]; - preCheck = - old.preCheck - + - lib.optionalString - (builtins.elem component [ - "emulated_hue" - "songpal" - "system_log" - ]) - '' - patch -p1 < ${./patches/tests-mock-source-ip.patch} - ''; - meta = old.meta // { broken = lib.elem component [ ]; # upstream only tests on Linux, so do we. diff --git a/pkgs/servers/home-assistant/update-component-packages.py b/pkgs/servers/home-assistant/update-component-packages.py index d3d66a24eca2..d4b6c5ca8dc2 100755 --- a/pkgs/servers/home-assistant/update-component-packages.py +++ b/pkgs/servers/home-assistant/update-component-packages.py @@ -44,7 +44,7 @@ PKG_PREFERENCES = { "ha-av": "av", "numpy": "numpy", "ollama-hass": "ollama", - "paho-mqtt": "paho-mqtt_1", + "paho-mqtt": "paho-mqtt", "pyhive-integration": "pyhiveapi", # https://github.com/home-assistant/core/pull/135482 "pysuezV2": "pysuez", "sentry-sdk": "sentry-sdk", diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7e557091f1da..77f785dbc475 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -259,6 +259,8 @@ self: super: with self; { aiohttp-apispec = callPackage ../development/python-modules/aiohttp-apispec { }; + aiohttp-asyncmdnsresolver = callPackage ../development/python-modules/aiohttp-asyncmdnsresolver { }; + aiohttp-basicauth = callPackage ../development/python-modules/aiohttp-basicauth { }; aiohttp-client-cache = callPackage ../development/python-modules/aiohttp-client-cache { }; @@ -469,6 +471,8 @@ self: super: with self; { aiounittest = callPackage ../development/python-modules/aiounittest { }; + aiousbwatcher = callPackage ../development/python-modules/aiousbwatcher { }; + aiovlc = callPackage ../development/python-modules/aiovlc { }; aiovodafone = callPackage ../development/python-modules/aiovodafone { }; @@ -8065,6 +8069,8 @@ self: super: with self; { mcdreforged = callPackage ../development/python-modules/mcdreforged { }; + mcp = callPackage ../development/python-modules/mcp { }; + mcstatus = callPackage ../development/python-modules/mcstatus { }; mcuuid = callPackage ../development/python-modules/mcuuid { }; @@ -9684,6 +9690,8 @@ self: super: with self; { onecache = callPackage ../development/python-modules/onecache { }; + onedrive-personal-sdk = callPackage ../development/python-modules/onedrive-personal-sdk { }; + onetimepass = callPackage ../development/python-modules/onetimepass { }; onigurumacffi = callPackage ../development/python-modules/onigurumacffi { }; @@ -11837,6 +11845,8 @@ self: super: with self; { pyezviz = callPackage ../development/python-modules/pyezviz { }; + pyezvizapi = callPackage ../development/python-modules/pyezvizapi { }; + pyface = callPackage ../development/python-modules/pyface { }; pyfaidx = callPackage ../development/python-modules/pyfaidx { };