home-assistant: 2025.4.4 -> 2025.5.0 (#404653)

This commit is contained in:
Martin Weinelt
2025-05-09 14:28:27 +02:00
committed by GitHub
84 changed files with 767 additions and 399 deletions
+21 -3
View File
@@ -4,7 +4,25 @@
fetchFromGitHub,
}:
python3.pkgs.buildPythonApplication rec {
let
python = python3.override {
self = python3;
packageOverrides = self: super: {
pyrate-limiter = super.pyrate-limiter.overridePythonAttrs (oldAttrs: rec {
version = "2.10.0";
src = fetchFromGitHub {
inherit (oldAttrs.src) owner repo;
tag = "v${version}";
hash = "sha256-CPusPeyTS+QyWiMHsU0ii9ZxPuizsqv0wQy3uicrDw0=";
};
doCheck = false;
});
};
};
in
python.pkgs.buildPythonApplication rec {
pname = "conkeyscan";
version = "1.1.0";
pyproject = true;
@@ -21,9 +39,9 @@ python3.pkgs.buildPythonApplication rec {
--replace-fail "{{VERSION_PLACEHOLDER}}" "${version}"
'';
build-system = with python3.pkgs; [ setuptools ];
build-system = with python.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
dependencies = with python.pkgs; [
atlassian-python-api
beautifulsoup4
clize
@@ -5,27 +5,28 @@
grype,
nix,
nix-visualize,
python,
python3,
vulnix,
# python libs
beautifulsoup4,
colorlog,
dfdiskcache,
filelock,
graphviz,
numpy,
packageurl-python,
packaging,
pandas,
pyrate-limiter,
requests,
requests-cache,
requests-ratelimiter,
reuse,
setuptools,
tabulate,
}:
let
python = python3.override {
self = python3;
packageOverrides = self: super: {
pyrate-limiter = super.pyrate-limiter.overridePythonAttrs (oldAttrs: rec {
version = "2.10.0";
src = fetchFromGitHub {
inherit (oldAttrs.src) owner repo;
tag = "v${version}";
hash = "sha256-CPusPeyTS+QyWiMHsU0ii9ZxPuizsqv0wQy3uicrDw0=";
};
doCheck = false;
});
};
};
in
python.pkgs.buildPythonApplication rec {
pname = "sbomnix";
version = "1.7.2";
@@ -49,7 +50,7 @@ python.pkgs.buildPythonApplication rec {
lib.makeBinPath [
git
nix
graphviz
python.pkgs.graphviz
nix-visualize
vulnix
grype
@@ -57,9 +58,9 @@ python.pkgs.buildPythonApplication rec {
}"
];
nativeBuildInputs = [ setuptools ];
build-system = [ python.pkgs.setuptools ];
propagatedBuildInputs = [
dependencies = with python.pkgs; [
beautifulsoup4
colorlog
dfdiskcache
@@ -78,6 +79,7 @@ python.pkgs.buildPythonApplication rec {
];
pythonImportsCheck = [ "sbomnix" ];
# Tests require network access
doCheck = false;
@@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "aioautomower";
version = "2025.3.2";
version = "2025.5.1";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "Thomas55555";
repo = "aioautomower";
tag = version;
hash = "sha256-Gza71hJelomKVnBFxhN6WCppwmzcgUAnROYKn/znoEs=";
hash = "sha256-Fia08yBmixR47WZMuNbBg+u8CyHG8lumfWJeB/EKd78=";
};
postPatch = ''
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "aiocomelit";
version = "0.11.3";
version = "0.12.0";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "chemelli74";
repo = "aiocomelit";
tag = "v${version}";
hash = "sha256-Hl5yUEtBFfx+p2WQssI7M+TgEiO5VvgIdWoFZMCjCUY=";
hash = "sha256-zowXj2Aq2BK/UPJ8xT6eS0/V2vSKp+v6xRLSRMyDPvE=";
};
build-system = [ poetry-core ];
@@ -26,7 +26,7 @@
buildPythonPackage rec {
pname = "aioesphomeapi";
version = "30.0.1";
version = "30.2.0";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
owner = "esphome";
repo = "aioesphomeapi";
tag = "v${version}";
hash = "sha256-15PIjqglLu4vARbUUL/OVdRcSJWfOFIKqIa2ugpNbUw=";
hash = "sha256-2mH1+/58DSWYWl/mTBsCp6r77OUNWV5rR+4mnbKV9PE=";
};
build-system = [
@@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "aiohasupervisor";
version = "0.3.0";
version = "0.3.1";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -26,14 +26,12 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = "python-supervisor-client";
tag = version;
hash = "sha256-72YRaTlgRJ8liQ1q+Hx1iCG8Av7wWk61t306fYT9gss=";
hash = "sha256-CrcLyG8fpThYHFHH2w+UAlGxuqwpUCWsYUx2gaW9RLw=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'version = "0.0.0"' 'version = "${version}"' \
--replace-fail "setuptools~=68.0.0" "setuptools>=68.0.0" \
--replace-fail "wheel~=0.40.0" "wheel>=0.40.0"
--replace-fail 'version = "0.0.0"' 'version = "${version}"'
'';
build-system = [ setuptools ];
@@ -53,15 +51,12 @@ buildPythonPackage rec {
pytestCheckHook
];
# Import issue, check with next release
doCheck = false;
pythonImportsCheck = [ "aiohasupervisor" ];
meta = {
changelog = "https://github.com/home-assistant-libs/python-supervisor-client/releases/tag/${src.tag}";
description = "Client for Home Assistant Supervisor";
homepage = "https://github.com/home-assistant-libs/python-supervisor-client";
changelog = "https://github.com/home-assistant-libs/python-supervisor-client/releases/tag/${src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
@@ -0,0 +1,52 @@
{
aiohttp,
buildPythonPackage,
fetchFromGitHub,
lib,
pyjwt,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
pythonOlder,
setuptools,
syrupy,
}:
buildPythonPackage rec {
pname = "aiokem";
version = "0.5.10";
pyproject = true;
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "kohlerlibs";
repo = "aiokem";
tag = "v${version}";
hash = "sha256-C9px2Gooh6Ob3rGGhKtRdScuA+PCU93xDvOjk7+q3e8=";
};
build-system = [ setuptools ];
dependencies = [
aiohttp
pyjwt
];
pythonImportsCheck = [ "aiokem" ];
nativeCheckInputs = [
pytest-asyncio
pytest-cov-stub
pytestCheckHook
syrupy
];
meta = {
changelog = "https://github.com/kohlerlibs/aiokem/blob/${src.tag}/CHANGELOG.md";
description = "Async API for Kohler Energy Management";
homepage = "https://github.com/kohlerlibs/aiokem";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "aioshelly";
version = "13.5.0";
version = "13.6.0";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = "aioshelly";
tag = version;
hash = "sha256-oqmX7x6GNZRMTnmUXG1ptDoXT+A4tB+wDM2pds/kRcY=";
hash = "sha256-cJKo/UITcvpGbrtOqXLReWghEXL0AKFve1s6Ncde0gc=";
};
build-system = [ setuptools ];
@@ -12,16 +12,16 @@
buildPythonPackage rec {
pname = "aiovodafone";
version = "0.9.0";
version = "0.11.0";
pyproject = true;
disabled = pythonOlder "3.11";
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "chemelli74";
repo = "aiovodafone";
tag = "v${version}";
hash = "sha256-3WafrcJH9pD1u0FEJzYaVWLWb2Ur1sCHYHFON4DXLpo=";
hash = "sha256-/H3v5ZRAaWWouow82nr/+TOuL+IX6Ez+Mjk/C120MWM=";
};
build-system = [ poetry-core ];
@@ -41,7 +41,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Library to control Vodafon Station";
homepage = "https://github.com/chemelli74/aiovodafone";
changelog = "https://github.com/chemelli74/aiovodafone/blob/v${version}/CHANGELOG.md";
changelog = "https://github.com/chemelli74/aiovodafone/blob/${src.tag}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "apsystems-ez1";
version = "2.4.0";
version = "2.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "SonnenladenGmbH";
repo = "APsystems-EZ1-API";
tag = version;
hash = "sha256-H4vhF4CgZmKmBF+v6SpnpIOlPBkFLL50W+Ua+gDr/7I=";
hash = "sha256-/dseMzi92qlual+L6v6Cl5Xd4U9c7SPdclmTSQTVor0=";
};
build-system = [ poetry-core ];
@@ -32,7 +32,7 @@ buildPythonPackage rec {
];
meta = {
changelog = "https://github.com/SonnenladenGmbH/APsystems-EZ1-API/releases/tag/${version}";
changelog = "https://github.com/SonnenladenGmbH/APsystems-EZ1-API/releases/tag/${src.tag}";
description = "Streamlined interface for interacting with the local API of APsystems EZ1 Microinverters.";
homepage = "https://github.com/SonnenladenGmbH/APsystems-EZ1-API";
license = lib.licenses.mit;
@@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "bellows";
version = "0.44.1";
version = "0.45.0";
pyproject = true;
src = fetchFromGitHub {
owner = "zigpy";
repo = "bellows";
tag = version;
hash = "sha256-LxwKS4jh/ehYGxhU4lpmzXBWGacLtjq6c/lhBybLaRE=";
hash = "sha256-wIi6LXfo1ykNT9DMmlRORspiWnBzJUAn6kA/t4rdTpY=";
};
postPatch = ''
@@ -19,14 +19,14 @@
buildPythonPackage rec {
pname = "bleak-esphome";
version = "2.13.1";
version = "2.15.1";
pyproject = true;
src = fetchFromGitHub {
owner = "bluetooth-devices";
repo = "bleak-esphome";
tag = "v${version}";
hash = "sha256-ziUSqIox5tWp64EJ+Hacy1Wbh8NMpH/GUY9TUaN7Y3M=";
hash = "sha256-Q+W7i0+Qsm1wfVNC+ub9J9DOcP7D4gZkjw3j37aHhYc=";
};
postPatch = ''
@@ -13,16 +13,16 @@
buildPythonPackage rec {
pname = "bluemaestro-ble";
version = "0.2.3";
version = "0.4.1";
pyproject = true;
disabled = pythonOlder "3.9";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "bluemaestro-ble";
tag = "v${version}";
hash = "sha256-mJ5JNGN4F9U3WMJQDwiZwuxE0zOirwo1sWF3/bVwXhY=";
hash = "sha256-44HUcp8CKQMcaIMKsi3AXdCJlIUGvRrVd2JxGeh1498=";
};
build-system = [ poetry-core ];
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "bluetooth-auto-recovery";
version = "1.4.5";
version = "1.5.1";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = "bluetooth-auto-recovery";
tag = "v${version}";
hash = "sha256-yh0Gf8veT5VCk05Y7QyxoCz0NHnVRj8HJLTbnvi+9C8=";
hash = "sha256-p8xuYmU0gXQYnPdTzzJTyQTYuShzPa/twD8r5HNEsN4=";
};
build-system = [ poetry-core ];
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "bluetooth-data-tools";
version = "1.26.5";
version = "1.28.1";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = "bluetooth-data-tools";
tag = "v${version}";
hash = "sha256-uuPr/Dfpd4PAU8ub16uocSH9hqWWAz7RUDRp4jWTctE=";
hash = "sha256-citrK/PkWrFB62+xTZFPwr/se5Kiz30qzAMVYROYnS8=";
};
# The project can build both an optimized cython version and an unoptimized
@@ -12,16 +12,16 @@
buildPythonPackage rec {
pname = "bluetooth-sensor-state-data";
version = "1.7.5";
version = "1.8.0";
pyproject = true;
disabled = pythonOlder "3.9";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "bluetooth-sensor-state-data";
tag = "v${version}";
hash = "sha256-W+gU9YlxoCh5zRht44Ovq3Doms8UtCvUNLlSUpzsQwA=";
hash = "sha256-XWSdPFhoCuIkQR/tXDhEFUsxpoDoiebI73MqRjtAvFo=";
};
build-system = [ poetry-core ];
@@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "deebot-client";
version = "12.5.0";
version = "13.1.0";
pyproject = true;
disabled = pythonOlder "3.13";
@@ -29,12 +29,12 @@ buildPythonPackage rec {
owner = "DeebotUniverse";
repo = "client.py";
tag = version;
hash = "sha256-+Tc4YZucd1P7g2jD2iQzYurQ7hjcUQyst8SUgXTtUsg=";
hash = "sha256-EIhefThzHC9hpI4bGkTu+TskdzajI7cc90DhrfDlbcs=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-dxq/3TYqMm4ckE0En3iskt0OL71XN0bc9VsFUuaefp8=";
hash = "sha256-WYWrfNigmu18yEa2QstJ5RfjLWS/Tckem48j8JK2NHk=";
};
pythonRelaxDeps = [
@@ -2,43 +2,60 @@
lib,
buildPythonPackage,
fetchFromGitHub,
pytest-freezer,
pytest-mock,
pytestCheckHook,
python-dateutil,
pythonOlder,
requests,
requests-mock,
setuptools-scm,
setuptools,
syrupy,
websocket-client,
zeroconf,
}:
buildPythonPackage rec {
pname = "devolo-home-control-api";
version = "0.18.3";
format = "setuptools";
disabled = pythonOlder "3.6";
version = "0.19.0";
pyproject = true;
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "2Fake";
repo = "devolo_home_control_api";
rev = "v${version}";
hash = "sha256-4AyC1DDYtKl8SwJf75BbzoOAhbZXmBZ05ma9YmLzksM=";
tag = "v${version}";
hash = "sha256-eBJ6hdxUplc1poh7WFACWkyfReSdRSyCEoq2A6Sudgg=";
};
nativeBuildInputs = [ setuptools-scm ];
build-system = [
setuptools
setuptools-scm
];
propagatedBuildInputs = [
dependencies = [
python-dateutil
requests
zeroconf
websocket-client
];
nativeCheckInputs = [
pytestCheckHook
pytest-freezer
pytest-mock
pytestCheckHook
requests-mock
syrupy
];
pytestFlags = [
"--snapshot-update"
];
# Disable test that requires network access
disabledTests = [
# Disable test that requires network access
"test__on_pong"
"TestMprm"
];
@@ -48,7 +65,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python library to work with devolo Home Control";
homepage = "https://github.com/2Fake/devolo_home_control_api";
license = with licenses; [ gpl3Only ];
changelog = "https://github.com/2Fake/devolo_home_control_api/blob/${src.tag}/docs/CHANGELOG.md";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
};
}
@@ -51,6 +51,7 @@ buildPythonPackage rec {
pythonRelaxDeps = [
"http-ece"
"protobuf"
];
dependencies = [
@@ -25,11 +25,15 @@ buildPythonPackage rec {
hatch-vcs
];
propagatedBuildInputs = [
dependencies = [
grpcio
protobuf
];
doCheck = false; # no tests
pythonRelaxDeps = [ "protobuf" ];
meta = {
description = "Generated Python protobuf stubs for Google Home internal API";
homepage = "https://github.com/KapJI/ghome-foyer-api";
@@ -0,0 +1,49 @@
{
buildPythonPackage,
fetchFromGitHub,
google-api-core,
google-auth,
lib,
proto-plus,
protobuf,
pytestCheckHook,
setuptools,
}:
buildPythonPackage rec {
pname = "google-geo-type";
version = "0.3.12";
pyproject = true;
src = fetchFromGitHub {
owner = "googleapis";
repo = "google-cloud-python";
tag = "google-geo-type-v${version}";
hash = "sha256-5PzidE1CWN+pt7+gcAtbuXyL/pq6cnn0MCRkBfmeUSw=";
};
sourceRoot = "${src.name}/packages/google-geo-type";
build-system = [ setuptools ];
dependencies = [
google-api-core
google-auth
proto-plus
protobuf
] ++ google-api-core.optional-dependencies.grpc;
pythonImportsCheck = [ "google.geo.type" ];
nativeCheckInputs = [
pytestCheckHook
];
meta = {
changelog = "https://github.com/googleapis/google-cloud-python/blob/${src.tag}/packages/google-geo-type/CHANGELOG.md";
description = "Google Geo Type API client library";
homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-geo-type";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -0,0 +1,53 @@
{
buildPythonPackage,
fetchFromGitHub,
google-api-core,
google-auth,
google-geo-type,
lib,
proto-plus,
protobuf,
pytest-asyncio,
pytestCheckHook,
setuptools,
}:
buildPythonPackage rec {
pname = "google-maps-routing";
version = "0.6.15";
pyproject = true;
src = fetchFromGitHub {
owner = "googleapis";
repo = "google-cloud-python";
tag = "google-maps-routing-v${version}";
hash = "sha256-5PzidE1CWN+pt7+gcAtbuXyL/pq6cnn0MCRkBfmeUSw=";
};
sourceRoot = "${src.name}/packages/google-maps-routing";
build-system = [ setuptools ];
dependencies = [
google-api-core
google-auth
proto-plus
protobuf
google-geo-type
] ++ google-api-core.optional-dependencies.grpc;
pythonImportsCheck = [ "google.maps.routing_v2" ];
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
];
meta = {
changelog = "https://github.com/googleapis/google-cloud-python/blob/${src.tag}/packages/google-maps-routing/CHANGELOG.md";
description = "Google Maps Routing API client library";
homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-maps-routing";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -21,7 +21,7 @@
buildPythonPackage rec {
pname = "habluetooth";
version = "3.38.0";
version = "3.48.2";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = "habluetooth";
tag = "v${version}";
hash = "sha256-eqsWm5g/D94NgoBbfh3uudcUOs4aekg4nHw2fODtTOA=";
hash = "sha256-zhvsw8b4IkD0hB0Mhn/AKEYhFyPbOMbouEbpHbwNTo8=";
};
build-system = [
@@ -23,7 +23,7 @@
buildPythonPackage rec {
pname = "hass-nabucasa";
version = "0.95.0";
version = "0.96.0";
pyproject = true;
disabled = pythonOlder "3.13";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
owner = "nabucasa";
repo = "hass-nabucasa";
tag = version;
hash = "sha256-KSGEgMgZ0fHot7hfT0sDl/4aZOsWT8CE+R5ebCqhLAA=";
hash = "sha256-U6rxX1VgSpOkmd/kyf2thYF/0TtsguWbVxXaeuq/wvs=";
};
pythonRelaxDeps = [ "acme" ];
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "hdate";
version = "1.0.3";
version = "1.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "py-libhdate";
repo = "py-libhdate";
tag = "v${version}";
hash = "sha256-J2ZbfzQdQSlnwcygwapDKkvZIx2VrlaaRe244V8Zt5c=";
hash = "sha256-NNaspGNfrtZqo9sUOJVyYlJT7dhr/nzueuaqewUMlpM=";
};
pythonRelaxDeps = [
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
pythonOlder,
# build-system
@@ -31,6 +32,15 @@ buildPythonPackage rec {
hash = "sha256-piX812Uzd2F8A8+IF/17N+xy6ENpfRVJ1BxsAxL5aj0=";
};
patches = [
(fetchpatch {
name = "fix-tests-with-habluetooth-3.42.0.patch";
url = "https://github.com/home-assistant-libs/home-assistant-bluetooth/commit/515516bf9b2577c5d4af25cd2f052023ccb8b108.patch";
includes = [ "tests/test_models.py" ];
hash = "sha256-9t8VRKQSDxSYiy7bFII62B4O5w5Hx9AbRgvzcT6z1BQ=";
})
];
build-system = [
poetry-core
setuptools
@@ -1,35 +1,31 @@
{
lib,
aenum,
aiohttp,
aiohttp-wsgi,
async-timeout,
buildPythonPackage,
fetchFromGitHub,
pytest7CheckHook,
pythonAtLeast,
pythonOlder,
httpx,
pytest-aiohttp,
pytest-asyncio_0_21,
pytest-mock,
pytestCheckHook,
pythonOlder,
requests,
setuptools,
setuptools-scm,
websocket-client,
setuptools,
websockets,
}:
buildPythonPackage rec {
pname = "homematicip";
version = "1.1.7";
version = "2.0.1.1";
pyproject = true;
disabled = pythonOlder "3.10";
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "hahn-th";
repo = "homematicip-rest-api";
tag = version;
hash = "sha256-zhpGsmzJrtWgHlVdzIrFGQAt4EBWSWCTLIKyuuhDlPA=";
hash = "sha256-klDyrbIJeAm3C7sCo4Z4OKDvm5+V8mfwYbyS22CKVQU=";
};
build-system = [
@@ -38,64 +34,52 @@ buildPythonPackage rec {
];
dependencies = [
aenum
aiohttp
async-timeout
httpx
requests
websocket-client
websockets
];
nativeCheckInputs = [
aiohttp-wsgi
(pytest-aiohttp.override {
pytest-asyncio = pytest-asyncio_0_21;
})
pytest-asyncio_0_21
pytest7CheckHook
pytest-aiohttp
pytest-mock
pytestCheckHook
];
pytestFlagsArray = [ "--asyncio-mode=auto" ];
disabledTests =
[
# Assert issues with datetime
"test_contact_interface_device"
"test_dimmer"
"test_external_device"
"test_heating_failure_alert_group"
"test_heating"
"test_humidity_warning_rule_group"
"test_meta_group"
"test_pluggable_switch_measuring"
"test_rotary_handle_sensor"
"test_security_group"
"test_security_zone"
"test_shutter_device"
"test_smoke_detector"
"test_switching_group"
"test_temperature_humidity_sensor_outdoor"
"test_wall_mounted_thermostat_pro"
"test_weather_sensor"
# Random failures
"test_home_getSecurityJournal"
"test_home_unknown_types"
# Requires network access
"test_websocket"
]
++ lib.optionals (pythonAtLeast "3.10") [
"test_connection_lost"
"test_user_disconnect_and_reconnect"
"test_ws_message"
"test_ws_no_pong"
];
disabledTests = [
# Assert issues with datetime
"test_contact_interface_device"
"test_dimmer"
"test_external_device"
"test_heating_failure_alert_group"
"test_heating"
"test_humidity_warning_rule_group"
"test_meta_group"
"test_pluggable_switch_measuring"
"test_rotary_handle_sensor"
"test_security_group"
"test_security_zone"
"test_shutter_device"
"test_smoke_detector"
"test_switching_group"
"test_temperature_humidity_sensor_outdoor"
"test_wall_mounted_thermostat_pro"
"test_weather_sensor"
# Random failures
"test_home_getSecurityJournal"
"test_home_unknown_types"
# Requires network access
"test_websocket"
];
pythonImportsCheck = [ "homematicip" ];
meta = with lib; {
description = "Module for the homematicIP REST API";
homepage = "https://github.com/hahn-th/homematicip-rest-api";
changelog = "https://github.com/hahn-th/homematicip-rest-api/releases/tag/${version}";
changelog = "https://github.com/hahn-th/homematicip-rest-api/releases/tag/${src.tag}";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ fab ];
};
@@ -0,0 +1,41 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pdm-pep517,
aiohttp,
async-timeout,
}:
buildPythonPackage rec {
pname = "imeon-inverter-api";
version = "0.3.12";
pyproject = true;
src = fetchFromGitHub {
owner = "Imeon-Inverters-for-Home-Assistant";
repo = "inverter-api";
tag = version;
hash = "sha256-creGva8ZC20yfgjO4XhvXerGuhVnXbshUvoexxjSHFU=";
};
build-system = [ pdm-pep517 ];
dependencies = [
aiohttp
async-timeout
];
pythonImportsCheck = [ "imeon_inverter_api" ];
# upstream has no tests
doCheck = false;
meta = {
changelog = "https://github.com/Imeon-Inverters-for-Home-Assistant/inverter-api/releases/tag/${src.tag}";
description = "Standalone API to collect data from the Imeon Energy Inverters that uses HTTP POST/GET";
homepage = "https://github.com/Imeon-Inverters-for-Home-Assistant/inverter-api";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -14,16 +14,16 @@
buildPythonPackage rec {
pname = "inkbird-ble";
version = "0.10.1";
version = "0.16.1";
pyproject = true;
disabled = pythonOlder "3.9";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "inkbird-ble";
tag = "v${version}";
hash = "sha256-i6Vr8dl0svMew7uJrWp11EkVFU01uAHkGvUUr1ecfRw=";
hash = "sha256-mSXDSMzBFF2WS+G4VxTzZtKXradxEQyoYR9G/ys+z/M=";
};
build-system = [ poetry-core ];
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "leaone-ble";
version = "0.1.0";
version = "0.3.0";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "bluetooth-devices";
repo = "leaone-ble";
tag = "v${version}";
hash = "sha256-usFjI0zU89dEAbmx9mVemoxlYS8mmLTKIMhH26Rvkeg=";
hash = "sha256-96TOjjz4EkHAnzL53BIR+PifkyrEig/0r+mIfnwc0hE=";
};
build-system = [ poetry-core ];
@@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "midea-local";
version = "6.1.0";
version = "6.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "midea-lan";
repo = pname;
tag = "v${version}";
hash = "sha256-N6e6aVjsAOMbUPFAGbVWuQIqXOX/XC9tlvx1P6ZqB8w=";
hash = "sha256-zXOxgPFX6TRdFnQ0OqqEu1sy9MmlfxEg7KedQWxYv48=";
};
build-system = [ setuptools ];
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "moddb";
version = "0.9.0";
version = "0.12.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "ClementJ18";
repo = "moddb";
rev = "v${version}";
hash = "sha256-2t5QQAmSLOrdNCl0XdsFPdP2UF10/qq69DovqeQ1Vt8=";
hash = "sha256-idBja/W9r8iX69Af+x2TZcLpSLy45fC9pmrMKJZ0RsA=";
};
propagatedBuildInputs = [
@@ -1,38 +0,0 @@
{
lib,
buildPythonPackage,
fetchPypi,
paho-mqtt,
pythonOlder,
requests,
}:
buildPythonPackage rec {
pname = "pyephember";
version = "0.4.1";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-/uMpaqgy6YbqBBFuMxAM8PukCD3/TUNN6wcBiihRi3Y=";
};
propagatedBuildInputs = [
paho-mqtt
requests
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "pyephember" ];
meta = with lib; {
description = "Python client to the EPH Control Systems Ember API";
homepage = "https://github.com/ttroy50/pyephember";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}
@@ -0,0 +1,41 @@
{
buildPythonPackage,
fetchFromGitHub,
lib,
paho-mqtt,
requests,
setuptools,
}:
buildPythonPackage rec {
pname = "pyephember2";
version = "0.4.12";
pyproject = true;
src = fetchFromGitHub {
owner = "roberty99";
repo = "pyephember2";
tag = version;
hash = "sha256-R63Ts+1620QQOFF8o2/6CFNZi5jAeWTQkElgqZhNA7c=";
};
build-system = [ setuptools ];
dependencies = [
paho-mqtt
requests
];
pythonImportsCheck = [ "pyephember2" ];
# upstream has no tests
doCheck = false;
meta = {
changelog = "https://github.com/roberty99/pyephember2/releases/tag/${src.tag}";
description = "Python library to work with ember from EPH Controls";
homepage = "https://github.com/ttroy50/pyephember";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -5,6 +5,7 @@
bleak,
buildPythonPackage,
fetchFromGitHub,
mashumaro,
pytest-asyncio,
pytestCheckHook,
pythonOlder,
@@ -14,16 +15,16 @@
buildPythonPackage rec {
pname = "pylamarzocco";
version = "1.4.9";
version = "2.0.0";
pyproject = true;
disabled = pythonOlder "3.11";
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "zweckj";
repo = "pylamarzocco";
tag = "v${version}";
hash = "sha256-rEN1z+gkQjWjDkISdnn0KsxVzzPSKGPI/+VeYclIvkI=";
hash = "sha256-iOqYCX7cwAePGepJ0nAG3iApz1A/9Cn6hy3mo4uPl7w=";
};
build-system = [ setuptools ];
@@ -31,6 +32,7 @@ buildPythonPackage rec {
dependencies = [
aiohttp
bleak
mashumaro
];
nativeCheckInputs = [
@@ -1,44 +0,0 @@
{
lib,
aiohttp,
asynctest,
buildPythonPackage,
fetchFromGitHub,
pytest-asyncio,
pytestCheckHook,
pythonOlder,
}:
buildPythonPackage rec {
pname = "pymelcloud";
version = "2.11.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "vilppuvuorinen";
repo = pname;
rev = "v${version}";
sha256 = "1q6ny58cn9qy86blxbk6l2iklab7y11b734l7yb1bp35dmy27w26";
};
propagatedBuildInputs = [ aiohttp ];
doCheck = pythonOlder "3.11"; # asynctest is unsupported on python3.11
nativeCheckInputs = [
asynctest
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [ "pymelcloud" ];
meta = with lib; {
description = "Python module for interacting with MELCloud";
homepage = "https://github.com/vilppuvuorinen/pymelcloud";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "pymiele";
version = "0.2.0";
version = "0.4.3";
pyproject = true;
disabled = pythonOlder "3.11";
disabled = pythonOlder "3.13";
src = fetchPypi {
inherit pname version;
hash = "sha256-/iUpbvD77MURTltnStm47PEqXnfVuHf4m3+h9V2cn68=";
hash = "sha256-o3G8+TdjPzctlq/CHYsac7aEx0hVLo1M1JLos3S9ek0=";
};
build-system = [ setuptools ];
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "pypglab";
version = "0.0.3";
version = "0.0.5";
pyproject = true;
src = fetchFromGitHub {
owner = "pglab-electronics";
repo = "pypglab";
tag = version;
hash = "sha256-b+o98DrTK1HBKvRfTjdJ1MkdUHEg/TaQZhoLR7URZ0c=";
hash = "sha256-nnLGFVV+aWkaE7RnAzLHji/tKxIiA9qJS/BUTv3KNeo=";
};
build-system = [ hatchling ];
@@ -2,30 +2,56 @@
lib,
buildPythonPackage,
fetchFromGitHub,
filelock,
poetry-core,
postgresql,
postgresqlTestHook,
psycopg,
psycopg-pool,
pytestCheckHook,
pytest-asyncio,
pytest-xdist,
redis,
redisTestHook,
}:
buildPythonPackage rec {
pname = "pyrate-limiter";
version = "2.10.0";
format = "pyproject";
version = "3.7.0";
pyproject = true;
src = fetchFromGitHub {
owner = "vutran1710";
repo = "PyrateLimiter";
rev = "v${version}";
hash = "sha256-CPusPeyTS+QyWiMHsU0ii9ZxPuizsqv0wQy3uicrDw0=";
tag = "v${version}";
hash = "sha256-oNwFxH75TJm0iJSbLIO8SlIih72ImlHIhUW7GjOEorw=";
};
nativeBuildInputs = [ poetry-core ];
postPatch = ''
# tests cause too many connections to the postgres server and crash/timeout
sed -i "/create_postgres_bucket,/d" tests/conftest.py
'';
build-system = [ poetry-core ];
optional-dependencies = {
all = [
filelock
redis
psycopg
psycopg-pool
];
};
nativeCheckInputs = [
pytestCheckHook
pytest-asyncio
pytest-xdist
redisTestHook
] ++ lib.flatten (lib.attrValues optional-dependencies);
pythonImportsCheck = [ "pyrate_limiter" ];
# The only consumer of this is Lutris (via python-moddb), and it requires 2.x,
# so don't auto-update it and break Lutris every python-updates.
# FIXME: remove when python-moddb updates.
passthru.skipBulkUpdate = true;
meta = with lib; {
description = "Python Rate-Limiter using Leaky-Bucket Algorimth Family";
homepage = "https://github.com/vutran1710/PyrateLimiter";
@@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "pysmartthings";
version = "3.2.0";
version = "3.2.1";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "andrewsayre";
repo = "pysmartthings";
tag = "v${version}";
hash = "sha256-b8DUptzmXGGjuQrNRHp9KC4aQnoVj+Wu7ixyiNjuvqk=";
hash = "sha256-KgwNXIzQWae91R0qmInlm6m+NwrSJgP9SY80WSneTY4=";
};
build-system = [ poetry-core ];
@@ -0,0 +1,56 @@
{
aiohttp,
aioresponses,
buildPythonPackage,
fetchFromGitHub,
lib,
mashumaro,
orjson,
poetry-core,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
yarl,
}:
buildPythonPackage rec {
pname = "python-melcloud";
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "erwindouna";
repo = "python-melcloud";
tag = version;
hash = "sha256-1WFE8k16aDIp1S/WDHXVdUtQmISEoE8yQAn9nndmQWs=";
};
build-system = [ poetry-core ];
pythonRemoveDeps = [
"aioresponses"
"mashumaro"
"orjson"
"yarl"
];
dependencies = [
aiohttp
];
pythonImportsCheck = [ "pymelcloud" ];
nativeCheckInputs = [
pytest-asyncio
pytest-cov-stub
pytestCheckHook
];
meta = {
changelog = "https://github.com/erwindouna/python-melcloud/blob/${src.tag}/CHANGELOG.md";
description = "Asynchronous Python client for controlling Melcloud devices";
homepage = "https://github.com/erwindouna/python-melcloud";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -2,6 +2,7 @@
lib,
stdenv,
aiohttp,
aiomqtt,
aioresponses,
async-timeout,
buildPythonPackage,
@@ -14,6 +15,7 @@
poetry-core,
pycryptodome,
pycryptodomex,
pyrate-limiter,
pytest-asyncio,
pytestCheckHook,
pythonOlder,
@@ -22,7 +24,7 @@
buildPythonPackage rec {
pname = "python-roborock";
version = "2.16.1";
version = "2.18.2";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -31,7 +33,7 @@ buildPythonPackage rec {
owner = "humbertogontijo";
repo = "python-roborock";
tag = "v${version}";
hash = "sha256-zQlNBQm+dBmw+kydNlqJU1D0KKuywyuNCqm0/BslWi0=";
hash = "sha256-7xcw1jNCDapHjH1YVB5NW7jxMyb8Raf8HuTnWf2vdFo=";
};
postPatch = ''
@@ -45,12 +47,14 @@ buildPythonPackage rec {
dependencies = [
aiohttp
aiomqtt
async-timeout
click
construct
dacite
paho-mqtt
pycryptodome
pyrate-limiter
vacuum-map-parser-roborock
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ pycryptodomex ];
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "python-tado";
version = "0.18.11";
version = "0.18.14";
pyproject = true;
src = fetchFromGitHub {
owner = "wmalgadey";
repo = "PyTado";
tag = version;
hash = "sha256-99qUwTcDWkiP4vqiCHI5ukY/KoEtuefietOyvJdowaE=";
hash = "sha256-ubaYa/TC0hctqjuv7QBi/dlIJjWrvo4i9AjAtOIqviU=";
};
build-system = [ setuptools ];
@@ -13,13 +13,14 @@
pythonOlder,
pytest-asyncio,
pytestCheckHook,
syrupy,
tabulate,
typeguard,
}:
buildPythonPackage rec {
pname = "renault-api";
version = "0.2.10";
version = "0.3.1";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -28,7 +29,7 @@ buildPythonPackage rec {
owner = "hacf-fr";
repo = "renault-api";
tag = "v${version}";
hash = "sha256-d+1H4hu8Mqj2oKrS5C1QnoIJePlQdBKLCHTfcNcZBWI=";
hash = "sha256-xnlFt6K7SOpeT4yXxLnep5NvNaP6REteUhBpcT7ipN0=";
};
build-system = [ poetry-core ];
@@ -52,6 +53,7 @@ buildPythonPackage rec {
aioresponses
pytest-asyncio
pytestCheckHook
syrupy
typeguard
] ++ lib.flatten (lib.attrValues optional-dependencies);
@@ -41,6 +41,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "requests_ratelimiter" ];
meta = with lib; {
# https://github.com/JWCook/requests-ratelimiter/issues/78
broken = lib.versionAtLeast pyrate-limiter.version "3";
description = "Module for rate-limiting for requests";
homepage = "https://github.com/JWCook/requests-ratelimiter";
changelog = "https://github.com/JWCook/requests-ratelimiter/blob/${src.rev}/HISTORY.md";
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "sensorpro-ble";
version = "0.5.3";
version = "0.7.0";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = "sensorpro-ble";
tag = "v${version}";
hash = "sha256-Zqa6qa0Jw79Iu4VEw6KN0GsZcC1X7OpiYUiyT4zwKyY=";
hash = "sha256-YMcpe4daM4X23nOMubYNcmqlW8PttwDGC4WL9g4P+4I=";
};
build-system = [ poetry-core ];
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "sensorpush-ble";
version = "1.7.1";
version = "1.9.0";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = "sensorpush-ble";
tag = "v${version}";
hash = "sha256-T2sjzQoWWRGAKiMDN29jZ7jZ5/i75qpNCiuVB7VEhJw=";
hash = "sha256-Jsf/NTVwEHoH989yQqWEdG43H74JHlKpUvMWuH4paOw=";
};
build-system = [ poetry-core ];
@@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "teslemetry-stream";
version = "0.6.12";
version = "0.7.7";
pyproject = true;
src = fetchFromGitHub {
owner = "Teslemetry";
repo = "python-teslemetry-stream";
tag = "v${version}";
hash = "sha256-0Ca8p5xuzpSfZhtTYZUgbdNHXmnn9RLOGMTSYKfnUZg=";
hash = "sha256-0gFX6tNBqqA7vh4d5zi38F2C1NqKjblc/8lz3DEBEJ8=";
};
build-system = [ setuptools ];
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "thermobeacon-ble";
version = "0.8.1";
version = "0.10.0";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "bluetooth-devices";
repo = "thermobeacon-ble";
tag = "v${version}";
hash = "sha256-UnTJ1uvEnZ5//2arwMsJUSosCK8w26lpAcC1XGO9srw=";
hash = "sha256-+WQWb1D1Rw5KE4fvu55WYF2YsQY48MWtPA26G5MB6aY=";
};
build-system = [ poetry-core ];
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "thermopro-ble";
version = "0.11.0";
version = "0.13.0";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "bluetooth-devices";
repo = "thermopro-ble";
tag = "v${version}";
hash = "sha256-3GgFRY36KMcMWxwjLgzuJB++DZ2TMdQQruen1gLHAbk=";
hash = "sha256-gikNjQYE/GROUR0atBUcwrRdjH+HVL37EOKZYdvRUzo=";
};
build-system = [ poetry-core ];
@@ -40,7 +40,7 @@
buildPythonPackage rec {
pname = "uiprotect";
version = "7.5.5";
version = "7.6.0";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -49,7 +49,7 @@ buildPythonPackage rec {
owner = "uilibs";
repo = "uiprotect";
tag = "v${version}";
hash = "sha256-+acG6vNBOLSIoM8wFQjWOh3PhwUI+/wcjMf7InDt8IA=";
hash = "sha256-jFRBupuP0T/6e07qdJmzcz7P/IAYbY1+QxF6ErsFox0=";
};
build-system = [ poetry-core ];
@@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "vacuum-map-parser-base";
version = "0.1.3";
version = "0.1.5";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "PiotrMachowski";
repo = "Python-package-${pname}";
tag = "v${version}";
hash = "sha256-wX7RsJKSNZmi6uIDqsKxWe8VaYJPg4I3pwHHckMUOw4=";
hash = "sha256-jB3/m2qlaDnc9fVTlM0wR2ROZmJQ1h6a+awauOa312g=";
};
postPatch = ''
@@ -39,7 +39,7 @@ buildPythonPackage rec {
meta = with lib; {
homepage = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-base";
description = "Common code for vacuum map parsers";
changelog = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-base/releases/tag/v${version}";
changelog = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-base/releases/tag/${src.tag}";
maintainers = with maintainers; [ jamiemagee ];
license = licenses.asl20;
};
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "vacuum-map-parser-roborock";
version = "0.1.2";
version = "0.1.4";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "PiotrMachowski";
repo = "Python-package-${pname}";
tag = "v${version}";
hash = "sha256-y7Q8C7ZvOn/KSUMJ7A/oH+HZMVBpuPitsXqsqHvvYHE=";
hash = "sha256-MqsLvAs4PU/K2yBxEhVJucstZg9QFPYgOTCbgT2Uq/A=";
};
postPatch = ''
@@ -43,7 +43,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Functionalities for Roborock vacuum map parsing";
homepage = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-roborock";
changelog = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-roborock/releases/tag/v${version}";
changelog = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-roborock/releases/tag/${src.tag}";
maintainers = with maintainers; [ jamiemagee ];
license = licenses.asl20;
};
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "velbus-aio";
version = "2025.3.1";
version = "2025.4.2";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "Cereal2nd";
repo = "velbus-aio";
tag = version;
hash = "sha256-4lfxY8+EUtTAyRB40p+nShzmC3Qbxu6MJn9Zo7bImyk=";
hash = "sha256-3H5lFIMLHyucX0h7JagGPsqGyO1RMVPJ1L91iDbdEww=";
fetchSubmodules = true;
};
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "voip-utils";
version = "0.3.1";
version = "0.3.2";
pyproject = true;
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "voip-utils";
tag = "v${version}";
hash = "sha256-43g7ArhIZVyZ+VnzenldrQfr6kjpAxPNrK/vazYED+w=";
hash = "sha256-CI6YCT88ay4tDWHwaTL0Wr4b07mCn7440HdWE9+nxAw=";
};
postPatch = ''
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "weheat";
version = "2025.3.7";
version = "2025.4.29";
pyproject = true;
src = fetchFromGitHub {
owner = "wefabricate";
repo = "wh-python";
tag = version;
hash = "sha256-PGGlgzcx/pUyTcsFj73x5LqfcPRCh2VMXNsIJjcpEZE=";
hash = "sha256-z+tRxx+wtEj5cBXBVG1B5SNyvkQk2UwjH7lPgNQQ+ng=";
};
pythonRelaxDeps = [
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "yoto-api";
version = "1.24.5";
version = "1.26.1";
pyproject = true;
src = fetchFromGitHub {
owner = "cdnninja";
repo = "yoto_api";
tag = "v${version}";
hash = "sha256-zgyZpya67cmJb2tz7Ht8G4y78UejVF00kssasZ8F+58=";
hash = "sha256-Erq6whZX8pfQSoszyCMrnRj24nZN3QD52SRs+G24O7k=";
};
build-system = [ setuptools ];
@@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "zeroconf";
version = "0.146.1";
version = "0.147.0";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "jstasiak";
repo = "python-zeroconf";
tag = version;
hash = "sha256-p+8TunZvxVtK+kwGu396td7io5/4d3taJk5NTgSPb3Q=";
hash = "sha256-WAixAOjGbO3J4Tsp81p5+uUGld2y5wU7M4mmQ4t8sBw=";
};
build-system = [
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "zha-quirks";
version = "0.0.136";
version = "0.0.137";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zha-device-handlers";
tag = version;
hash = "sha256-WoLs8/IqKt0rxALmObim+NnaTRq/VAecrkrbirktm+A=";
hash = "sha256-LieMWqUp4bOWMmFyQ04O2SyxxsBzKxWqatQUnh6Wx9M=";
};
postPatch = ''
@@ -27,7 +27,7 @@
buildPythonPackage rec {
pname = "zha";
version = "0.0.56";
version = "0.0.57";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zha";
tag = version;
hash = "sha256-k6Zegn7YUw5Wueb/8Z1RJ7teRMQ6Owdm8obM6XHI/aY=";
hash = "sha256-eaOVQQ5GbWjJuK+30r3bcBMAFdVY9K9bwn+rd/qQ+Ow=";
};
postPatch = ''
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "zigpy-deconz";
version = "0.24.1";
version = "0.24.2";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = pname;
tag = version;
hash = "sha256-CSXJcERqrPnCdlwyNSqSkxoiVhjNuL2GL4J6h2DMZY4=";
hash = "sha256-el29EqCK9p3AII9LsMw+ikplHfDKNUIhaU3HJI0gfu8=";
};
postPatch = ''
@@ -49,7 +49,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Library which communicates with Deconz radios for zigpy";
homepage = "https://github.com/zigpy/zigpy-deconz";
changelog = "https://github.com/zigpy/zigpy-deconz/releases/tag/${version}";
changelog = "https://github.com/zigpy/zigpy-deconz/releases/tag/${src.tag}";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ mvnetbiz ];
platforms = platforms.linux;
@@ -25,14 +25,14 @@
buildPythonPackage rec {
pname = "zigpy";
version = "0.78.1";
version = "0.79.0";
pyproject = true;
src = fetchFromGitHub {
owner = "zigpy";
repo = "zigpy";
tag = version;
hash = "sha256-b+4KqcswAKUNJb4e450VwmAR0mca9ApW4n+kif7BR7o=";
hash = "sha256-4bvVn9Pv37zngsiwy54g+z05uej5Bfwpt3mC9cxF2hk=";
};
postPatch = ''
@@ -2,7 +2,7 @@
# Do not edit!
{
version = "2025.4.4";
version = "2025.5.0";
components = {
"3_day_blinds" =
ps: with ps; [
@@ -15,6 +15,7 @@
ps: with ps; [
aioacaia
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -116,6 +117,7 @@
"airthings_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -331,6 +333,7 @@
"aranet" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -470,6 +473,10 @@
aiobotocore
botocore
];
"aws_s3" =
ps: with ps; [
aiobotocore
];
"axis" =
ps: with ps; [
aiohasupervisor
@@ -513,6 +520,9 @@
"baidu" =
ps: with ps; [
]; # missing inputs: baidu-aip
"balay" =
ps: with ps; [
];
"balboa" =
ps: with ps; [
pybalboa
@@ -572,6 +582,7 @@
"bluemaestro" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -619,6 +630,7 @@
"bluetooth_adapters" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -644,6 +656,7 @@
"bluetooth_le_tracker" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -748,6 +761,7 @@
"bthome" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -944,6 +958,9 @@
"configurator" =
ps: with ps; [
];
"constructa" =
ps: with ps; [
];
"control4" =
ps: with ps; [
pycontrol4
@@ -1223,6 +1240,7 @@
"dormakaba_dkey" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -1304,7 +1322,6 @@
dynalite-devices
dynalite-panel
home-assistant-frontend
pillow
];
"eafm" =
ps: with ps; [
@@ -1490,7 +1507,7 @@
];
"ephember" =
ps: with ps; [
pyephember
pyephember2
];
"epic_games_store" =
ps: with ps; [
@@ -1507,6 +1524,7 @@
"eq3btsmart" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -1540,6 +1558,7 @@
"esphome" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aiousbwatcher
bleak
bleak-esphome
@@ -1570,6 +1589,7 @@
"eufylife_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -1706,6 +1726,7 @@
"fjaraskupan" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -1851,7 +1872,6 @@
"frontend" =
ps: with ps; [
home-assistant-frontend
pillow
];
"frontier_silicon" =
ps: with ps; [
@@ -1878,6 +1898,9 @@
ps: with ps; [
fyta-cli
];
"gaggenau" =
ps: with ps; [
];
"garadget" =
ps: with ps; [
];
@@ -1888,6 +1911,7 @@
"gardena_bluetooth" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -2031,6 +2055,9 @@
python-google-drive-api
securetar
];
"google_gemini" =
ps: with ps; [
];
"google_generative_ai_conversation" =
ps: with ps; [
google-genai
@@ -2071,7 +2098,7 @@
];
"google_travel_time" =
ps: with ps; [
googlemaps
google-maps-routing
];
"google_wifi" =
ps: with ps; [
@@ -2079,6 +2106,7 @@
"govee_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -2316,6 +2344,7 @@
"homekit_controller" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aiohomekit
aioruuvigateway
aioshelly
@@ -2406,6 +2435,7 @@
"husqvarna_automower_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -2461,6 +2491,7 @@
"ibeacon" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -2491,6 +2522,7 @@
"idasen_desk" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -2552,6 +2584,10 @@
ps: with ps; [
aioimaplib
];
"imeon_inverter" =
ps: with ps; [
imeon-inverter-api
];
"imgw_pib" =
ps: with ps; [
imgw-pib
@@ -2559,6 +2595,7 @@
"improv_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -2597,6 +2634,7 @@
"inkbird" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -2646,7 +2684,6 @@
aiousbwatcher
home-assistant-frontend
insteon-frontend-home-assistant
pillow
pyinsteon
pyserial
];
@@ -2705,6 +2742,7 @@
"iron_os" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -2827,6 +2865,7 @@
"kegtron" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -2864,6 +2903,7 @@
"keymitt_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -2913,7 +2953,6 @@
ps: with ps; [
home-assistant-frontend
knx-frontend
pillow
xknx
xknxproject
];
@@ -2939,7 +2978,30 @@
];
"kulersky" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
bleak
bleak-esphome
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
dbus-fast
esphome-dashboard-api
ha-ffmpeg
habluetooth
hassil
home-assistant-intents
ifaddr
mutagen
pykulersky
pymicro-vad
pyserial
pyspeex-noise
zeroconf
];
"kwb" =
ps: with ps; [
@@ -2955,6 +3017,7 @@
"lamarzocco" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -3010,12 +3073,12 @@
ps: with ps; [
home-assistant-frontend
lcn-frontend
pillow
pypck
];
"ld2410_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -3042,6 +3105,7 @@
"leaone" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -3068,6 +3132,7 @@
"led_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -3214,7 +3279,6 @@
ps: with ps; [
fnv-hash-fast
home-assistant-frontend
pillow
psutil-home-assistant
sqlalchemy
];
@@ -3252,7 +3316,6 @@
];
"lovelace" =
ps: with ps; [
pillow
];
"luci" =
ps: with ps; [
@@ -3330,6 +3393,9 @@
ps: with ps; [
maxcube-api
];
"maytag" =
ps: with ps; [
];
"mazda" =
ps: with ps; [
];
@@ -3356,6 +3422,7 @@
"medcom_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -3397,7 +3464,7 @@
];
"melcloud" =
ps: with ps; [
pymelcloud
python-melcloud
];
"melissa" =
ps: with ps; [
@@ -3405,6 +3472,7 @@
"melnor" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -3484,6 +3552,10 @@
ps: with ps; [
pyturbojpeg
];
"miele" =
ps: with ps; [
pymiele
];
"mijndomein_energie" =
ps: with ps; [
];
@@ -3493,8 +3565,11 @@
];
"mill" =
ps: with ps; [
fnv-hash-fast
mill-local
millheater
psutil-home-assistant
sqlalchemy
];
"min_max" =
ps: with ps; [
@@ -3516,6 +3591,7 @@
"moat" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -3598,6 +3674,7 @@
"mopeka" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -3629,6 +3706,7 @@
"motionblinds_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -3708,7 +3786,6 @@
"my" =
ps: with ps; [
home-assistant-frontend
pillow
];
"myq" =
ps: with ps; [
@@ -3750,6 +3827,9 @@
"nasweb" =
ps: with ps; [
]; # missing inputs: webio-api
"national_grid_us" =
ps: with ps; [
];
"neato" =
ps: with ps; [
pybotvac
@@ -3758,6 +3838,9 @@
ps: with ps; [
nsapi
];
"neff" =
ps: with ps; [
];
"ness_alarm" =
ps: with ps; [
nessclient
@@ -3903,6 +3986,10 @@
ps: with ps; [
aio-geojson-nsw-rfs-incidents
];
"ntfy" =
ps: with ps; [
aiontfy
];
"nuheat" =
ps: with ps; [
nuheat
@@ -3989,11 +4076,9 @@
];
"onboarding" =
ps: with ps; [
pillow
];
"oncue" =
ps: with ps; [
aiooncue
];
"ondilo_ico" =
ps: with ps; [
@@ -4094,6 +4179,7 @@
"oralb" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -4140,7 +4226,6 @@
aiousbwatcher
ha-silabs-firmware-client
ifaddr
pillow
psutil-home-assistant
pyroute2
pyserial
@@ -4221,7 +4306,6 @@
"panel_custom" =
ps: with ps; [
home-assistant-frontend
pillow
];
"pcs_lighting" =
ps: with ps; [
@@ -4299,6 +4383,9 @@
"piper" =
ps: with ps; [
];
"pitsos" =
ps: with ps; [
];
"pjlink" =
ps: with ps; [
]; # missing inputs: pypjlink2
@@ -4363,6 +4450,7 @@
"private_ble_device" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -4391,6 +4479,9 @@
objgraph
pyprof2calltree
];
"profilo" =
ps: with ps; [
];
"progettihwsw" =
ps: with ps; [
]; # missing inputs: ProgettiHWSW
@@ -4491,6 +4582,7 @@
"qingping" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -4610,6 +4702,7 @@
"rapt_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -4668,7 +4761,6 @@
home-assistant-frontend
home-assistant-intents
mutagen
pillow
pymicro-vad
pyspeex-noise
python-matter-server
@@ -4686,6 +4778,10 @@
ps: with ps; [
refoss-ha
];
"rehlko" =
ps: with ps; [
aiokem
];
"rejseplanen" =
ps: with ps; [
rjpl
@@ -4847,6 +4943,7 @@
"ruuvitag_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -4967,6 +5064,7 @@
"sensirion_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -5002,6 +5100,7 @@
"sensorpro" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -5028,6 +5127,7 @@
"sensorpush" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -5123,6 +5223,9 @@
ps: with ps; [
pysiaalarm
];
"siemens" =
ps: with ps; [
];
"sigfox" =
ps: with ps; [
];
@@ -5276,6 +5379,7 @@
"snooz" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -5432,7 +5536,6 @@
];
"stiebel_eltron" =
ps: with ps; [
pymodbus
]; # missing inputs: pystiebeleltron
"stookwijzer" =
ps: with ps; [
@@ -5502,6 +5605,7 @@
"switchbot" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -5690,9 +5794,13 @@
"text" =
ps: with ps; [
];
"thermador" =
ps: with ps; [
];
"thermobeacon" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -5722,6 +5830,7 @@
"thermopro" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -5785,6 +5894,7 @@
"tilt_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -6385,6 +6495,7 @@
"xiaomi_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -6453,6 +6564,7 @@
"yalexs_ble" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
@@ -6556,7 +6668,6 @@
aiohasupervisor
aiousbwatcher
ha-silabs-firmware-client
pillow
pyserial
universal-silabs-flasher
zha
@@ -6664,6 +6775,7 @@
"automation"
"awair"
"aws"
"aws_s3"
"axis"
"azure_data_explorer"
"azure_devops"
@@ -6953,6 +7065,7 @@
"image_processing"
"image_upload"
"imap"
"imeon_inverter"
"imgw_pib"
"improv_ble"
"incomfort"
@@ -7074,6 +7187,7 @@
"microsoft_face"
"microsoft_face_detect"
"microsoft_face_identify"
"miele"
"mikrotik"
"mill"
"min_max"
@@ -7137,6 +7251,7 @@
"notify_events"
"notion"
"nsw_rural_fire_service_feed"
"ntfy"
"nuheat"
"nuki"
"number"
@@ -7242,6 +7357,7 @@
"recovery_mode"
"reddit"
"refoss"
"rehlko"
"remote"
"remote_calendar"
"renault"
@@ -18,13 +18,13 @@
buildHomeAssistantComponent rec {
owner = "blakeblackshear";
domain = "frigate";
version = "5.8.0";
version = "5.9.2";
src = fetchFromGitHub {
owner = "blakeblackshear";
repo = "frigate-hass-integration";
tag = "v${version}";
hash = "sha256-sQgi3F44eT/iL3cE9YuKyjJmE4nZM+OcwirUyl3maGo=";
hash = "sha256-XVHw9AjngzbMnzRPJ/VL1Hy0gG3q+rV4Gfh8K7pIW6M=";
};
dependencies = [ hass-web-proxy-lib ];
@@ -41,12 +41,9 @@ buildHomeAssistantComponent rec {
++ (homeassistant.getPackages "mqtt" homeassistant.python.pkgs)
++ (homeassistant.getPackages "stream" homeassistant.python.pkgs);
disabledTests = [
# uses deprecated and removed constants
# https://github.com/blakeblackshear/frigate-hass-integration/issues/860
"test_duplicate"
"test_options_advanced"
"test_options"
disabledTestPaths = [
# https://github.com/blakeblackshear/frigate-hass-integration/issues/907
"tests/test_media_source.py"
];
meta = with lib; {
@@ -7,13 +7,13 @@
buildHomeAssistantComponent rec {
owner = "bm1549";
domain = "frigidaire";
version = "0.1.1";
version = "0.1.2";
src = fetchFromGitHub {
inherit owner;
repo = "home-assistant-frigidaire";
tag = version;
hash = "sha256-Jynm0e5y/mSgyd5Pyus+nIVV3XSjsm5z+oNuGIhCu9s=";
hash = "sha256-7SyOsB16P0O0RHEUXy79cqil+QFO2PilyWWlpv428g0=";
};
dependencies = [ frigidaire ];
@@ -7,13 +7,13 @@
buildHomeAssistantComponent rec {
owner = "xZetsubou";
domain = "localtuya";
version = "2025.3.2";
version = "2025.5.1";
src = fetchFromGitHub {
owner = "xZetsubou";
repo = "hass-localtuya";
rev = version;
hash = "sha256-6JE2hVD650YE7pSrLt+Ie1QpvHcG0bJ2yrTpwTukBG0=";
hash = "sha256-cYaMHh16dmjO8UrpBZScGoHDNqvmQ5ceAq/lP6qazxA=";
};
meta = with lib; {
@@ -8,13 +8,13 @@
buildHomeAssistantComponent rec {
owner = "wuwentao";
domain = "midea_ac_lan";
version = "0.6.6";
version = "0.6.7";
src = fetchFromGitHub {
inherit owner;
repo = domain;
tag = "v${version}";
hash = "sha256-GksX+RmQ7lcyuUL3vu9b1q3c56W9yB2Hg20DUNTeOxY=";
hash = "sha256-L1dlj7gOH/VpwayoyQGbwu/4IIDW1tTxmnTQNTwfxUw=";
};
dependencies = [ midea-local ];
@@ -1,33 +0,0 @@
{
lib,
fetchFromGitHub,
buildHomeAssistantComponent,
flatdict,
pymiele,
}:
buildHomeAssistantComponent rec {
owner = "astrandb";
domain = "miele";
version = "2025.1.1";
src = fetchFromGitHub {
inherit owner;
repo = domain;
tag = "v${version}";
hash = "sha256-TShy2q3gKqTgRU3u4Wp7zQjzhEogqUVip8EkH8XIYw8=";
};
dependencies = [
flatdict
pymiele
];
meta = with lib; {
changelog = "https://github.com/astrandb/miele/releases/tag/v${version}";
description = "Modern integration for Miele devices in Home Assistant";
homepage = "https://github.com/astrandb/miele";
maintainers = with maintainers; [ jamiemagee ];
license = licenses.mit;
};
}
@@ -6,13 +6,13 @@
buildHomeAssistantComponent rec {
owner = "iMicknl";
domain = "nest_protect";
version = "0.4.0";
version = "0.4.2b0";
src = fetchFromGitHub {
inherit owner;
repo = "ha-nest-protect";
tag = "v${version}";
hash = "sha256-UAVyfI+cHYx0va2P14moyy6BbhNegsdLWtiex5QeFrs=";
hash = "sha256-CQVAvx7iRCRHw8YXDmsWaF6fhddx3OfSLjq218+ob6I=";
};
# AttributeError: 'async_generator' object has no attribute 'data'
@@ -8,13 +8,13 @@
buildHomeAssistantComponent rec {
owner = "wills106";
domain = "solax_modbus";
version = "2025.04.1";
version = "2025.04.4";
src = fetchFromGitHub {
owner = "wills106";
repo = "homeassistant-solax-modbus";
tag = version;
hash = "sha256-kX8poctK1Q7QZnpvkOisQ47jNzXJJ2nlB1fa+Pv4AFs=";
hash = "sha256-fgvhF+1fz3pNOZJQjf/iF2Lh9j6mMkUXjgLyCja84K0=";
};
dependencies = [ pymodbus ];
@@ -7,13 +7,13 @@
buildHomeAssistantComponent rec {
owner = "thomasddn";
domain = "volvo_cars";
version = "1.5.1";
version = "1.5.3";
src = fetchFromGitHub {
owner = "thomasddn";
repo = "ha-volvo-cars";
tag = "v${version}";
hash = "sha256-UG/anp9ThEOQsRWraTayuyx6kS9r2vTH/8Bak4ZzYzo";
hash = "sha256-f7+RBAOkNUVJ4P/B/cMK7eGFrTnn8TGsC26vfSHc8Z4=";
};
meta = with lib; {
@@ -11,13 +11,13 @@
buildHomeAssistantComponent rec {
owner = "al-one";
domain = "xiaomi_miot";
version = "1.0.17";
version = "1.0.18";
src = fetchFromGitHub {
owner = "al-one";
repo = "hass-xiaomi-miot";
rev = "v${version}";
hash = "sha256-jiskzH2MsddF1rdCnrdJyALQQxFrFUBpOjdR/zbTxh0=";
hash = "sha256-eKh3oa/dPmOIywdTkRhItzP4LQNLguNDfkQWMJjQkpo=";
};
dependencies = [
@@ -8,13 +8,13 @@
buildHomeAssistantComponent rec {
owner = "cdnninja";
domain = "yoto";
version = "1.24.0";
version = "1.24.4";
src = fetchFromGitHub {
owner = "cdnninja";
repo = "yoto_ha";
tag = "v${version}";
hash = "sha256-vlUPVKG6PAkQbROd/Pn5gf48/QWl2GAs3xGCnwX0ENU=";
hash = "sha256-iiS5bns7la17Wf/mRkraE9xL9i+OzI4ru4BaHiLtA6U=";
};
dependencies = [
@@ -6,16 +6,16 @@
buildNpmPackage rec {
pname = "mini-graph-card";
version = "0.13.0-dev.2";
version = "0.13.0-dev.3";
src = fetchFromGitHub {
owner = "kalkih";
repo = "mini-graph-card";
tag = "v${version}";
hash = "sha256-JpteGI9oR2twCTvEQ8xtb55EGQw//9EVuELh4BG0BE0=";
hash = "sha256-er+oaUffKh4hXenDD6VHJ01K8kupzhY4Js8M1zSLMvQ=";
};
npmDepsHash = "sha256-Mg58i0L1e1YwBd81WwVgB56P7EYaq3FnMysIrgu0+qQ=";
npmDepsHash = "sha256-0INteDirb9jkmA0fNAuii0woqnZjTm0gl1brOeIJrn0=";
installPhase = ''
runHook preInstall
@@ -6,16 +6,16 @@
buildNpmPackage rec {
pname = "sankey-chart";
version = "3.7.0";
version = "3.8.1";
src = fetchFromGitHub {
owner = "MindFreeze";
repo = "ha-sankey-chart";
rev = "v${version}";
hash = "sha256-krWK2P7tjK5loFYXZ5+b8UN4TEKPObW2QK+3l7+zvj0=";
hash = "sha256-qDFCrnx0G+RsDq1V8wvo04AelR82SlXOYqWJntnSBJY=";
};
npmDepsHash = "sha256-OBgmmPcwpMxXrytP2tHzCFe1imz1S6LHBWJkruw3jgI=";
npmDepsHash = "sha256-A4aw4OKBQRsc6O60ewp88QxABANjnNlejSUfcFGyyRA=";
installPhase = ''
runHook preInstall
+11 -14
View File
@@ -3,6 +3,7 @@
lib,
callPackage,
fetchFromGitHub,
fetchpatch,
fetchPypi,
python313,
replaceVars,
@@ -172,16 +173,6 @@ let
};
});
pymelcloud = super.pymelcloud.overridePythonAttrs (oldAttrs: {
version = "2.5.9";
src = fetchFromGitHub {
owner = "vilppuvuorinen";
repo = "pymelcloud";
rev = "33a827b6cd0b34f276790faa49bfd0994bb7c2e4"; # 2.5.x branch
sha256 = "sha256-Q3FIo9YJwtWPHfukEBjBANUQ1N1vr/DMnl1dgiN7vYg=";
};
});
notifications-android-tv = super.notifications-android-tv.overridePythonAttrs (oldAttrs: rec {
version = "0.1.5";
format = "setuptools";
@@ -377,7 +368,7 @@ let
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run update-component-packages.py after updating
hassVersion = "2025.4.4";
hassVersion = "2025.5.0";
in
python.pkgs.buildPythonApplication rec {
@@ -388,7 +379,7 @@ python.pkgs.buildPythonApplication rec {
pyproject = true;
# check REQUIRED_PYTHON_VER in homeassistant/const.py
disabled = python.pythonOlder "3.11";
disabled = python.pythonOlder "3.13";
# don't try and fail to strip 6600+ python files, it takes minutes!
dontStrip = true;
@@ -398,13 +389,13 @@ python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
tag = version;
hash = "sha256-MiBsVsgV/M8ge7XQ4e4VpdAKTVZBCDu3Jqql2YHx9rY=";
hash = "sha256-aypBPEI9AOAW9BUkcjJtXa9ssLo4jwEeX47m8320/Gg=";
};
# Secondary source is pypi sdist for translations
sdist = fetchPypi {
inherit pname version;
hash = "sha256-qOhOs6I2Jx/7GWVeCBJ6d77w3RCFjsvFxDUbR60Ucf0=";
hash = "sha256-7bRBKCchBjAKmW4fjSzShr1RdNRQ677Dd1FXW6sqOQQ=";
};
build-system = with python.pkgs; [
@@ -420,6 +411,12 @@ python.pkgs.buildPythonApplication rec {
# leave this in, so users don't have to constantly update their downstream patch handling
patches = [
(fetchpatch {
name = "fix-point-import-error.patch";
url = "https://github.com/home-assistant/core/commit/3c4c3dc08e306b75dce486f5f5236a731fd04cf4.patch";
hash = "sha256-ke04kJWuBHMANVZo75QL5QwU51DZtO4FBBNu4Szu9q8=";
})
# Follow symlinks in /var/lib/hass/www
./patches/static-follow-symlinks.patch
+2 -2
View File
@@ -8,7 +8,7 @@ buildPythonPackage rec {
# the frontend version corresponding to a specific home-assistant version can be found here
# https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
pname = "home-assistant-frontend";
version = "20250411.0";
version = "20250507.0";
format = "wheel";
src = fetchPypi {
@@ -16,7 +16,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
hash = "sha256-oVvYSEvkJ2bvmoC4DHEUi4EE9iOBn3dJyUnyObWSx1k=";
hash = "sha256-9haMRgP7LxngEciafhTaOX/iSbiNZuqzBakJ3YNAWMo=";
};
# there is nothing to strip in this package
+2 -2
View File
@@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "home-assistant-intents";
version = "2025.3.28";
version = "2025.5.7";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
repo = "intents-package";
rev = "refs/tags/${version}";
fetchSubmodules = true;
hash = "sha256-p1AQYwlMas6GLzg4ZsypDaUsQs74drKqfXA8uJ2K+xw=";
hash = "sha256-803TTK8wT00uZjXl6EfNMNveRBeKPQIgRXIawg68tEU=";
};
build-system = [
@@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "pytest-homeassistant-custom-component";
version = "0.13.235";
version = "0.13.243";
pyproject = true;
disabled = pythonOlder "3.13";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "MatthewFlamm";
repo = "pytest-homeassistant-custom-component";
rev = "refs/tags/${version}";
hash = "sha256-hr9GZsyXj7ewEevyXs2PCMKFQahcco+gVFQi8kSxf9A=";
hash = "sha256-Y3+W+tS585N7+xikwhEdyn8mX19h/Udz1Uf6Ixw8OVo=";
};
build-system = [ setuptools ];
@@ -55,6 +55,11 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = [
# https://github.com/dermotduffy/hass-web-proxy-lib/issues/65
"test_proxy_view_aiohttp_read_error"
];
pythonImportsCheck = [
"hass_web_proxy_lib"
];
+2 -2
View File
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "homeassistant-stubs";
version = "2025.4.4";
version = "2025.5.0";
pyproject = true;
disabled = python.version != home-assistant.python.version;
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "KapJI";
repo = "homeassistant-stubs";
tag = version;
hash = "sha256-dQS0bMzBe9zwoyODz3DDrpqZO0+zX3UHtgoJaj+5mhA=";
hash = "sha256-90rtXrTCYlply34iDRKkS8Wtx88NRK0eQBLtb4odRHo=";
};
build-system = [
-2
View File
@@ -7643,8 +7643,6 @@ with pkgs;
buildDocs = false;
};
sbomnix = python3.pkgs.callPackage ../tools/security/sbomnix { };
seer = libsForQt5.callPackage ../development/tools/misc/seer { };
semantik = libsForQt5.callPackage ../applications/office/semantik { };
+2
View File
@@ -522,6 +522,7 @@ mapAliases ({
pycontracts = throw "pycontracts has been removed, since upstream is no longer active and it is broken on modern Python versions."; # added 2024-08-09
pydns = py3dns; # added 2024-10-25
pydrive = throw "pydrive is broken and deprecated and has been replaced with pydrive2."; # added 2022-06-01
pyephember = throw "pyephember was removed because Home Assistant switched to pyephember2"; # added 2025-05-07
pyjet = throw "pyjet is deprecated, use fastjet instead"; # added 2023-05-10
pygame_sdl2 = pygame-sdl2; # added 2024-01-07
pygogo = throw "pygogo has been removed, since it is abandoned and had no maintainer"; # added 2024-07-27
@@ -547,6 +548,7 @@ mapAliases ({
pymatgen-lammps = throw "pymatgen-lammps has been removed because it is unmaintained and broken"; # added 2023-06-20
pymazda = throw "pymazda has been removed, because the upstream repo has been affected by a DCMA claim."; # added 2023-10-16
pymc3 = pymc; # added 2022-06-05, module was rename starting with 4.0.0
pymelcloud = python-melcloud; # added 2025-05-08
pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04
PyMVGLive = pymvglive; # added 2023-02-19
pymyq = python-myq; # added 2023-10-20
+11 -3
View File
@@ -343,6 +343,8 @@ self: super: with self; {
aiokef = callPackage ../development/python-modules/aiokef { };
aiokem = callPackage ../development/python-modules/aiokem { };
aiolifx = callPackage ../development/python-modules/aiolifx { };
aiolifx-connection = callPackage ../development/python-modules/aiolifx-connection { };
@@ -5857,8 +5859,12 @@ self: super: with self; {
google-generativeai = callPackage ../development/python-modules/google-generativeai { };
google-geo-type = callPackage ../development/python-modules/google-geo-type { };
google-i18n-address = callPackage ../development/python-modules/google-i18n-address { };
google-maps-routing = callPackage ../development/python-modules/google-maps-routing { };
google-nest-sdm = callPackage ../development/python-modules/google-nest-sdm { };
google-pasta = callPackage ../development/python-modules/google-pasta { };
@@ -6652,6 +6658,8 @@ self: super: with self; {
imbalanced-learn = callPackage ../development/python-modules/imbalanced-learn { };
imeon-inverter-api = callPackage ../development/python-modules/imeon-inverter-api { };
img2pdf = callPackage ../development/python-modules/img2pdf { };
imgcat = callPackage ../development/python-modules/imgcat { };
@@ -12254,7 +12262,7 @@ self: super: with self; {
pyenvisalink = callPackage ../development/python-modules/pyenvisalink { };
pyephember = callPackage ../development/python-modules/pyephember { };
pyephember2 = callPackage ../development/python-modules/pyephember2 { };
pyepsg = callPackage ../development/python-modules/pyepsg { };
@@ -12737,8 +12745,6 @@ self: super: with self; {
pymeeus = callPackage ../development/python-modules/pymeeus { };
pymelcloud = callPackage ../development/python-modules/pymelcloud { };
pymemcache = callPackage ../development/python-modules/pymemcache { };
pymemoize = callPackage ../development/python-modules/pymemoize { };
@@ -14126,6 +14132,8 @@ self: super: with self; {
python-mbedtls = callPackage ../development/python-modules/python-mbedtls { };
python-melcloud = callPackage ../development/python-modules/python-melcloud { };
python-memcached = callPackage ../development/python-modules/python-memcached {
inherit (pkgs) memcached;
};