diff --git a/pkgs/by-name/zi/zigpy-cli/package.nix b/pkgs/by-name/zi/zigpy-cli/package.nix index a1b86b3b8830..69b4eaed661a 100644 --- a/pkgs/by-name/zi/zigpy-cli/package.nix +++ b/pkgs/by-name/zi/zigpy-cli/package.nix @@ -3,16 +3,16 @@ , python3 }: -python3.pkgs.buildPythonPackage rec { +python3.pkgs.buildPythonApplication rec { pname = "zigpy-cli"; - version = "1.0.4"; + version = "1.0.5"; pyproject = true; src = fetchFromGitHub { owner = "zigpy"; repo = "zigpy-cli"; rev = "refs/tags/v${version}"; - hash = "sha256-OxVSEBo+wFEBZnWpmQ4aUZWppCh0oavxlQvwDXiWiG8="; + hash = "sha256-69E6PkrCE5S498pO33uEz7g2dV41H0vNfFinUHDATTQ="; }; postPatch = '' @@ -21,11 +21,11 @@ python3.pkgs.buildPythonPackage rec { --replace-fail 'dynamic = ["version"]' 'version = "${version}"' ''; - nativeBuildInputs = with python3.pkgs; [ + build-system = with python3.pkgs; [ setuptools ]; - propagatedBuildInputs = with python3.pkgs; [ + dependencies = with python3.pkgs; [ bellows click coloredlogs @@ -33,7 +33,7 @@ python3.pkgs.buildPythonPackage rec { zigpy zigpy-deconz zigpy-xbee - # zigpy-zboss # not packaged + zigpy-zboss zigpy-zigate zigpy-znp ]; @@ -53,7 +53,7 @@ python3.pkgs.buildPythonPackage rec { description = "Command line interface for zigpy"; mainProgram = "zigpy"; homepage = "https://github.com/zigpy/zigpy-cli"; - changelog = "https://github.com/zigpy/zigpy/releases/tag/v${version}"; + changelog = "https://github.com/zigpy/zigpy-cli/releases/tag/v${version}"; license = licenses.gpl3Plus; maintainers = with maintainers; [ SuperSandro2000 ]; platforms = platforms.linux; diff --git a/pkgs/development/python-modules/aioautomower/default.nix b/pkgs/development/python-modules/aioautomower/default.nix index 39fe9d62672b..3e19ea7cc31e 100644 --- a/pkgs/development/python-modules/aioautomower/default.nix +++ b/pkgs/development/python-modules/aioautomower/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "aioautomower"; - version = "2024.7.3"; + version = "2024.8.0"; pyproject = true; disabled = pythonOlder "3.11"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "Thomas55555"; repo = "aioautomower"; rev = "refs/tags/${version}"; - hash = "sha256-tjdpQglhg78DsmtIHo5QDsP1U8f0fnaasF0IYUtrGh4="; + hash = "sha256-FrQpRz+HESmk837L4bLDiRpJOZXstMJQ8Ic58B9Ac10="; }; postPatch = '' @@ -58,6 +58,8 @@ buildPythonPackage rec { disabledTests = [ # File is missing "test_standard_mower" + # Call no found + "test_post_commands" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/aiohttp-sse-client2/default.nix b/pkgs/development/python-modules/aiohttp-sse-client2/default.nix new file mode 100644 index 000000000000..f4d3709a3d91 --- /dev/null +++ b/pkgs/development/python-modules/aiohttp-sse-client2/default.nix @@ -0,0 +1,57 @@ +{ + aiohttp, + attrs, + buildPythonPackage, + fetchFromGitHub, + lib, + multidict, + pytest-aiohttp, + pytestCheckHook, + setuptools, + yarl, +}: + +buildPythonPackage rec { + pname = "aiohttp-sse-client2"; + version = "0.3.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "compat-fork"; + repo = "aiohttp-sse-client"; + rev = "refs/tags/${version}"; + hash = "sha256-uF39gpOYzNotVVYQShUoiuvYAhSRex2T1NfuhgwSCR4="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "pytest-runner" "" + ''; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + attrs + multidict + yarl + ]; + + pythonImportsCheck = [ "aiohttp_sse_client2" ]; + + nativeCheckInputs = [ + pytest-aiohttp + pytestCheckHook + ]; + + # tests access the internet + doCheck = false; + + meta = { + changelog = "https://github.com/compat-fork/aiohttp-sse-client/blob/${src.rev}/README.rst#fork-changelog"; + description = "Server-Sent Event python client library based on aiohttp"; + homepage = "https://github.com/compat-fork/aiohttp-sse-client"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/aiomealie/default.nix b/pkgs/development/python-modules/aiomealie/default.nix index 1c73118ffc5d..e6ea538d2453 100644 --- a/pkgs/development/python-modules/aiomealie/default.nix +++ b/pkgs/development/python-modules/aiomealie/default.nix @@ -8,6 +8,7 @@ orjson, poetry-core, pytest-asyncio, + pytest-cov-stub, pytestCheckHook, pythonOlder, syrupy, @@ -16,7 +17,7 @@ buildPythonPackage rec { pname = "aiomealie"; - version = "0.8.1"; + version = "0.9.2"; pyproject = true; disabled = pythonOlder "3.11"; @@ -25,14 +26,9 @@ buildPythonPackage rec { owner = "joostlek"; repo = "python-mealie"; rev = "refs/tags/v${version}"; - hash = "sha256-1n/AMXEoJJ/jftYzYHvo+jTSasNEqnFVAYqlipHFmGc="; + hash = "sha256-rvizMeV1+tsBQiZl2Am4SjLrFkyhR/SvvLFwOTVP6wI="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "--cov" "" - ''; - build-system = [ poetry-core ]; dependencies = [ @@ -45,6 +41,7 @@ buildPythonPackage rec { nativeCheckInputs = [ aioresponses pytest-asyncio + pytest-cov-stub pytestCheckHook syrupy ]; diff --git a/pkgs/development/python-modules/aioruckus/default.nix b/pkgs/development/python-modules/aioruckus/default.nix index 95dbb3188d45..e38c13e78269 100644 --- a/pkgs/development/python-modules/aioruckus/default.nix +++ b/pkgs/development/python-modules/aioruckus/default.nix @@ -26,11 +26,6 @@ buildPythonPackage rec { hash = "sha256-acu0EWP/k0qyylPtM8IBxhJhhQhXpbG2NheYpD8RTG8="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "setuptools>=68.1" "setuptools" - ''; - build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/aioswitcher/default.nix b/pkgs/development/python-modules/aioswitcher/default.nix index cfdde67b22dd..421e8ebc9b3c 100644 --- a/pkgs/development/python-modules/aioswitcher/default.nix +++ b/pkgs/development/python-modules/aioswitcher/default.nix @@ -1,13 +1,15 @@ { lib, + aiohttp, assertpy, buildPythonPackage, fetchFromGitHub, + freezegun, poetry-core, + pycryptodome, pytest-asyncio, pytest-mockservers, pytest-resource-path, - pytest-sugar, pytestCheckHook, pythonAtLeast, pythonOlder, @@ -16,21 +18,28 @@ buildPythonPackage rec { pname = "aioswitcher"; - version = "3.4.3"; + version = "4.0.3"; pyproject = true; disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "TomerFi"; - repo = pname; + repo = "aioswitcher"; rev = "refs/tags/${version}"; - hash = "sha256-yKHSExtnO9m8Tc3BmCqV8tJs59ynKOqUmekaOatGRTc="; + hash = "sha256-QSnroxVHlfZd6QDaqUTMyoctiEsxWmGmFxzql1YIAD0="; }; __darwinAllowLocalNetworking = true; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; + + pythonRelaxDeps = [ "aiohttp" ]; + + dependencies = [ + aiohttp + pycryptodome + ]; preCheck = '' export TZ=Asia/Jerusalem @@ -38,10 +47,10 @@ buildPythonPackage rec { nativeCheckInputs = [ assertpy + freezegun pytest-asyncio pytest-mockservers pytest-resource-path - pytest-sugar pytestCheckHook time-machine ]; @@ -66,7 +75,7 @@ buildPythonPackage rec { description = "Python module to interact with Switcher water heater"; homepage = "https://github.com/TomerFi/aioswitcher"; changelog = "https://github.com/TomerFi/aioswitcher/releases/tag/${version}"; - license = with licenses; [ mit ]; + license = licenses.asl20; maintainers = with maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/apsystems-ez1/default.nix b/pkgs/development/python-modules/apsystems-ez1/default.nix index d5005a1d1ca3..f9a50715322b 100644 --- a/pkgs/development/python-modules/apsystems-ez1/default.nix +++ b/pkgs/development/python-modules/apsystems-ez1/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "apsystems-ez1"; - version = "1.3.3"; + version = "2.3.0"; pyproject = true; src = fetchFromGitHub { owner = "SonnenladenGmbH"; repo = "APsystems-EZ1-API"; rev = "refs/tags/${version}"; - hash = "sha256-V6GcTSupjhjGEOsO+C9pImYJRnvdDbttW3Zh0PDYt5I="; + hash = "sha256-CG+QpdJfZt1S6IDDjabRjwuRflURFc1QYo39kf/p0Zw="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/async-interrupt/default.nix b/pkgs/development/python-modules/async-interrupt/default.nix index f166eff8db1a..1d96a8cbd61f 100644 --- a/pkgs/development/python-modules/async-interrupt/default.nix +++ b/pkgs/development/python-modules/async-interrupt/default.nix @@ -4,33 +4,30 @@ fetchFromGitHub, poetry-core, pytest-asyncio, + pytest-cov-stub, pytestCheckHook, pythonOlder, }: buildPythonPackage rec { pname = "async-interrupt"; - version = "1.1.2"; - format = "pyproject"; + version = "1.2.0"; + pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "bdraco"; repo = "async_interrupt"; rev = "refs/tags/v${version}"; - hash = "sha256-CFCWlIx4iAG6gW2ORRYfZpFWRvjukqdcR2yg6NjVqps="; + hash = "sha256-opV5h3aLDDpjlRZRZ9OnrPjUOf/i7g+B9T6msk8wtgI="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace " --cov=async_interrupt --cov-report=term-missing:skip-covered" "" - ''; - nativeBuildInputs = [ poetry-core ]; nativeCheckInputs = [ pytest-asyncio + pytest-cov-stub pytestCheckHook ]; diff --git a/pkgs/development/python-modules/atenpdu/default.nix b/pkgs/development/python-modules/atenpdu/default.nix index 1dde4152f0ac..f60b281112cd 100644 --- a/pkgs/development/python-modules/atenpdu/default.nix +++ b/pkgs/development/python-modules/atenpdu/default.nix @@ -3,7 +3,7 @@ buildPythonPackage, fetchPypi, async-timeout, - pysnmp-lextudio, + pysnmp, pythonOlder, poetry-core, }: @@ -20,11 +20,16 @@ buildPythonPackage rec { hash = "sha256-KzRoE4tE/tQkKYroq5PbWKREmEl8AwbIOg3IHRZZtsQ="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail pysnmp-lextudio pysnmp + ''; + nativeBuildInputs = [ poetry-core ]; propagatedBuildInputs = [ async-timeout - pysnmp-lextudio + pysnmp ]; # Module has no test diff --git a/pkgs/development/python-modules/ayla-iot-unofficial/default.nix b/pkgs/development/python-modules/ayla-iot-unofficial/default.nix new file mode 100644 index 000000000000..de43b8c642ac --- /dev/null +++ b/pkgs/development/python-modules/ayla-iot-unofficial/default.nix @@ -0,0 +1,52 @@ +{ + aiohttp, + buildPythonPackage, + fetchFromGitHub, + lib, + pytest-asyncio, + pytestCheckHook, + requests, + setuptools, + ujson, +}: + +buildPythonPackage rec { + pname = "ayla-iot-unofficial"; + version = "1.3.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "rewardone"; + repo = "ayla-iot-unofficial"; + rev = "refs/tags/v${version}"; + hash = "sha256-WfaDTKht+WEnozVFWGYwNvrC8Rr/IePxjNp5O7jz/9A="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + requests + ujson + ]; + + pythonImportsCheck = [ "ayla_iot_unofficial" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + pytestFlagsArray = [ "tests/ayla_iot_unofficial.py" ]; + + # tests interact with the actual API + doCheck = false; + + meta = { + changelog = "https://github.com/rewardone/ayla-iot-unofficial/releases/tag/v${version}"; + description = "Unofficial python library for interacting with the Ayla IoT API"; + homepage = "https://github.com/rewardone/ayla-iot-unofficial"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix index bdda94a0f499..fcec9d5b2333 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.40.4"; + version = "0.40.5"; pyproject = true; disabled = pythonOlder "3.8"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "bellows"; rev = "refs/tags/${version}"; - hash = "sha256-9YReXaD4qmd2gzbGwzhslzT4K3ajCQrCN7TVl/6fOMU="; + hash = "sha256-VOeoIv1tVcgLfDAH8NKtqyL3x5puDwdxlJ2gqw213t8="; }; postPatch = '' diff --git a/pkgs/development/python-modules/bimmer-connected/default.nix b/pkgs/development/python-modules/bimmer-connected/default.nix index 86573d8c19f4..ef3ecbd638d4 100644 --- a/pkgs/development/python-modules/bimmer-connected/default.nix +++ b/pkgs/development/python-modules/bimmer-connected/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "bimmer-connected"; - version = "0.16.1"; + version = "0.16.3"; pyproject = true; disabled = pythonOlder "3.8"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "bimmerconnected"; repo = "bimmer_connected"; rev = "refs/tags/${version}"; - hash = "sha256-rklWek0XDedJXxVlRLLVMOkU0wMOlv8+Uzn8aVAmc2k="; + hash = "sha256-IrGOhUnWTtCI5juFFuNdWSWxeFr7s8bRNT8sUludGo0="; }; build-system = [ diff --git a/pkgs/development/python-modules/bluetooth-data-tools/default.nix b/pkgs/development/python-modules/bluetooth-data-tools/default.nix index 12b9d8f048c8..b50a20eb84bf 100644 --- a/pkgs/development/python-modules/bluetooth-data-tools/default.nix +++ b/pkgs/development/python-modules/bluetooth-data-tools/default.nix @@ -14,29 +14,29 @@ buildPythonPackage rec { pname = "bluetooth-data-tools"; - version = "1.19.4"; - format = "pyproject"; + version = "1.20.0"; + pyproject = true; - disabled = pythonOlder "3.9"; + disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "Bluetooth-Devices"; - repo = pname; + repo = "bluetooth-data-tools"; rev = "refs/tags/v${version}"; - hash = "sha256-VoldKrlD/1Crw0tJcHoMGiLR8uTUI25IlwZ/1AICx84="; + hash = "sha256-qg2QZc95DD2uTO0fTwoNaPfL+QSrcqDwJvx41lIZDRs="; }; # The project can build both an optimized cython version and an unoptimized # python version. This ensures we fail if we build the wrong one. env.REQUIRE_CYTHON = 1; - nativeBuildInputs = [ + build-system = [ cython poetry-core setuptools ]; - propagatedBuildInputs = [ cryptography ]; + dependencies = [ cryptography ]; nativeCheckInputs = [ pytest-benchmark diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix index 94380a638c63..e6b79fb3bcdd 100644 --- a/pkgs/development/python-modules/brother/default.nix +++ b/pkgs/development/python-modules/brother/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, freezegun, dacite, - pysnmp-lextudio, + pysnmp, pytest-asyncio, pytest-error-for-skips, pytestCheckHook, @@ -15,23 +15,23 @@ buildPythonPackage rec { pname = "brother"; - version = "4.2.0"; + version = "4.3.0"; pyproject = true; disabled = pythonOlder "3.11"; src = fetchFromGitHub { owner = "bieniu"; - repo = pname; + repo = "brother"; rev = "refs/tags/${version}"; - hash = "sha256-5fd+UznnOFnqYL8CPX90Y2z6q35oUH638mz4l+Ux6oE="; + hash = "sha256-JnIJgR8OiN6y6ib0Y+FXa98Q/4dtvJ8q2r6tgQSRvN4="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ dacite - pysnmp-lextudio + pysnmp ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/cached-ipaddress/default.nix b/pkgs/development/python-modules/cached-ipaddress/default.nix index 985a2ada9b5e..d36b620710bf 100644 --- a/pkgs/development/python-modules/cached-ipaddress/default.nix +++ b/pkgs/development/python-modules/cached-ipaddress/default.nix @@ -4,47 +4,43 @@ cython, fetchFromGitHub, poetry-core, + pytest-cov-stub, pytestCheckHook, pythonOlder, setuptools, - wheel, }: buildPythonPackage rec { pname = "cached-ipaddress"; - version = "0.3.0"; + version = "0.5.0"; pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "bdraco"; repo = "cached-ipaddress"; rev = "refs/tags/v${version}"; - hash = "sha256-iTQ1DSCZqjAzsf95nYUxnNj5YCb1Y4JIUW5VGIi7yoY="; + hash = "sha256-Ec2tW1X0iYdQFd5XFRABwUTPjqxV5lhwT6UEimmF+/o="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace " --cov=cached_ipaddress --cov-report=term-missing:skip-covered" "" \ - --replace "Cython>=3.0.5" "Cython" - ''; - - nativeBuildInputs = [ + build-system = [ cython poetry-core setuptools - wheel ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytest-cov-stub + pytestCheckHook + ]; pythonImportsCheck = [ "cached_ipaddress" ]; meta = with lib; { description = "Cache construction of ipaddress objects"; homepage = "https://github.com/bdraco/cached-ipaddress"; - changelog = "https://github.com/bdraco/cached-ipaddress/blob/${version}/CHANGELOG.md"; + changelog = "https://github.com/bdraco/cached-ipaddress/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; maintainers = [ ]; }; diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix index f018af1bce0c..552207472c4d 100644 --- a/pkgs/development/python-modules/dbus-fast/default.nix +++ b/pkgs/development/python-modules/dbus-fast/default.nix @@ -3,27 +3,29 @@ async-timeout, buildPythonPackage, cython, + dbus, fetchFromGitHub, poetry-core, + pytest, pytest-asyncio, - pytestCheckHook, + pytest-cov-stub, + python, pythonOlder, setuptools, - wheel, }: buildPythonPackage rec { pname = "dbus-fast"; - version = "2.22.1"; + version = "2.24.0"; pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "dbus-fast"; rev = "refs/tags/v${version}"; - hash = "sha256-WT32nkRcS+JFCJCZNXXFm38nzttYLsqU98tJD7YBn9w="; + hash = "sha256-8M2SRyAkuxNbwT5NRN6cwJ82OtprfBZXi9Yqwh1NLVY="; }; # The project can build both an optimized cython version and an unoptimized @@ -34,21 +36,17 @@ buildPythonPackage rec { cython poetry-core setuptools - wheel ]; dependencies = [ async-timeout ]; nativeCheckInputs = [ + dbus + pytest pytest-asyncio - pytestCheckHook + pytest-cov-stub ]; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace " --cov=dbus_fast --cov-report=term-missing:skip-covered" "" - ''; - pythonImportsCheck = [ "dbus_fast" "dbus_fast.aio" @@ -56,52 +54,21 @@ buildPythonPackage rec { "dbus_fast.message" ]; - disabledTests = [ - # Test require a running Dbus instance - "test_aio_big_message" - "test_aio_properties" - "test_aio_proxy_object" - "test_bus_disconnect_before_reply" - "test_error_handling" - "test_export_alias" - "test_export_introspection" - "test_export_unexport" - "test_fast_disconnect" - "test_glib_big_message" - "test_high_level_service_fd_passing" - "test_interface_add_remove_signal" - "test_introspectable_interface" - "test_methods" - "test_multiple_flags_in_message" - "test_name_requests" - "test_object_manager" - "test_peer_interface" - "test_property_changed_signal" - "test_property_changed_signal" - "test_property_methods" - "test_sending_file_descriptor_low_level" - "test_sending_file_descriptor_with_proxy" - "test_sending_messages_between_buses" - "test_sending_signals_between_buses" - "test_signals" - "test_standard_interface_properties" - "test_standard_interfaces" - "test_tcp_connection_with_forwarding" - "test_unexpected_disconnect" - # NameError: name '_cast_uint32_native' is not defined - "test_unmarshall_bluez_interfaces_added_message" - "test_unmarshall_bluez_interfaces_removed_message" - "test_unmarshall_bluez_message" - "test_unmarshall_bluez_properties_changed_with_service_data" - "test_unmarshall_can_resume" - "test_unmarshalling_with_table" - "test_ay_buffer" - ]; + checkPhase = '' + runHook preCheck + + # test_peer_interface times out + dbus-run-session \ + --config-file=${dbus}/share/dbus-1/session.conf \ + ${python.interpreter} -m pytest -k "not test_peer_interface" + + runHook postCheck + ''; meta = with lib; { description = "Faster version of dbus-next"; homepage = "https://github.com/bluetooth-devices/dbus-fast"; - changelog = "https://github.com/Bluetooth-Devices/dbus-fast/releases/tag/v${version}"; + changelog = "https://github.com/Bluetooth-Devices/dbus-fast/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/flipr-api/default.nix b/pkgs/development/python-modules/flipr-api/default.nix index 336e16e811ed..e8cd063468e8 100644 --- a/pkgs/development/python-modules/flipr-api/default.nix +++ b/pkgs/development/python-modules/flipr-api/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "flipr-api"; - version = "1.5.1"; + version = "1.6.0"; pyproject = true; disabled = pythonOlder "3.9"; @@ -22,12 +22,12 @@ buildPythonPackage rec { owner = "cnico"; repo = "flipr-api"; rev = "refs/tags/${version}"; - hash = "sha256-xgLi2lH+EPPNlMixqOzdBGVLuoJh5dhZ2tHZ0UH+lOk="; + hash = "sha256-sFCeWfu5rwImIizzik9RzfCWaEHiqhsQrapfuCXHr+4="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ python-dateutil requests ]; @@ -38,6 +38,12 @@ buildPythonPackage rec { pytestCheckHook ]; + env = { + # used in test_session + FLIPR_USERNAME = "foobar"; + FLIPR_PASSWORD = "secret"; + }; + pythonImportsCheck = [ "flipr_api" ]; meta = with lib; { @@ -45,7 +51,7 @@ buildPythonPackage rec { mainProgram = "flipr-api"; homepage = "https://github.com/cnico/flipr-api"; changelog = "https://github.com/cnico/flipr-api/releases/tag/${version}"; - license = licenses.mit; + license = licenses.gpl3Plus; maintainers = with maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/fnv-hash-fast/default.nix b/pkgs/development/python-modules/fnv-hash-fast/default.nix index 0f25cc83eac2..26730aa7f434 100644 --- a/pkgs/development/python-modules/fnv-hash-fast/default.nix +++ b/pkgs/development/python-modules/fnv-hash-fast/default.nix @@ -5,40 +5,37 @@ cython, poetry-core, setuptools, - wheel, fnvhash, + pytest-cov-stub, pytestCheckHook, }: buildPythonPackage rec { pname = "fnv-hash-fast"; - version = "0.5.0"; - format = "pyproject"; + version = "1.0.2"; + pyproject = true; src = fetchFromGitHub { owner = "bdraco"; repo = "fnv-hash-fast"; - rev = "v${version}"; - hash = "sha256-gAHCssJC6sTR6ftkQHrtF/5Nf9dXE4ykRhVusb0Gu3I="; + rev = "refs/tags/v${version}"; + hash = "sha256-kJQZnj1ja7cVZSDOuUI3rkNIvyH508wFKAvJ5XfwCNU="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace "--cov=fnv_hash_fast --cov-report=term-missing:skip-covered" "" - ''; - - nativeBuildInputs = [ + build-system = [ cython poetry-core setuptools - wheel ]; - propagatedBuildInputs = [ fnvhash ]; + dependencies = [ fnvhash ]; pythonImportsCheck = [ "fnv_hash_fast" ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytest-cov-stub + pytestCheckHook + ]; meta = with lib; { description = "Fast version of fnv1a"; diff --git a/pkgs/development/python-modules/fyta-cli/default.nix b/pkgs/development/python-modules/fyta-cli/default.nix index 359cf04b5a01..e3cf900417ac 100644 --- a/pkgs/development/python-modules/fyta-cli/default.nix +++ b/pkgs/development/python-modules/fyta-cli/default.nix @@ -1,35 +1,49 @@ { lib, aiohttp, + aioresponses, buildPythonPackage, fetchFromGitHub, hatchling, + mashumaro, + pytest-asyncio, + pytestCheckHook, pythonOlder, + syrupy, }: buildPythonPackage rec { pname = "fyta-cli"; - version = "0.5.1"; + version = "0.6.6"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.11"; src = fetchFromGitHub { owner = "dontinelli"; repo = "fyta_cli"; rev = "refs/tags/v${version}"; - hash = "sha256-V6yf5XFPPePQkRKyH6pyVFDsviYjnIs9g+PavCTDiZo="; + hash = "sha256-yuTfrWiGxoiEmQ1zaYM2ZrlrssZ+hCupPxar9SUP4uU="; }; build-system = [ hatchling ]; - dependencies = [ aiohttp ]; + dependencies = [ + aiohttp + mashumaro + ]; - # Module has no tests - doCheck = false; + nativeCheckInputs = [ + aioresponses + pytest-asyncio + pytestCheckHook + syrupy + ]; pythonImportsCheck = [ "fyta_cli" ]; + pytestFlagsArray = [ "--snapshot-update" ]; + meta = with lib; { description = "Module to access the FYTA API"; homepage = "https://github.com/dontinelli/fyta_cli"; diff --git a/pkgs/development/python-modules/habluetooth/default.nix b/pkgs/development/python-modules/habluetooth/default.nix index 170a29ef8cf9..a23e54ff53fd 100644 --- a/pkgs/development/python-modules/habluetooth/default.nix +++ b/pkgs/development/python-modules/habluetooth/default.nix @@ -11,15 +11,15 @@ fetchFromGitHub, poetry-core, pytest-asyncio, + pytest-cov-stub, pytestCheckHook, pythonOlder, setuptools, - wheel, }: buildPythonPackage rec { pname = "habluetooth"; - version = "3.1.3"; + version = "3.4.0"; pyproject = true; disabled = pythonOlder "3.11"; @@ -28,19 +28,13 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "habluetooth"; rev = "refs/tags/v${version}"; - hash = "sha256-HG2G/ymSw6e03KJOB/F5ja2Cv5nD+nPgOjMHPCYNSH8="; + hash = "sha256-qmb7hfrcKWSs1dkyozuTPsVbI0cjVAJ9Em0JIIKsyck="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail " --cov=habluetooth --cov-report=term-missing:skip-covered" "" - ''; - build-system = [ cython poetry-core setuptools - wheel ]; dependencies = [ @@ -54,6 +48,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-asyncio + pytest-cov-stub pytestCheckHook ]; diff --git a/pkgs/development/python-modules/knx-frontend/default.nix b/pkgs/development/python-modules/knx-frontend/default.nix index 2224a7c59a06..6842681dbf9b 100644 --- a/pkgs/development/python-modules/knx-frontend/default.nix +++ b/pkgs/development/python-modules/knx-frontend/default.nix @@ -7,17 +7,17 @@ buildPythonPackage rec { pname = "knx-frontend"; - version = "2024.8.9.225351"; - format = "pyproject"; + version = "2024.9.4.64538"; + pyproject = true; # TODO: source build, uses yarn.lock src = fetchPypi { pname = "knx_frontend"; inherit version; - hash = "sha256-ZxEcGXSsdBZQAcwsXI7K/bmxw8+DFQc+aBbgaIfTQgU="; + hash = "sha256-xOBo6y2yT5MNIzyJ8SVVndHrM+Ol/GZXLC/nAwqXY2M="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; pythonImportsCheck = [ "knx_frontend" ]; diff --git a/pkgs/development/python-modules/lcn-frontend/default.nix b/pkgs/development/python-modules/lcn-frontend/default.nix new file mode 100644 index 000000000000..2ddb12711b41 --- /dev/null +++ b/pkgs/development/python-modules/lcn-frontend/default.nix @@ -0,0 +1,39 @@ +{ + buildPythonPackage, + fetchPypi, + lib, + setuptools, +}: + +buildPythonPackage rec { + pname = "lcn-frontend"; + version = "0.1.6"; + pyproject = true; + + src = fetchPypi { + pname = "lcn_frontend"; + inherit version; + hash = "sha256-bOR2BFYHZjRVhlH72ljqp4WKtWdqBkzZNyrmtuIzmIM="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools~=68.0" setuptools \ + --replace-fail "wheel~=0.40.0" wheel + ''; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "lcn_frontend" ]; + + # upstream has no tests + doCheck = false; + + meta = { + changelog = "https://github.com/alengwenus/lcn-frontend/releases/tag/${version}"; + description = "LCN panel for Home Assistant"; + homepage = "https://github.com/alengwenus/lcn-frontend"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/lmcloud/default.nix b/pkgs/development/python-modules/lmcloud/default.nix index ab53d7055377..8dbd37248bcd 100644 --- a/pkgs/development/python-modules/lmcloud/default.nix +++ b/pkgs/development/python-modules/lmcloud/default.nix @@ -5,22 +5,25 @@ buildPythonPackage, fetchFromGitHub, httpx, + pytest-asyncio, + pytestCheckHook, pythonOlder, setuptools, + syrupy, websockets, }: buildPythonPackage rec { pname = "lmcloud"; - version = ".1.2.2"; + version = "1.2.2"; pyproject = true; disabled = pythonOlder "3.11"; src = fetchFromGitHub { owner = "zweckj"; - repo = "lmcloud"; - rev = "refs/tags/v${version}"; + repo = "pylamarzocco"; + rev = "refs/tags/v.${version}"; hash = "sha256-uYd52T9dAvFP6in1fHiCXFVUdbRXDE7crjfelbasW4Q="; }; @@ -33,15 +36,18 @@ buildPythonPackage rec { websockets ]; - # Module has no tests - doCheck = false; + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + syrupy + ]; pythonImportsCheck = [ "lmcloud" ]; meta = with lib; { description = "Library to interface with La Marzocco's cloud"; - homepage = "https://github.com/zweckj/lmcloud"; - changelog = "https://github.com/zweckj/lmcloud/releases/tag/v${version}"; + homepage = "https://github.com/zweckj/pylamarzocco"; + changelog = "https://github.com/zweckj/pylamarzocco/releases/tag/v.${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/nice-go/default.nix b/pkgs/development/python-modules/nice-go/default.nix new file mode 100644 index 000000000000..9319ba10cda5 --- /dev/null +++ b/pkgs/development/python-modules/nice-go/default.nix @@ -0,0 +1,59 @@ +{ + buildPythonPackage, + fetchFromGitHub, + aiobotocore, + aiohttp, + lib, + poetry-core, + pycognito, + pytest-aiohttp, + pytest-asyncio, + pytest-cov-stub, + pytestCheckHook, + syrupy, + tenacity, + yarl, +}: + +buildPythonPackage rec { + pname = "nice-go"; + version = "0.3.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "IceBotYT"; + repo = "nice-go"; + rev = "refs/tags/${version}"; + hash = "sha256-d035AA8N2yjkUJh2TBqkp2RLvH89cJXC4mFrny1sJ6k="; + }; + + build-system = [ poetry-core ]; + + pythonRelaxDeps = [ "tenacity" ]; + + dependencies = [ + aiobotocore + aiohttp + pycognito + tenacity + yarl + ]; + + pythonImportsCheck = [ "nice_go" ]; + + nativeCheckInputs = [ + pytest-aiohttp + pytest-asyncio + pytest-cov-stub + pytestCheckHook + syrupy + ]; + + meta = { + changelog = "https://github.com/IceBotYT/nice-go/blob/${src.rev}/CHANGELOG.md"; + description = "Control various Nice access control products"; + homepage = "https://github.com/IceBotYT/nice-go"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix index 93a5f245ff1b..7fe3f1f61f4d 100644 --- a/pkgs/development/python-modules/py-synologydsm-api/default.nix +++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix @@ -11,16 +11,16 @@ buildPythonPackage rec { pname = "py-synologydsm-api"; - version = "2.4.5"; - format = "pyproject"; + version = "2.5.2"; + pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "mib1185"; repo = "py-synologydsm-api"; rev = "refs/tags/v${version}"; - hash = "sha256-aVU+E5TwGIH+y7qtS5pBkW14EbZI6kb1Hy2zEqk1nrk="; + hash = "sha256-c1qNCOmGEiI+bHDGxJ7OtdmPFcdkev+5U9cuDC8O5iQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pyatmo/default.nix b/pkgs/development/python-modules/pyatmo/default.nix index 9d76a23bc780..56deb7369327 100644 --- a/pkgs/development/python-modules/pyatmo/default.nix +++ b/pkgs/development/python-modules/pyatmo/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "pyatmo"; - version = "8.0.3"; + version = "8.1.0"; pyproject = true; disabled = pythonOlder "3.10"; @@ -26,20 +26,18 @@ buildPythonPackage rec { owner = "jabesq"; repo = "pyatmo"; rev = "refs/tags/v${version}"; - hash = "sha256-FnDXj+bY/TMdengnxgludXUTiZw9wpeFiNbWTIxrlzw="; + hash = "sha256-SRuBV7XWt4Myks7kbUzGAscggspUbRoLOvYNiorF8To="; }; - postPatch = '' - substituteInPlace setup.cfg \ - --replace "oauthlib~=3.1" "oauthlib" \ - --replace "requests~=2.24" "requests" - ''; + pythonRelaxDeps = [ + "oauthlib" + "requests-oauthlib" + "requests" + ]; - pythonRelaxDeps = [ "requests-oauthlib" ]; + build-system = [ setuptools-scm ]; - nativeBuildInputs = [ setuptools-scm ]; - - propagatedBuildInputs = [ + dependencies = [ aiohttp oauthlib requests diff --git a/pkgs/development/python-modules/pysensibo/default.nix b/pkgs/development/python-modules/pysensibo/default.nix index e5ec8d7093c4..7fa1cb40565f 100644 --- a/pkgs/development/python-modules/pysensibo/default.nix +++ b/pkgs/development/python-modules/pysensibo/default.nix @@ -3,22 +3,25 @@ aiohttp, buildPythonPackage, fetchPypi, + poetry-core, pythonOlder, }: buildPythonPackage rec { pname = "pysensibo"; - version = "1.0.36"; - format = "setuptools"; + version = "1.1.0"; + pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.11"; src = fetchPypi { inherit pname version; - hash = "sha256-lsHKwFzfkGWuUiZGkt9zwjNDDU7i6gcqcEsi5SQqsSQ="; + hash = "sha256-yITcVEBtqH1B+MyhQweOzmdgPgWrueAkczp/UsT4J/4="; }; - propagatedBuildInputs = [ aiohttp ]; + build-system = [ poetry-core ]; + + dependencies = [ aiohttp ]; # No tests implemented doCheck = false; diff --git a/pkgs/development/python-modules/pysmi-lextudio/default.nix b/pkgs/development/python-modules/pysmi-lextudio/default.nix deleted file mode 100644 index 1b6225c3f8bf..000000000000 --- a/pkgs/development/python-modules/pysmi-lextudio/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - jinja2, - ply, - poetry-core, - pythonOlder, - requests, -}: - -buildPythonPackage rec { - pname = "pysmi-lextudio"; - version = "1.4.3"; - pyproject = true; - - disabled = pythonOlder "3.7"; - - src = fetchFromGitHub { - owner = "lextudio"; - repo = "pysmi"; - rev = "refs/tags/v${version}"; - hash = "sha256-JrWVoK7fqESUIJeprjB28iaqOEWgsTpTqUEmSZp9XDk="; - }; - - nativeBuildInputs = [ poetry-core ]; - - propagatedBuildInputs = [ - jinja2 - ply - requests - ]; - - # Circular dependency on pysnmp-lextudio - doCheck = false; - - pythonImportsCheck = [ "pysmi" ]; - - meta = with lib; { - description = "SNMP MIB parser"; - homepage = "https://github.com/lextudio/pysmi"; - changelog = "https://github.com/lextudio/pysmi/blob/v${version}/CHANGES.rst"; - license = licenses.bsd2; - maintainers = with maintainers; [ fab ]; - }; -} diff --git a/pkgs/development/python-modules/pysmi/default.nix b/pkgs/development/python-modules/pysmi/default.nix index 0d268a6c63ad..b7d67be5274b 100644 --- a/pkgs/development/python-modules/pysmi/default.nix +++ b/pkgs/development/python-modules/pysmi/default.nix @@ -1,29 +1,59 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, + + # build-system + poetry-core, + + # dependencies ply, + jinja2, + requests, + + # tests + pysmi, + pysnmp, + pytestCheckHook, }: buildPythonPackage rec { - version = "0.3.4"; - format = "setuptools"; + version = "1.4.4"; pname = "pysmi"; + pyproject = true; - src = fetchPypi { - inherit pname version; - sha256 = "bd15a15020aee8376cab5be264c26330824a8b8164ed0195bd402dd59e4e8f7c"; + src = fetchFromGitHub { + owner = "lextudio"; + repo = "pysmi"; + rev = "refs/tags/v${version}"; + hash = "sha256-9ArKo1UT4g+H8Z51NZ6rHlOhyz2grAc1V8Xl+ztfYic="; }; - propagatedBuildInputs = [ ply ]; + build-system = [ poetry-core ]; + + dependencies = [ + ply + jinja2 + requests + ]; # Tests require pysnmp, which in turn requires pysmi => infinite recursion doCheck = false; + nativeCheckInputs = [ + pysnmp + pytestCheckHook + ]; + + pythonImportsCheck = [ "pysmi" ]; + + passthru.tests.pytest = pysmi.overridePythonAttrs { doCheck = true; }; + meta = with lib; { - homepage = "http://pysmi.sf.net"; - description = "SNMP SMI/MIB Parser"; + description = "SNMP MIB parser"; + homepage = "https://github.com/lextudio/pysmi"; + changelog = "https://github.com/lextudio/pysmi/blob/v${version}/CHANGES.rst"; license = licenses.bsd2; - maintainers = with maintainers; [ koral ]; + maintainers = with maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/pysmlight/default.nix b/pkgs/development/python-modules/pysmlight/default.nix new file mode 100644 index 000000000000..70905f16e636 --- /dev/null +++ b/pkgs/development/python-modules/pysmlight/default.nix @@ -0,0 +1,49 @@ +{ + aiohttp, + aiohttp-sse-client2, + aresponses, + buildPythonPackage, + fetchFromGitHub, + lib, + mashumaro, + poetry-core, + pytest-asyncio, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "pysmlight"; + version = "0.0.13"; + pyproject = true; + + src = fetchFromGitHub { + owner = "smlight-tech"; + repo = "pysmlight"; + rev = "refs/tags/v${version}"; + hash = "sha256-yNTNcJGcTA7EN1JfbDaySCSfBx99vRKLQWqMG4OkC5k="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + aiohttp + aiohttp-sse-client2 + mashumaro + ]; + + pythonImportsCheck = [ "pysmlight" ]; + + nativeCheckInputs = [ + aresponses + pytest-asyncio + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/smlight-tech/pysmlight/releases/tag/v${version}"; + description = "Library implementing API control of the SMLIGHT SLZB-06 LAN Coordinators"; + homepage = "https://github.com/smlight-tech/pysmlight"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/pysnmp-lextudio/default.nix b/pkgs/development/python-modules/pysnmp-lextudio/default.nix deleted file mode 100644 index d8df1a72c5c4..000000000000 --- a/pkgs/development/python-modules/pysnmp-lextudio/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - - # build-system - poetry-core, - - # dependencies - pyasn1, - pysmi-lextudio, - pysnmpcrypto, - - # tests - pytestCheckHook, - pytest-asyncio, -}: - -buildPythonPackage rec { - pname = "pysnmp-lextudio"; - version = "6.1.2"; - pyproject = true; - - src = fetchFromGitHub { - owner = "lextudio"; - repo = "pysnmp"; - rev = "refs/tags/v${version}"; - hash = "sha256-iVej39OmTPiZL11+IetnqHaxFAhZ/YR7tjiRoc7pu8U="; - }; - - nativeBuildInputs = [ poetry-core ]; - - propagatedBuildInputs = [ - pyasn1 - pysmi-lextudio - pysnmpcrypto - ]; - - nativeCheckInputs = [ - pytestCheckHook - pytest-asyncio - ]; - - disabledTests = [ - # Temporary failure in name resolutionc - "test_custom_asn1_mib_search_path" - "test_send_notification" - "test_send_trap" - "test_send_v3_inform_notification" - "test_send_v3_inform_sync" - "test_usm_sha_aes128" - "test_v1_get" - "test_v1_next" - "test_v1_set" - "test_v2c_bulk" - # pysnmp.smi.error.MibNotFoundError - "test_send_v3_trap_notification" - "test_addAsn1MibSource" - "test_v1_walk" - "test_v2_walk" - ]; - - pythonImportsCheck = [ "pysnmp" ]; - - meta = with lib; { - description = "Python SNMP library"; - homepage = "https://github.com/lextudio/pysnmp"; - changelog = "https://github.com/lextudio/pysnmp/blob/${src.rev}/CHANGES.txt"; - license = licenses.bsd2; - maintainers = with maintainers; [ hexa ]; - }; -} diff --git a/pkgs/development/python-modules/pysnmp/default.nix b/pkgs/development/python-modules/pysnmp/default.nix index 7bc9db63943a..3fa3a1dfe700 100644 --- a/pkgs/development/python-modules/pysnmp/default.nix +++ b/pkgs/development/python-modules/pysnmp/default.nix @@ -1,40 +1,74 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, + + # build-system + poetry-core, + + # dependencies pyasn1, - pycryptodomex, pysmi, + pysnmpcrypto, + + # tests + pytestCheckHook, + pytest-asyncio, }: buildPythonPackage rec { pname = "pysnmp"; - version = "4.4.12"; - format = "setuptools"; + version = "6.2.5"; + pyproject = true; - src = fetchPypi { - inherit pname version; - sha256 = "1acbfvpbr45i137s00mbhh21p71ywjfw3r8z0ybcmjjqz7rbwg8c"; + src = fetchFromGitHub { + owner = "lextudio"; + repo = "pysnmp"; + rev = "refs/tags/v${version}"; + hash = "sha256-EGMUTUN95wykU756GJSiXwr8Hi3kyaLPfqhuDgvhbBE="; }; - patches = [ ./setup.py-Fix-the-setuptools-version-check.patch ]; + pythonRemoveDeps = [ "pytest-cov" ]; - # NameError: name 'mibBuilder' is not defined - doCheck = false; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ pyasn1 - pycryptodomex pysmi + pysnmpcrypto ]; + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ]; + + disabledTests = [ + # Temporary failure in name resolution + "test_custom_asn1_mib_search_path" + "test_send_notification" + "test_send_trap" + "test_send_v3_inform_notification" + "test_send_v3_inform_sync" + "test_usm_sha_aes128" + "test_v1_get" + "test_v1_next" + "test_v1_set" + "test_v2c_bulk" + # pysnmp.smi.error.MibNotFoundError + "test_send_v3_trap_notification" + "test_addAsn1MibSource" + "test_v1_walk" + "test_v2_walk" + ]; + + pythonImportsCheck = [ "pysnmp" ]; + meta = with lib; { - homepage = "http://snmplabs.com/pysnmp/index.html"; - description = "Pure-Python SNMPv1/v2c/v3 library"; + description = "Python SNMP library"; + homepage = "https://github.com/lextudio/pysnmp"; + changelog = "https://github.com/lextudio/pysnmp/blob/${src.rev}/CHANGES.txt"; license = licenses.bsd2; - maintainers = with maintainers; [ - primeos - koral - ]; + maintainers = with maintainers; [ hexa ]; }; } diff --git a/pkgs/development/python-modules/pyspeex-noise/default.nix b/pkgs/development/python-modules/pyspeex-noise/default.nix new file mode 100644 index 000000000000..4db2a5f2855c --- /dev/null +++ b/pkgs/development/python-modules/pyspeex-noise/default.nix @@ -0,0 +1,43 @@ +{ + buildPythonPackage, + fetchFromGitHub, + lib, + pybind11, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage rec { + pname = "pyspeex-noise"; + version = "1.0.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "rhasspy"; + repo = "pyspeex-noise"; + rev = "refs/tags/${version}"; + hash = "sha256-XtLA5yVVCZdpALPu3fx+U+aaA729Vs1UeOJsIm6/S+k="; + }; + + build-system = [ + pybind11 + setuptools + ]; + + pythonImportsCheck = [ "pyspeex_noise" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/rhasspy/pyspeex-noise/blob/${src.rev}/CHANGELOG.md"; + description = "Noise suppression and automatic gain with speex"; + homepage = "https://github.com/rhasspy/pyspeex-noise"; + license = with lib.licenses; [ + mit # pyspeex-noise + bsd3 # speex (vendored) + ]; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/python-bsblan/default.nix b/pkgs/development/python-modules/python-bsblan/default.nix index 198d283c521a..b6312d2c0178 100644 --- a/pkgs/development/python-modules/python-bsblan/default.nix +++ b/pkgs/development/python-modules/python-bsblan/default.nix @@ -2,13 +2,15 @@ lib, aiohttp, aresponses, + async-timeout, backoff, buildPythonPackage, fetchFromGitHub, packaging, poetry-core, - pydantic, + mashumaro, pytest-asyncio, + pytest-cov-stub, pytest-mock, pytestCheckHook, pythonOlder, @@ -17,56 +19,50 @@ buildPythonPackage rec { pname = "python-bsblan"; - version = "0.5.18"; - format = "pyproject"; + version = "0.6.2"; + pyproject = true; - disabled = pythonOlder "3.9"; + disabled = pythonOlder "3.12"; src = fetchFromGitHub { owner = "liudger"; - repo = pname; + repo = "python-bsblan"; rev = "refs/tags/v${version}"; - hash = "sha256-SJUIJhsVn4LZiUx9h3Q2uWoeaQiKoIRrijTfPgCHnAA="; + hash = "sha256-/rdYCd5eyFqW96XaIzQOhsApzcTkrI46Gt226sLTLUQ="; }; postPatch = '' - substituteInPlace pyproject.toml \ - --replace 'version = "0.0.0"' 'version = "${version}"' \ - --replace "--cov" "" - sed -i "/covdefaults/d" pyproject.toml sed -i "/ruff/d" pyproject.toml ''; - nativeBuildInputs = [ poetry-core ]; + env.PACKAGE_VERSION = version; - propagatedBuildInputs = [ + build-system = [ poetry-core ]; + + dependencies = [ aiohttp + async-timeout backoff packaging - pydantic + mashumaro yarl ]; nativeCheckInputs = [ aresponses pytest-asyncio + pytest-cov-stub pytest-mock pytestCheckHook ]; - disabledTests = lib.optionals (lib.versionAtLeast aiohttp.version "3.9.0") [ - # https://github.com/liudger/python-bsblan/issues/808 - "test_http_error400" - "test_not_authorized_401_response" - ]; - pythonImportsCheck = [ "bsblan" ]; meta = with lib; { description = "Module to control and monitor an BSBLan device programmatically"; homepage = "https://github.com/liudger/python-bsblan"; changelog = "https://github.com/liudger/python-bsblan/releases/tag/v${version}"; - license = with licenses; [ mit ]; + license = licenses.mit; maintainers = with maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/pyvicare-neo/default.nix b/pkgs/development/python-modules/pyvicare-neo/default.nix new file mode 100644 index 000000000000..5980fca223f2 --- /dev/null +++ b/pkgs/development/python-modules/pyvicare-neo/default.nix @@ -0,0 +1,43 @@ +{ + authlib, + buildPythonPackage, + fetchFromGitHub, + lib, + poetry-core, + pytestCheckHook, + requests, + types-requests, +}: + +buildPythonPackage rec { + pname = "pyvicare-neo"; + version = "0.3.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "CFenner"; + repo = "PyViCare"; + rev = "refs/tags/v${version}"; + hash = "sha256-QjFrBf58uM5OProKsesyY43MuE1MnIVIVqs5rWUTmes="; + }; + + build-system = [ poetry-core ]; + + propagatedBuildInputs = [ + authlib + requests + types-requests + ]; + + pythonImportsCheck = [ "PyViCare" ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + meta = { + changelog = "https://github.com/CFenner/PyViCare/releases/tag/v${version}"; + description = "Library to communicate with the Viessmann ViCare API"; + homepage = "https://github.com/CFenner/PyViCare"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/pyvicare/default.nix b/pkgs/development/python-modules/pyvicare/default.nix deleted file mode 100644 index 69edcefbb4a0..000000000000 --- a/pkgs/development/python-modules/pyvicare/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - lib, - authlib, - buildPythonPackage, - fetchFromGitHub, - pkce, - pytestCheckHook, - pythonOlder, - simplejson, -}: - -buildPythonPackage rec { - pname = "pyvicare"; - version = "2.32.0"; - format = "setuptools"; - - disabled = pythonOlder "3.7"; - - src = fetchFromGitHub { - owner = "somm15"; - repo = "PyViCare"; - rev = "refs/tags/${version}"; - hash = "sha256-qK5JCaCL+gbgNcBo5IjhlRrXD1IhA1B56hmcjvPie6Y="; - }; - - postPatch = '' - substituteInPlace setup.py \ - --replace "version_config=True," 'version="${version}",' \ - --replace "'setuptools-git-versioning<1.8.0'" "" - ''; - - propagatedBuildInputs = [ - authlib - pkce - ]; - - nativeCheckInputs = [ - pytestCheckHook - simplejson - ]; - - pythonImportsCheck = [ "PyViCare" ]; - - meta = with lib; { - description = "Python Library to access Viessmann ViCare API"; - homepage = "https://github.com/somm15/PyViCare"; - license = with licenses; [ asl20 ]; - maintainers = with maintainers; [ fab ]; - }; -} diff --git a/pkgs/development/python-modules/ring-doorbell/default.nix b/pkgs/development/python-modules/ring-doorbell/default.nix index 7491f3fa5e51..209ca7090cc7 100644 --- a/pkgs/development/python-modules/ring-doorbell/default.nix +++ b/pkgs/development/python-modules/ring-doorbell/default.nix @@ -1,33 +1,36 @@ { lib, + aiofiles, + aiohttp, + aioresponses, asyncclick, buildPythonPackage, fetchPypi, firebase-messaging, + freezegun, oauthlib, poetry-core, pytest-asyncio, + pytest-freezer, pytest-mock, pytest-socket, pytestCheckHook, pythonOlder, pytz, - requests, - requests-mock, - requests-oauthlib, + typing-extensions, }: buildPythonPackage rec { pname = "ring-doorbell"; - version = "0.8.12"; + version = "0.9.3"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchPypi { pname = "ring_doorbell"; inherit version; - hash = "sha256-CcnGfiJuv3hzez/G/Nu4OyruPL+bbSAtMAfGruqyPUU="; + hash = "sha256-jzhboyDq3PXkwKKrAehX1F1UEUo9qofb+Z4/W5vwjiU="; }; pythonRelaxDeps = [ "requests-oauthlib" ]; @@ -35,23 +38,26 @@ buildPythonPackage rec { build-system = [ poetry-core ]; dependencies = [ + aiofiles + aiohttp asyncclick oauthlib pytz - requests - requests-oauthlib + typing-extensions ]; - passthru.optional-dependencies = { + optional-dependencies = { listen = [ firebase-messaging ]; }; nativeCheckInputs = [ + aioresponses + freezegun pytest-asyncio + pytest-freezer pytest-mock pytest-socket pytestCheckHook - requests-mock ]; pythonImportsCheck = [ "ring_doorbell" ]; @@ -59,7 +65,7 @@ buildPythonPackage rec { meta = with lib; { description = "Library to communicate with Ring Door Bell"; homepage = "https://github.com/tchellomello/python-ring-doorbell"; - changelog = "https://github.com/tchellomello/python-ring-doorbell/releases/tag/${version}"; + changelog = "https://github.com/tchellomello/python-ring-doorbell/blob/${version}/CHANGELOG.md"; license = licenses.lgpl3Plus; maintainers = with maintainers; [ graham33 ]; mainProgram = "ring-doorbell"; diff --git a/pkgs/development/python-modules/uiprotect/default.nix b/pkgs/development/python-modules/uiprotect/default.nix index 6580e40e92e3..bee77028970e 100644 --- a/pkgs/development/python-modules/uiprotect/default.nix +++ b/pkgs/development/python-modules/uiprotect/default.nix @@ -30,6 +30,7 @@ ffmpeg, pytest-asyncio, pytest-benchmark, + pytest-cov-stub, pytest-timeout, pytest-xdist, pytestCheckHook, @@ -37,7 +38,7 @@ buildPythonPackage rec { pname = "uiprotect"; - version = "6.0.1"; + version = "6.0.2"; pyproject = true; disabled = pythonOlder "3.10"; @@ -46,16 +47,15 @@ buildPythonPackage rec { owner = "uilibs"; repo = "uiprotect"; rev = "refs/tags/v${version}"; - hash = "sha256-2rkXaFzdIOCGF60k7TpqAqTSxFFhmqhY8yKm7cEvgkE="; + hash = "sha256-3Dmim+wSAhco3KvtbAT/f/feNriaI22m0ml4L9SJFPs="; }; - postPatch = '' - sed -i "/addopts =/d" pyproject.toml - ''; - build-system = [ poetry-core ]; - pythonRelaxDeps = [ "pydantic" ]; + pythonRelaxDeps = [ + "aiofiles" + "pydantic" + ]; dependencies = [ aiofiles @@ -81,6 +81,7 @@ buildPythonPackage rec { ffmpeg # Required for command ffprobe pytest-asyncio pytest-benchmark + pytest-cov-stub pytest-timeout pytest-xdist pytestCheckHook @@ -91,7 +92,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "uiprotect" ]; meta = with lib; { - description = "Python API for UniFi Protect (Unofficial"; + description = "Python API for UniFi Protect (Unofficial)"; homepage = "https://github.com/uilibs/uiprotect"; changelog = "https://github.com/uilibs/uiprotect/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; diff --git a/pkgs/development/python-modules/ulid-transform/default.nix b/pkgs/development/python-modules/ulid-transform/default.nix index 1ddfe0e5a5ba..58a84849c5d9 100644 --- a/pkgs/development/python-modules/ulid-transform/default.nix +++ b/pkgs/development/python-modules/ulid-transform/default.nix @@ -13,19 +13,19 @@ buildPythonPackage rec { pname = "ulid-transform"; - version = "0.13.1"; - format = "pyproject"; + version = "1.0.2"; + pyproject = true; disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "bdraco"; - repo = pname; + repo = "ulid-transform"; rev = "refs/tags/v${version}"; - hash = "sha256-tOtOTFKBVQmCm02k9Q8r+EgF39iN+XNXCnlw2ppYM58="; + hash = "sha256-99hq329jUpok+rP8WzxN1yTOp15Zfy7tIGRpQMecrc0="; }; - nativeBuildInputs = [ + build-system = [ cython poetry-core setuptools @@ -44,7 +44,7 @@ buildPythonPackage rec { meta = with lib; { description = "Library to create and transform ULIDs"; homepage = "https://github.com/bdraco/ulid-transform"; - changelog = "https://github.com/bdraco/ulid-transform/releases/tag/v${version}"; + changelog = "https://github.com/bdraco/ulid-transform/blob/${src.rev}/CHANGELOG.md"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix index e785273c0b2b..b29576d5f691 100644 --- a/pkgs/development/python-modules/yalexs/default.nix +++ b/pkgs/development/python-modules/yalexs/default.nix @@ -12,7 +12,10 @@ pyjwt, pytestCheckHook, python-dateutil, + python-socketio, pythonOlder, + pytest-asyncio, + pytest-cov-stub, requests-mock, requests, typing-extensions, @@ -20,7 +23,7 @@ buildPythonPackage rec { pname = "yalexs"; - version = "8.4.1"; + version = "8.6.3"; pyproject = true; disabled = pythonOlder "3.9"; @@ -29,16 +32,13 @@ buildPythonPackage rec { owner = "bdraco"; repo = "yalexs"; rev = "refs/tags/v${version}"; - hash = "sha256-2n/+3VkKtwNlDgxoraIrx/ZUZ9TydybWIkLDTdbMd1w="; + hash = "sha256-z01q+sUuj9BvcN56+c3vti8xUnWhYGuV/BTXhvcTl30="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "-v -Wdefault --cov=yalexs --cov-report=term-missing:skip-covered" "" - ''; - build-system = [ poetry-core ]; + pythonRelaxDeps = [ "aiohttp" ]; + dependencies = [ aiofiles aiohttp @@ -46,17 +46,17 @@ buildPythonPackage rec { freenub pyjwt python-dateutil + python-socketio requests typing-extensions - ]; - - # aiounittest is not supported on 3.12 - doCheck = pythonOlder "3.12"; + ] ++ python-socketio.optional-dependencies.asyncio_client; nativeCheckInputs = [ aioresponses aiounittest pytestCheckHook + pytest-asyncio + pytest-cov-stub requests-mock ]; @@ -65,7 +65,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python API for Yale Access (formerly August) Smart Lock and Doorbell"; homepage = "https://github.com/bdraco/yalexs"; - changelog = "https://github.com/bdraco/yalexs/releases/tag/v${version}"; + changelog = "https://github.com/bdraco/yalexs/blob/${src.rev}/CHANGELOG.md"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix index a611985ad855..c23d94c7af64 100644 --- a/pkgs/development/python-modules/zeroconf/default.nix +++ b/pkgs/development/python-modules/zeroconf/default.nix @@ -7,6 +7,7 @@ ifaddr, poetry-core, pytest-asyncio, + pytest-cov-stub, pytest-timeout, pythonOlder, pytestCheckHook, @@ -15,7 +16,7 @@ buildPythonPackage rec { pname = "zeroconf"; - version = "0.132.2"; + version = "0.133.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -24,14 +25,9 @@ buildPythonPackage rec { owner = "jstasiak"; repo = "python-zeroconf"; rev = "refs/tags/${version}"; - hash = "sha256-Jmz9zs//EVdBbEElq6OEfGZiOiMvjV5CJxZOM/lHvok="; + hash = "sha256-nS3zr+56K819GujzA4uLqcZJb4OxbAOV3FfxssDEEQA="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "Cython>=3.0.8" "Cython" - ''; - build-system = [ cython poetry-core @@ -42,14 +38,11 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest-asyncio + pytest-cov-stub pytest-timeout pytestCheckHook ]; - preCheck = '' - sed -i '/addopts/d' pyproject.toml - ''; - disabledTests = [ # OSError: [Errno 19] No such device "test_close_multiple_times" diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix index d3be6151e7fb..7e9720163c8c 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.119"; + version = "0.0.121"; pyproject = true; disabled = pythonOlder "3.12"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zha-device-handlers"; rev = "refs/tags/${version}"; - hash = "sha256-QvytImEpDk+3IeWVh9bYaX60u+mx4SVXuRxAd/YjPTE="; + hash = "sha256-+HDW07fFh47gW7xNaymylSt8TT2Vzz+6IWSPLtkk/Nw="; }; postPatch = '' diff --git a/pkgs/development/python-modules/zha/default.nix b/pkgs/development/python-modules/zha/default.nix index 6dd2540bab6f..60478666faa9 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.31"; + version = "0.0.32"; pyproject = true; disabled = pythonOlder "3.12"; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zha"; rev = "refs/tags/${version}"; - hash = "sha256-H1VmB20ldUyKIiMRT8YMgiFIno41WN2bY8rhqFsGYcA="; + hash = "sha256-DIVzgTAlxzYqEPrLeX5e1At9EiEm0z+CzZ2bulgWINU="; }; postPatch = '' @@ -45,10 +45,6 @@ buildPythonPackage rec { --replace-fail 'dynamic = ["version"]' 'version = "${version}"' ''; - pythonRelaxDeps = [ - "pyserial-asyncio-fast" - ]; - build-system = [ setuptools wheel @@ -87,7 +83,7 @@ buildPythonPackage rec { "test_check_available_unsuccessful" "test_device_counter_sensors" "test_device_tracker" - "test_device_unavailable_skips_entity_polling" + "test_device_unavailable_or_disabled_skips_entity_polling" "test_elec_measurement_sensor_polling" "test_electrical_measurement_init" "test_group_member_assume_state" diff --git a/pkgs/development/python-modules/zigpy-zboss/default.nix b/pkgs/development/python-modules/zigpy-zboss/default.nix new file mode 100644 index 000000000000..8f3ca45b5c83 --- /dev/null +++ b/pkgs/development/python-modules/zigpy-zboss/default.nix @@ -0,0 +1,63 @@ +{ + async-timeout, + buildPythonPackage, + coloredlogs, + fetchFromGitHub, + jsonschema, + lib, + pytest-asyncio, + pytest-mock, + pytestCheckHook, + setuptools, + voluptuous, + zigpy, +}: + +buildPythonPackage rec { + pname = "zigpy-zboss"; + version = "1.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "kardia-as"; + repo = "zigpy-zboss"; + rev = "refs/tags/v${version}"; + hash = "sha256-T2R291GeFIsnDRI1tAydTlLamA3LF5tKxKFhPtcEUus="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + async-timeout + coloredlogs + jsonschema + voluptuous + zigpy + ]; + + pythonImportsCheck = [ "zigpy_zboss" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytest-mock + pytestCheckHook + ]; + + disabledTestPaths = [ + # AttributeError: 'Ledvance' object has no attribute 'get' + "tests/application/test_connect.py" + "tests/application/test_join.py" + "tests/application/test_requests.py" + "tests/application/test_startup.py" + "tests/application/test_zdo_requests.py" + "tests/application/test_zigpy_callbacks.py" + ]; + + meta = { + changelog = "https://github.com/kardia-as/zigpy-zboss/releases/tag/v${version}"; + description = "Library for zigpy which communicates with Nordic nRF52 radios"; + homepage = "https://github.com/kardia-as/zigpy-zboss"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix index 1ce192040777..ed182e36c461 100644 --- a/pkgs/development/python-modules/zigpy/default.nix +++ b/pkgs/development/python-modules/zigpy/default.nix @@ -27,16 +27,16 @@ buildPythonPackage rec { pname = "zigpy"; - version = "0.65.4"; + version = "0.66.0"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "zigpy"; repo = "zigpy"; rev = "refs/tags/${version}"; - hash = "sha256-+z25W3ubw1TJbrRghsYzcuUZUHaL5xPMeZceJ1aUrKw="; + hash = "sha256-Rv45WP6KxsFY/eGgNja5JSgmVKQWrRbP6K4tz6CFpMs="; }; postPatch = '' diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 47719ef1fc40..7b0894c2d3a9 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 = "2024.8.3"; + version = "2024.9.0"; components = { "3_day_blinds" = ps: with ps; [ ]; @@ -86,6 +86,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -174,6 +175,15 @@ "anthemav" = ps: with ps; [ anthemav ]; + "anthropic" = ps: with ps; [ + anthropic + ha-ffmpeg + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + ]; "anwb_energie" = ps: with ps; [ ]; "aosmith" = ps: with ps; [ @@ -240,6 +250,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -251,6 +262,8 @@ "arris_tg2492lg" = ps: with ps; [ arris-tg2492lg ]; + "artsound" = ps: with ps; [ + ]; "aruba" = ps: with ps; [ pexpect ]; @@ -269,12 +282,7 @@ home-assistant-intents mutagen pymicro-vad - ]; - "asterisk_cdr" = ps: with ps; [ - asterisk-mbox - ]; - "asterisk_mbox" = ps: with ps; [ - asterisk-mbox + pyspeex-noise ]; "asuswrt" = ps: with ps; [ aioasuswrt @@ -412,6 +420,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -453,6 +462,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -476,6 +486,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -510,7 +521,7 @@ ]; "brother" = ps: with ps; [ brother - pysnmp-lextudio + pysnmp ]; "brottsplatskartan" = ps: with ps; [ brottsplatskartan @@ -555,6 +566,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -591,6 +603,7 @@ plexwebsocket pychromecast pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg zeroconf @@ -631,6 +644,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -763,6 +777,7 @@ pymicro-vad pynacl pyserial + pyspeex-noise python-matter-server pyturbojpeg pyudev @@ -892,6 +907,7 @@ py-dormakaba-dkey pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1098,6 +1114,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1124,6 +1141,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1153,6 +1171,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1258,6 +1277,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1353,6 +1373,9 @@ ]; "fujitsu_anywair" = ps: with ps; [ ]; + "fujitsu_fglair" = ps: with ps; [ + ayla-iot-unofficial + ]; "fully_kiosk" = ps: with ps; [ paho-mqtt_1 python-fullykiosk @@ -1389,6 +1412,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1479,6 +1503,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise ]; "google_mail" = ps: with ps; [ google-api-python-client @@ -1524,6 +1549,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1706,6 +1732,7 @@ pymicro-vad pyroute2 pyserial + pyspeex-noise python-otbr-api pyudev zeroconf @@ -1799,6 +1826,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1826,6 +1854,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1877,6 +1906,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; # missing inputs: py-improv-ble-client @@ -1910,6 +1940,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1991,6 +2022,7 @@ pymicro-vad pynecil pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2008,7 +2040,10 @@ "iss" = ps: with ps; [ ]; # missing inputs: pyiss "ista_ecotrend" = ps: with ps; [ + fnv-hash-fast + psutil-home-assistant pyecotrend-ista + sqlalchemy ]; "isy994" = ps: with ps; [ pyisy @@ -2074,6 +2109,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2106,6 +2142,7 @@ pymicro-vad pymicrobot pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2180,6 +2217,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2205,6 +2243,9 @@ "lawn_mower" = ps: with ps; [ ]; "lcn" = ps: with ps; [ + home-assistant-frontend + lcn-frontend + pillow pypck ]; "ld2410_ble" = ps: with ps; [ @@ -2228,6 +2269,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2251,6 +2293,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; # missing inputs: leaone-ble @@ -2275,6 +2318,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2360,10 +2404,6 @@ ]; "logger" = ps: with ps; [ ]; - "logi_circle" = ps: with ps; [ - ha-ffmpeg - logi-circle - ]; "london_air" = ps: with ps; [ ]; "london_underground" = ps: with ps; [ @@ -2379,6 +2419,7 @@ loqedapi mutagen pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -2412,8 +2453,6 @@ "madvr" = ps: with ps; [ py-madvr2 ]; - "mailbox" = ps: with ps; [ - ]; "mailgun" = ps: with ps; [ pymailgunner ]; @@ -2473,6 +2512,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; # missing inputs: medcom-ble @@ -2511,6 +2551,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; # missing inputs: melnor-bluetooth @@ -2596,6 +2637,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2608,6 +2650,7 @@ pillow pymicro-vad pynacl + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -2658,6 +2701,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2686,6 +2730,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2774,6 +2819,7 @@ mutagen pyatmo pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -2813,6 +2859,9 @@ "nibe_heatpump" = ps: with ps; [ nibe ]; + "nice_go" = ps: with ps; [ + nice-go + ]; "nightscout" = ps: with ps; [ py-nightscout ]; @@ -2905,6 +2954,7 @@ mutagen ollama pymicro-vad + pyspeex-noise ]; "ombi" = ps: with ps; [ pyombi @@ -2941,6 +2991,7 @@ mutagen openai pymicro-vad + pyspeex-noise ]; "openalpr_cloud" = ps: with ps; [ ]; @@ -3008,6 +3059,7 @@ oralb-ble pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -3054,6 +3106,7 @@ paho-mqtt_1 pymicro-vad pynacl + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -3134,6 +3187,7 @@ mutagen pymicro-vad pyplaato + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -3186,6 +3240,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -3277,6 +3332,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev qingping-ble zeroconf @@ -3317,6 +3373,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg rachiopy @@ -3370,6 +3427,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev rapt-ble zeroconf @@ -3401,6 +3459,7 @@ mutagen pillow pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -3549,6 +3608,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev ruuvitag-ble zeroconf @@ -3642,6 +3702,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev sensirion-ble zeroconf @@ -3673,6 +3734,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev sensorpro-ble zeroconf @@ -3697,6 +3759,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev sensorpush-ble zeroconf @@ -3827,6 +3890,7 @@ pymicro-vad pysmartapp pysmartthings + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -3836,6 +3900,9 @@ "smhi" = ps: with ps; [ smhi-pkg ]; + "smlight" = ps: with ps; [ + pysmlight + ]; "sms" = ps: with ps; [ python-gammu ]; @@ -3850,7 +3917,7 @@ paho-mqtt_1 ]; "snmp" = ps: with ps; [ - pysnmp-lextudio + pysnmp ]; "snooz" = ps: with ps; [ aioesphomeapi @@ -3873,6 +3940,7 @@ pymicro-vad pyserial pysnooz + pyspeex-noise pyudev zeroconf ]; @@ -4050,6 +4118,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyswitchbot pyudev zeroconf @@ -4195,6 +4264,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev thermobeacon-ble zeroconf @@ -4221,6 +4291,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev thermopro-ble zeroconf @@ -4276,6 +4347,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev tilt-ble zeroconf @@ -4311,6 +4383,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg toonapi @@ -4322,6 +4395,9 @@ ]; "touchline" = ps: with ps; [ ]; # missing inputs: pytouchline + "touchline_sl" = ps: with ps; [ + pytouchlinesl + ]; "tplink" = ps: with ps; [ ifaddr python-kasa @@ -4508,7 +4584,7 @@ "viaggiatreno" = ps: with ps; [ ]; "vicare" = ps: with ps; [ - pyvicare + pyvicare-neo ]; "vilfo" = ps: with ps; [ vilfo-api-client @@ -4536,6 +4612,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise voip-utils ]; "volkszaehler" = ps: with ps; [ @@ -4627,6 +4704,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -4659,6 +4737,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise wyoming ]; "x10" = ps: with ps; [ @@ -4695,6 +4774,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev xiaomi-ble zeroconf @@ -4713,6 +4793,19 @@ ]; "xs1" = ps: with ps; [ ]; # missing inputs: xs1-api-client + "yale" = ps: with ps; [ + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + yalexs + yalexs-ble + ]; "yale_home" = ps: with ps; [ ]; "yale_smart_alarm" = ps: with ps; [ @@ -4738,6 +4831,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev yalexs-ble zeroconf @@ -4870,6 +4964,7 @@ "androidtv_remote" "anova" "anthemav" + "anthropic" "aosmith" "apache_kafka" "apcupsd" @@ -4886,7 +4981,6 @@ "arve" "aseko_pool_live" "assist_pipeline" - "asterisk_mbox" "asuswrt" "atag" "august" @@ -5035,6 +5129,7 @@ "event" "everlights" "evil_genius_labs" + "evohome" "ezviz" "faa_delays" "facebook" @@ -5076,6 +5171,7 @@ "fronius" "frontend" "frontier_silicon" + "fujitsu_fglair" "fully_kiosk" "fyta" "garages_amsterdam" @@ -5246,7 +5342,6 @@ "logbook" "logentries" "logger" - "logi_circle" "london_air" "lookin" "loqed" @@ -5257,7 +5352,6 @@ "lutron_caseta" "lyric" "madvr" - "mailbox" "mailgun" "manual" "manual_mqtt" @@ -5331,6 +5425,7 @@ "nextdns" "nfandroidtv" "nibe_heatpump" + "nice_go" "nightscout" "nina" "nmap_tracker" @@ -5508,6 +5603,7 @@ "smartthings" "smarttub" "smhi" + "smlight" "sms" "smtp" "snapcast" @@ -5600,6 +5696,7 @@ "tomorrowio" "toon" "totalconnect" + "touchline_sl" "tplink" "tplink_omada" "traccar" @@ -5690,6 +5787,7 @@ "xiaomi_aqara" "xiaomi_ble" "xiaomi_miio" + "yale" "yale_smart_alarm" "yalexs_ble" "yamaha" diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 207680107439..1d146f0a8218 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -30,16 +30,6 @@ let # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt (self: super: { - aioazuredevops = super.aioazuredevops.overridePythonAttrs (old: rec { - version = "2.1.1"; - src = fetchFromGitHub { - owner = "timmo001"; - repo = "aioazuredevops"; - rev = "refs/tags/${version}"; - hash = "sha256-rnvWjsTRBoojsuNG3uSdBlyycE4XSrhgjmb77jy7fxY="; - }; - }); - aioelectricitymaps = super.aioelectricitymaps.overridePythonAttrs (oldAttrs: rec { version = "0.4.0"; src = fetchFromGitHub { @@ -53,16 +43,6 @@ let ]; }); - aiolyric = super.aiolyric.overridePythonAttrs (oldAttrs: rec { - version = "1.1.1"; - src = fetchFromGitHub { - owner = "timmo001"; - repo = "aiolyric"; - rev = "refs/tags/${version}"; - hash = "sha256-FZhLjVrLzLv6CZz/ROlvbtBK9XnpO8pG48aSIoBxhCo="; - }; - }); - aiopurpleair = super.aiopurpleair.overridePythonAttrs (oldAttrs: rec { version = "2022.12.1"; src = fetchFromGitHub { @@ -149,26 +129,6 @@ let ]; }); - intellifire4py = super.intellifire4py.overridePythonAttrs (oldAttrs: rec { - version = "2.2.2"; - src = fetchFromGitHub { - owner = "jeeftor"; - repo = "intellifire4py"; - rev = "refs/tags/${version}"; - hash = "sha256-iqlKfpnETLqQwy5sNcK2x/TgmuN2hCfYoHEFK2WWVXI="; - }; - nativeBuildInputs = with self; [ - setuptools - ]; - propagatedBuildInputs = with self; [ - aenum - aiohttp - pydantic - requests - ]; - doCheck = false; # requires asynctest, which does not work on python 3.11 - }); - openhomedevice = super.openhomedevice.overridePythonAttrs (oldAttrs: rec { version = "2.2"; src = fetchFromGitHub { @@ -275,23 +235,6 @@ let ]; }); - pytibber = super.pytibber.overridePythonAttrs (oldAttrs: rec { - version = "0.28.2"; - src = fetchFromGitHub { - owner = "Danielhiversen"; - repo = "pyTibber"; - rev = "refs/tags/${version}"; - hash = "sha256-vi5f4V0nPb9K3nwdmwMDoNE85Or6haOWjMY4d/2Fj2s="; - }; - dependencies = with self; [ - aiohttp - async-timeout - gql - python-dateutil - websockets - ]; - }); - pykaleidescape = super.pykaleidescape.overridePythonAttrs (oldAttrs: rec { version = "1.0.1"; src = fetchFromGitHub { @@ -471,7 +414,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2024.8.3"; + hassVersion = "2024.9.0"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; @@ -489,13 +432,13 @@ in python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-4UQ2+MpcngkAKQxfA9y0JUKQ3/m0Y7t2K80ujLoJUvU="; + hash = "sha256-tzEiT+1NvwmH/j1FnmUcanwjSGS8+M/FJ2wZY7qAdYk="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-iGAH6hxLgqAEovI82W0FREw7nqgX+4J+gm4cCGIS7h4="; + hash = "sha256-KTseRVRn3O75Sjot4f7fgKioKKEY33eXHcFufsPKLak="; }; build-system = with python.pkgs; [ @@ -513,11 +456,14 @@ in python.pkgs.buildPythonApplication rec { "httpx" "orjson" "pillow" + "pyjwt" "pyopenssl" + "pyyaml" "requests" "sqlalchemy" "typing-extensions" "urllib3" + "yarl" ]; # extract translations from pypi sdist @@ -533,7 +479,7 @@ in python.pkgs.buildPythonApplication rec { # Patch path to ffmpeg binary (substituteAll { src = ./patches/ffmpeg-path.patch; - ffmpeg = "${lib.getBin ffmpeg-headless}/bin/ffmpeg"; + ffmpeg = "${lib.getExe ffmpeg-headless}"; }) ]; diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 480b23216e3f..ab59b8107de2 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -4,7 +4,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 = "20240809.0"; + version = "20240904.0"; format = "wheel"; src = fetchPypi { @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-PVW/W6/a/kbhbGw35/+AHvjAn1Xq3dW5nslMJWsDgv4="; + hash = "sha256-UauRL6AbyQgk7av1AuE49nlWEkuRRQxQykFHeo3ZpGU="; }; # there is nothing to strip in this package @@ -22,6 +22,7 @@ buildPythonPackage rec { doCheck = false; meta = with lib; { + changelog = "https://github.com/home-assistant/frontend/releases/tag/${version}"; description = "Frontend for Home Assistant"; homepage = "https://github.com/home-assistant/frontend"; license = licenses.asl20; diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix index 87cc658d2a47..9442d1fbde28 100644 --- a/pkgs/servers/home-assistant/intents.nix +++ b/pkgs/servers/home-assistant/intents.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "home-assistant-intents"; - version = "2024.8.7"; + version = "2024.9.4"; pyproject = true; disabled = pythonOlder "3.9"; @@ -31,7 +31,7 @@ buildPythonPackage rec { repo = "intents-package"; rev = "refs/tags/${version}"; fetchSubmodules = true; - hash = "sha256-s6cw9Ni4NFNNLu7s8YaHk6MeKlss60GgxdwcUVA1djo="; + hash = "sha256-8wsszLbrOLvJJoXFHx40zJJbXKT6yNRS5Kgam9P8yGQ="; }; build-system = [ @@ -62,6 +62,7 @@ buildPythonPackage rec { ]; meta = with lib; { + changelog = "https://github.com/home-assistant/intents/releases/tag/${version}"; description = "Intents to be used with Home Assistant"; homepage = "https://github.com/home-assistant/intents"; license = licenses.cc-by-40; diff --git a/pkgs/servers/home-assistant/patches/ffmpeg-path.patch b/pkgs/servers/home-assistant/patches/ffmpeg-path.patch index 5417c64f13ea..287821a1f5fc 100644 --- a/pkgs/servers/home-assistant/patches/ffmpeg-path.patch +++ b/pkgs/servers/home-assistant/patches/ffmpeg-path.patch @@ -1,5 +1,5 @@ diff --git a/homeassistant/components/ffmpeg/__init__.py b/homeassistant/components/ffmpeg/__init__.py -index 4ab4ee32a0..0f04f037f6 100644 +index 5e1be36f39..df19ff1a49 100644 --- a/homeassistant/components/ffmpeg/__init__.py +++ b/homeassistant/components/ffmpeg/__init__.py @@ -46,7 +46,7 @@ CONF_FFMPEG_BIN = "ffmpeg_bin" @@ -9,13 +9,13 @@ index 4ab4ee32a0..0f04f037f6 100644 -DEFAULT_BINARY = "ffmpeg" +DEFAULT_BINARY = "@ffmpeg@" - CONFIG_SCHEMA = vol.Schema( - { + # Currently we only care if the version is < 3 + # because we use a different content-type diff --git a/tests/components/ffmpeg/test_binary_sensor.py b/tests/components/ffmpeg/test_binary_sensor.py -index 6eec115d6f..c55b4fb26c 100644 +index 535ac86336..321eab4270 100644 --- a/tests/components/ffmpeg/test_binary_sensor.py +++ b/tests/components/ffmpeg/test_binary_sensor.py -@@ -24,7 +24,7 @@ async def test_noise_setup_component(hass: HomeAssistant) -> None: +@@ -25,7 +25,7 @@ async def test_noise_setup_component(hass: HomeAssistant) -> None: await async_setup_component(hass, "binary_sensor", CONFIG_NOISE) await hass.async_block_till_done() @@ -24,7 +24,7 @@ index 6eec115d6f..c55b4fb26c 100644 assert hass.states.get("binary_sensor.ffmpeg_noise") is not None -@@ -35,7 +35,7 @@ async def test_noise_setup_component_start(mock_start, hass: HomeAssistant): +@@ -36,7 +36,7 @@ async def test_noise_setup_component_start(mock_start, hass: HomeAssistant) -> N await async_setup_component(hass, "binary_sensor", CONFIG_NOISE) await hass.async_block_till_done() @@ -33,7 +33,7 @@ index 6eec115d6f..c55b4fb26c 100644 assert hass.states.get("binary_sensor.ffmpeg_noise") is not None hass.bus.async_fire(EVENT_HOMEASSISTANT_START) -@@ -55,7 +55,7 @@ async def test_noise_setup_component_start_callback(mock_ffmpeg, hass: HomeAssis +@@ -58,7 +58,7 @@ async def test_noise_setup_component_start_callback( await async_setup_component(hass, "binary_sensor", CONFIG_NOISE) await hass.async_block_till_done() @@ -42,7 +42,7 @@ index 6eec115d6f..c55b4fb26c 100644 assert hass.states.get("binary_sensor.ffmpeg_noise") is not None hass.bus.async_fire(EVENT_HOMEASSISTANT_START) -@@ -80,7 +80,7 @@ async def test_motion_setup_component(hass: HomeAssistant) -> None: +@@ -83,7 +83,7 @@ async def test_motion_setup_component(hass: HomeAssistant) -> None: await async_setup_component(hass, "binary_sensor", CONFIG_MOTION) await hass.async_block_till_done() @@ -51,7 +51,7 @@ index 6eec115d6f..c55b4fb26c 100644 assert hass.states.get("binary_sensor.ffmpeg_motion") is not None -@@ -91,7 +91,7 @@ async def test_motion_setup_component_start(mock_start, hass: HomeAssistant): +@@ -94,7 +94,7 @@ async def test_motion_setup_component_start(mock_start, hass: HomeAssistant) -> await async_setup_component(hass, "binary_sensor", CONFIG_MOTION) await hass.async_block_till_done() @@ -60,7 +60,7 @@ index 6eec115d6f..c55b4fb26c 100644 assert hass.states.get("binary_sensor.ffmpeg_motion") is not None hass.bus.async_fire(EVENT_HOMEASSISTANT_START) -@@ -111,7 +111,7 @@ async def test_motion_setup_component_start_callback(mock_ffmpeg, hass: HomeAssi +@@ -116,7 +116,7 @@ async def test_motion_setup_component_start_callback( await async_setup_component(hass, "binary_sensor", CONFIG_MOTION) await hass.async_block_till_done() @@ -70,15 +70,15 @@ index 6eec115d6f..c55b4fb26c 100644 hass.bus.async_fire(EVENT_HOMEASSISTANT_START) diff --git a/tests/components/ffmpeg/test_init.py b/tests/components/ffmpeg/test_init.py -index 452a818859..41ba776436 100644 +index aa407d5b69..e6d292c040 100644 --- a/tests/components/ffmpeg/test_init.py +++ b/tests/components/ffmpeg/test_init.py -@@ -81,7 +81,7 @@ def test_setup_component(): - with assert_setup_component(1): - setup_component(hass, ffmpeg.DOMAIN, {ffmpeg.DOMAIN: {}}) +@@ -87,7 +87,7 @@ async def test_setup_component(hass: HomeAssistant) -> None: + with assert_setup_component(1): + await async_setup_component(hass, ffmpeg.DOMAIN, {ffmpeg.DOMAIN: {}}) -- assert hass.data[ffmpeg.DATA_FFMPEG].binary == "ffmpeg" -+ assert hass.data[ffmpeg.DATA_FFMPEG].binary == "@ffmpeg@" - hass.stop() +- assert hass.data[ffmpeg.DATA_FFMPEG].binary == "ffmpeg" ++ assert hass.data[ffmpeg.DATA_FFMPEG].binary == "@ffmpeg@" + async def test_setup_component_test_service(hass: HomeAssistant) -> None: diff --git a/pkgs/servers/home-assistant/update-component-packages.py b/pkgs/servers/home-assistant/update-component-packages.py index 1889aff36148..1c68331d1c1c 100755 --- a/pkgs/servers/home-assistant/update-component-packages.py +++ b/pkgs/servers/home-assistant/update-component-packages.py @@ -106,12 +106,17 @@ def parse_components(version: str = "master"): components_with_tests.append(entry.name) sys.path.append(core_path) - from script.hassfest.model import Integration # type: ignore - integrations = Integration.load_dir( - pathlib.Path( + from script.hassfest.model import Config, Integration # type: ignore + config = Config( + root=pathlib.Path(core_path), + specific_integrations=None, + action="generate", + requirements=False, + core_integrations_path=pathlib.Path( os.path.join(core_path, "homeassistant/components") - ) + ), ) + integrations = Integration.load_dir(config.core_integrations_path, config) for domain in sorted(integrations): integration = integrations[domain] if extra_deps := EXTRA_COMPONENT_DEPS.get(integration.domain): diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index a4f5293fd659..721f2409520a 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -469,6 +469,8 @@ mapAliases ({ pysha3 = throw "pysha3 has been removed, use safe-pysha3 instead"; # added 2023-05-20 pysmart-smartx = pysmart; # added 2021-10-22 pySmartDL = pysmartdl; # added 2023-10-11 + pysmi-lextudio = pysmi; # added 2024-07-18 + pysnmp-lextudio = pysnmp; # added 2024-07-18 pysparse = throw "pysparse has been abandoned upstream."; # added 2023-02-28 pyspotify = throw "pyspotify has been removed because Spotify stopped supporting libspotify"; # added 2022-05-29 PyStemmer = pystemmer; # added 2023-02-19 @@ -508,6 +510,7 @@ mapAliases ({ pyuavcan = throw "pyuavcan has been renamed to pycyphal and the old package deprecated, use pycyphal instead"; # added 2024-02-09 pyutilib = throw "pyutilib has been removed, since it is no longer maintained"; # added 2024-07-28 pyvcf = throw "pyvcf has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2023-05-19 + pyvicare = pyvicare-neo; # added 2024-08-31 PyVirtualDisplay = pyvirtualdisplay; # added 2023-02-19 pywick = throw "pywick has been removed, since it is no longer maintained"; # added 2023-07-01 pyxb = throw "pyxb has been removed, its last release was in 2017 and it has finally been archived in April 2023."; # added 2024-01-05 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2dad059a3965..1397631cf3b9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -269,6 +269,8 @@ self: super: with self; { aiohttp-socks = callPackage ../development/python-modules/aiohttp-socks { }; + aiohttp-sse-client2 = callPackage ../development/python-modules/aiohttp-sse-client2 { }; + aiohttp-swagger = callPackage ../development/python-modules/aiohttp-swagger { }; aiohttp-wsgi = callPackage ../development/python-modules/aiohttp-wsgi { }; @@ -1108,6 +1110,8 @@ self: super: with self; { axisregistry = callPackage ../development/python-modules/axisregistry { }; + ayla-iot-unofficial = callPackage ../development/python-modules/ayla-iot-unofficial { }; + azure-appconfiguration = callPackage ../development/python-modules/azure-appconfiguration { }; azure-applicationinsights = callPackage ../development/python-modules/azure-applicationinsights { }; @@ -6871,6 +6875,8 @@ self: super: with self; { lcgit = callPackage ../development/python-modules/lcgit { }; + lcn-frontend = callPackage ../development/python-modules/lcn-frontend { }; + lcov-cobertura = callPackage ../development/python-modules/lcov-cobertura { }; ld2410-ble = callPackage ../development/python-modules/ld2410-ble { }; @@ -8818,6 +8824,8 @@ self: super: with self; { nibe = callPackage ../development/python-modules/nibe { }; + nice-go = callPackage ../development/python-modules/nice-go { }; + nidaqmx = callPackage ../development/python-modules/nidaqmx { }; nikola = callPackage ../development/python-modules/nikola { }; @@ -12079,18 +12087,16 @@ self: super: with self; { pysmi = callPackage ../development/python-modules/pysmi { }; - pysmi-lextudio = callPackage ../development/python-modules/pysmi-lextudio { }; - pysml = callPackage ../development/python-modules/pysml { }; + pysmlight = callPackage ../development/python-modules/pysmlight { }; + pysmt = callPackage ../development/python-modules/pysmt { }; pysnmp = callPackage ../development/python-modules/pysnmp { }; pysnmpcrypto = callPackage ../development/python-modules/pysnmpcrypto { }; - pysnmp-lextudio = callPackage ../development/python-modules/pysnmp-lextudio { }; - pysnmp-pyasn1 = callPackage ../development/python-modules/pysnmp-pyasn1 { }; pysnmp-pysmi = callPackage ../development/python-modules/pysnmp-pysmi { }; @@ -12121,6 +12127,8 @@ self: super: with self; { pyspcwebgw = callPackage ../development/python-modules/pyspcwebgw { }; + pyspeex-noise = callPackage ../development/python-modules/pyspeex-noise { }; + pyspellchecker = callPackage ../development/python-modules/pyspellchecker { }; pyspf = callPackage ../development/python-modules/pyspf { }; @@ -12930,7 +12938,7 @@ self: super: with self; { pyvex = callPackage ../development/python-modules/pyvex { }; - pyvicare = callPackage ../development/python-modules/pyvicare { }; + pyvicare-neo = callPackage ../development/python-modules/pyvicare-neo { }; pyvirtualdisplay = callPackage ../development/python-modules/pyvirtualdisplay { }; @@ -17687,6 +17695,8 @@ self: super: with self; { zigpy-xbee = callPackage ../development/python-modules/zigpy-xbee { }; + zigpy-zboss = callPackage ../development/python-modules/zigpy-zboss { }; + zigpy-zigate = callPackage ../development/python-modules/zigpy-zigate { }; zigpy-znp = callPackage ../development/python-modules/zigpy-znp { };