home-assistant: 2024.8.3 -> 2024.9.0 (#338722)

This commit is contained in:
Martin Weinelt
2024-09-05 01:27:10 +02:00
committed by GitHub
53 changed files with 922 additions and 578 deletions
+7 -7
View File
@@ -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;
@@ -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; {
@@ -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 ];
};
}
@@ -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
];
@@ -26,11 +26,6 @@ buildPythonPackage rec {
hash = "sha256-acu0EWP/k0qyylPtM8IBxhJhhQhXpbG2NheYpD8RTG8=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools>=68.1" "setuptools"
'';
build-system = [ setuptools ];
dependencies = [
@@ -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 ];
};
}
@@ -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 ];
@@ -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
];
@@ -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
@@ -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 ];
};
}
@@ -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 = ''
@@ -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 = [
@@ -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
@@ -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 = [
@@ -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 = [ ];
};
@@ -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 ];
};
@@ -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 ];
};
}
@@ -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";
@@ -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";
@@ -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
];
@@ -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" ];
@@ -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 ];
};
}
@@ -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 ];
};
@@ -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 ];
};
}
@@ -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 ];
@@ -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
@@ -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;
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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";
@@ -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;
@@ -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 ];
};
@@ -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 ];
};
@@ -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"
@@ -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 = ''
@@ -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"
@@ -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 ];
};
}
@@ -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 = ''
@@ -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"
+7 -61
View File
@@ -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}";
})
];
+3 -2
View File
@@ -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;
+3 -2
View File
@@ -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;
@@ -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:
@@ -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):
+3
View File
@@ -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
+15 -5
View File
@@ -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 { };