home-assistant: 2025.12.5 -> 2026.1.0 (#477824)

This commit is contained in:
dotlambda
2026-01-08 11:42:07 +00:00
committed by GitHub
61 changed files with 538 additions and 349 deletions
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "aiocomelit";
version = "1.1.2";
version = "2.0.0";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "chemelli74";
repo = "aiocomelit";
tag = "v${version}";
hash = "sha256-MPX9WXK2Z+QLGfQSJUlPrUhpjI2oNh7T6u6IfaVglO0=";
hash = "sha256-gk/WYeSl+962Nd0V3VQOy1aYDaSH82qjW1VU2siqU98=";
};
build-system = [ poetry-core ];
@@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "aiohomematic";
version = "2026.1.13";
version = "2026.1.17";
pyproject = true;
src = fetchFromGitHub {
owner = "SukramJ";
repo = "aiohomematic";
tag = version;
hash = "sha256-47Ts6KmT5oNo67sn1xr7k4saKwHyOSQPnJ5MDT4R1fg=";
hash = "sha256-pkjSo2yc4mWbvpYJDc6vK4ugZSSv1mTED8IHWJvL/so=";
};
build-system = [ setuptools ];
@@ -5,7 +5,6 @@
fetchFromGitHub,
pytestCheckHook,
pytest-aiohttp,
pythonOlder,
setuptools,
}:
@@ -14,8 +13,6 @@ buildPythonPackage rec {
version = "2.9.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "inyutin";
repo = "aiohttp_retry";
@@ -23,6 +20,11 @@ buildPythonPackage rec {
hash = "sha256-8S4gjeN8ktdDNd8GUsejaZdCaG/VXYPo0RJpwrrttGQ=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail 'version="2.9.0"' 'version="${version}"'
'';
build-system = [ setuptools ];
dependencies = [ aiohttp ];
@@ -4,6 +4,7 @@
fetchFromGitHub,
setuptools,
pytestCheckHook,
pythonAtLeast,
wrapt,
}:
@@ -12,6 +13,9 @@ buildPythonPackage rec {
version = "1.5.0";
pyproject = true;
# https://github.com/kwarunek/aiounittest/issues/28
disabled = pythonAtLeast "3.14";
src = fetchFromGitHub {
owner = "kwarunek";
repo = "aiounittest";
@@ -1,36 +1,33 @@
{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
glibcLocales,
importlib-metadata,
logfury,
annotated-types,
packaging,
pdm-backend,
pyfakefs,
pytest-lazy-fixtures,
pytest-mock,
pytest-timeout,
pytestCheckHook,
pythonAtLeast,
pythonOlder,
requests,
responses,
tqdm,
typing-extensions,
}:
buildPythonPackage rec {
pname = "b2sdk";
version = "2.9.4";
version = "2.10.2";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "Backblaze";
repo = "b2-sdk-python";
tag = "v${version}";
hash = "sha256-VXdvRJvmozrDsUu1J5Jz9I2733Cwe8OBbafc1fCEuGw=";
hash = "sha256-RWHD1ARPSKHmGKY0xdCBn3Qj4GxAfn4o8eacMQ5RT1k=";
};
build-system = [ pdm-backend ];
@@ -41,33 +38,25 @@ buildPythonPackage rec {
logfury
requests
]
++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ]
++ lib.optionals (pythonOlder "3.12") [ typing-extensions ];
nativeCheckInputs = [
pytest-lazy-fixtures
pytest-mock
pytest-timeout
pytestCheckHook
responses
tqdm
]
++ lib.optionals stdenv.hostPlatform.isLinux [ glibcLocales ];
disabledTestPaths = [
# requires aws s3 auth
"test/integration/test_download.py"
"test/integration/test_upload.py"
# Requires backblaze auth
"test/integration/test_bucket.py"
];
disabledTests = [
# Test requires an API key
"test_raw_api"
"test_files_headers"
"test_large_file"
"test_file_info_b2_attributes"
"test_sync_folder"
enabledTestPaths = [
"test/unit"
];
disabledTests = lib.optionals (pythonAtLeast "3.14") [
# - 'could not be accessed (no permissions to read?)',
# + 'could not be accessed (broken symlink?)',
"test_dir_without_exec_permission"
];
pythonImportsCheck = [ "b2sdk" ];
@@ -7,6 +7,7 @@
buildPythonPackage,
cython,
fetchFromGitHub,
fetchpatch,
habluetooth,
lru-dict,
poetry-core,
@@ -29,6 +30,14 @@ buildPythonPackage rec {
hash = "sha256-BFF4SqJxrQ+aaFtrNqS9fNqTV2Q+pOu5FFdYKeHkKj8=";
};
patches = [
(fetchpatch {
name = "bleak-2.0.0-compat.patch";
url = "https://github.com/Bluetooth-Devices/bleak-esphome/commit/a186eca427d1c0924ce29cbb46cde876e0c6e246.patch";
hash = "sha256-QPyN/k/xG03rZqYbexzN1GJaAqOe5FqfrDJ2fjiIkJs=";
})
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools>=75.8.2" setuptools
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "bleak-retry-connector";
version = "4.4.4";
version = "4.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "bleak-retry-connector";
tag = "v${version}";
hash = "sha256-T7mJUj/AF+ZuTiGGFHUT7Ftnz+A0O5nGjj4a75obsuc=";
hash = "sha256-aGk5wNrQ8ti2qu1FxmOqPtDpivm5DRaKvwzDNz9rFmQ=";
};
build-system = [ poetry-core ];
@@ -4,10 +4,12 @@
async-timeout,
bluez,
buildPythonPackage,
bumble,
dbus-fast,
fetchFromGitHub,
poetry-core,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
pythonOlder,
typing-extensions,
@@ -18,16 +20,14 @@
buildPythonPackage rec {
pname = "bleak";
version = "1.1.1";
version = "2.0.0";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "hbldh";
repo = "bleak";
tag = "v${version}";
hash = "sha256-z0Mxr1pUQWNEK01PKMV/CzpW+GeCRcv/+9BADts1FuU=";
hash = "sha256-UrKJoEyLa75HMCOgxmOqJi1z+32buMra+dwVe5qbBds=";
};
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
@@ -56,7 +56,9 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
bumble
pytest-asyncio
pytest-cov-stub
pytestCheckHook
];
@@ -0,0 +1,93 @@
{
aiohttp,
appdirs,
buildPythonPackage,
click,
cryptography,
fetchFromGitHub,
grpcio,
humanize,
lib,
libusb-package,
libusb1,
platformdirs,
prettytable,
prompt-toolkit,
protobuf,
pyee,
pyserial,
pyserial-asyncio,
pytest-asyncio,
pytestCheckHook,
pyusb,
setuptools,
setuptools-scm,
tomli,
websockets,
}:
buildPythonPackage rec {
pname = "bumble";
version = "0.0.221";
pyproject = true;
src = fetchFromGitHub {
owner = "google";
repo = "bumble";
tag = "v${version}";
hash = "sha256-GCcvbYLHChvrsQuhFjeYnncjrzFqOlmL+LlG7t2iAkE=";
};
build-system = [
setuptools
setuptools-scm
];
pythonRelaxDeps = [
"libusb-package"
];
dependencies = [
aiohttp
appdirs
click
cryptography
grpcio
humanize
libusb-package
libusb1
platformdirs
prettytable
prompt-toolkit
protobuf
pyee
pyserial
pyserial-asyncio
pyusb
tomli
websockets
];
pythonImportsCheck = [ "bumble" ];
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
];
pytestFlags = [ "--asyncio-mode=auto" ];
disabledTests = [
# tests require networking
"test_android_netsim_connection"
"test_open_transport_with_metadata"
];
meta = {
changelog = "https://github.com/google/bumble/releases/tag/${src.tag}";
description = "Bluetooth Stack for Apps, Emulation, Test and Experimentation";
homepage = "https://github.com/google/bumble";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.dotlambda ];
};
}
@@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "deebot-client";
version = "17.0.0";
version = "17.0.1";
pyproject = true;
disabled = pythonOlder "3.13";
@@ -31,12 +31,12 @@ buildPythonPackage rec {
owner = "DeebotUniverse";
repo = "client.py";
tag = version;
hash = "sha256-QreF2ivdPfu2KiYY4At3zpif8bx7d7AzbpXNgL3zXzE=";
hash = "sha256-evd0wqID9kEBzhJgRSpcd95ALp9LPSb5RM3wEIKuY0Y=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-n3lvezBP7oT9jLqPCFZ7hwdBGuSJYos+hob9HBX2zIY=";
hash = "sha256-cLNFUDT74NrBgUL6vGC6lbFy2A2W1jYF7A8H3BQ/s8A=";
};
pythonRelaxDeps = [
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "energyzero";
version = "2.1.1";
version = "4.0.1";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "klaasnicolaas";
repo = "python-energyzero";
tag = "v${version}";
hash = "sha256-KOeYdTruD8AN/NkLEKKJDUB/JkOoQwfAMZkp/RvvUQE=";
hash = "sha256-Tisng08X/jyNtT27qy1hH6qM6Nqho/X8bg1tFg1oIx8=";
};
postPatch = ''
@@ -4,31 +4,21 @@
attrs,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
setuptools,
}:
buildPythonPackage rec {
pname = "eternalegypt";
version = "0.0.16";
version = "0.0.18";
pyproject = true;
src = fetchFromGitHub {
owner = "amelchio";
repo = "eternalegypt";
tag = "v${version}";
hash = "sha256-ubKepd3yBaoYrIUe5WCt1zd4CjvU7SeftOR+2cBaEf0=";
hash = "sha256-dS4APZWOI8im1Ls1A5750FedTWBy3UpXvJmYpd1po94=";
};
patches = [
# https://github.com/amelchio/eternalegypt/pull/38
(fetchpatch {
name = "move-from-async_timeout.timeout-to-asyncio.timeout.patch";
url = "https://github.com/amelchio/eternalegypt/commit/f496ae2d38b5d4a3f676310b5bb45c7c34b5262f.patch";
hash = "sha256-8AHFEP/2yMeyoSWCxNyG+ARS7T40hkEwJ/rp9S8ouSE=";
})
];
build-system = [ setuptools ];
dependencies = [
@@ -44,8 +34,8 @@ buildPythonPackage rec {
meta = {
description = "Python API for Netgear LTE modems";
homepage = "https://github.com/amelchio/eternalegypt";
changelog = "https://github.com/amelchio/eternalegypt/releases/tag/v${version}";
license = with lib.licenses; [ mit ];
changelog = "https://github.com/amelchio/eternalegypt/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}
@@ -0,0 +1,53 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
hatchling,
aiohttp,
aiohttp-retry,
pydantic,
pytest-aiohttp,
pytestCheckHook,
python-dateutil,
typing-extensions,
urllib3,
}:
buildPythonPackage rec {
pname = "fitbit-web-api";
version = "2.13.5";
pyproject = true;
src = fetchFromGitHub {
owner = "allenporter";
repo = "fitbit-web-api";
tag = "v${version}";
hash = "sha256-HqlySvC6EGnetrh0t8shapS/ggSRVoI8xPXta2eBqlk=";
};
build-system = [ hatchling ];
dependencies = [
aiohttp
aiohttp-retry
pydantic
python-dateutil
typing-extensions
urllib3
];
pythonImportsCheck = [ "fitbit_web_api" ];
nativeCheckInputs = [
pytest-aiohttp
pytestCheckHook
];
meta = {
changelog = "https://github.com/allenporter/fitbit-web-api/blob/${src.tag}/CHANGELOG.md";
description = "Access data from Fitbit activity trackers, Aria scale, and manually entered logs";
homepage = "https://github.com/allenporter/fitbit-web-api";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.dotlambda ];
};
}
@@ -2,34 +2,38 @@
appdirs,
buildPythonPackage,
fetchFromGitHub,
hatchling,
importlib-resources,
lib,
poetry-core,
pyserial,
pyserial-asyncio,
pytestCheckHook,
pyyaml,
}:
buildPythonPackage rec {
pname = "heatmiserv3";
version = "2.0.3";
version = "2.0.6";
pyproject = true;
src = fetchFromGitHub {
owner = "andylockran";
repo = "heatmiserV3";
tag = version;
hash = "sha256-Ia0QUMDvuvn2af52lW7ObSQ9MSPNOgWyBuFBnqfYrpM=";
hash = "sha256-mwzW52g3Uz7zxL9R5zePDyxMSramEiaiVm6VPlNyNts=";
};
build-system = [ poetry-core ];
build-system = [ hatchling ];
pythonRemoveDeps = [
# https://github.com/andylockran/heatmiserV3/pull/113
"pytest"
"pytest-cov"
];
dependencies = [
appdirs
importlib-resources
pyserial
pyserial-asyncio
pyyaml
];
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "librehardwaremonitor-api";
version = "1.5.0";
version = "1.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Sab44";
repo = "librehardwaremonitor-api";
tag = "v${version}";
hash = "sha256-LWh0kZp+8OUfBohQMLFXI/kkHsVuJt99YqwSGeq4EvA=";
hash = "sha256-dyhS7vb+qcumtWZsj3G3x66KhHUVDQxMG8+2GngkK70=";
};
build-system = [ setuptools ];
@@ -4,28 +4,25 @@
bleak,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "py-improv-ble-client";
version = "1.0.4";
version = "2.0.1";
pyproject = true;
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "py-improv-ble-client";
tag = version;
hash = "sha256-leYSDB5/jFqlvX78OYzlFkkVxIkJ7iOUoLHBuVj7tAo=";
hash = "sha256-PkAZhKgj+xQtOOCccBXbR2QkwlkYavJe1pfU9nMhuVs=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools~=65.6" "setuptools" \
--replace-fail "wheel~=0.37.1" "wheel"
--replace-fail "setuptools>=65.6,<81.0" "setuptools" \
--replace-fail "wheel>=0.37.1,<0.46.0" "wheel"
'';
build-system = [ setuptools ];
@@ -43,7 +40,7 @@ buildPythonPackage rec {
meta = {
description = "Module to provision devices which implement Improv via BLE";
homepage = "https://github.com/home-assistant-libs/py-improv-ble-client";
changelog = "https://github.com/home-assistant-libs/py-improv-ble-client/releases/tag/${version}";
changelog = "https://github.com/home-assistant-libs/py-improv-ble-client/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "pyanglianwater";
version = "2.2.0";
version = "3.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pantherale0";
repo = "pyanglianwater";
tag = version;
hash = "sha256-GfFRqQb1RXh6a7giy7eJWp4nAJzDtpQkWFfEfe9jxfY=";
hash = "sha256-NlAntGrc42jMxjaimG4AVvpsmDZfju9tHt3pZ8rldV0=";
};
build-system = [ setuptools ];
@@ -8,26 +8,23 @@
fetchFromGitHub,
pypubsub,
pyserial,
pyserial-asyncio,
pyserial-asyncio-fast,
pytestCheckHook,
pythonAtLeast,
pythonOlder,
setuptools,
voluptuous,
}:
buildPythonPackage rec {
pname = "pyinsteon";
version = "1.6.3";
version = "1.6.4";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "pyinsteon";
repo = "pyinsteon";
tag = version;
hash = "sha256-SyhPM3NS7iJX8jwTJ4YWZ72eYLn9JT6eESekPf5eCKI=";
hash = "sha256-iC0qeiTHtrdzQtJ3R01nJDCfdBKBg0jw1v49ZII24/4=";
};
build-system = [ setuptools ];
@@ -38,7 +35,7 @@ buildPythonPackage rec {
async-timeout
pypubsub
pyserial
pyserial-asyncio
pyserial-asyncio-fast
voluptuous
];
@@ -47,16 +44,6 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = [
# RuntimeError: BUG: Dead Listener called, still subscribed!
"test_linking_with_i1_device"
];
disabledTestPaths = lib.optionals (pythonAtLeast "3.12") [
# Tests are blocking or failing
"tests/test_handlers/"
];
pythonImportsCheck = [ "pyinsteon" ];
meta = {
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "pykaleidescape";
version = "2022.2.3";
version = "1.1.1";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "SteveEasley";
repo = "pykaleidescape";
tag = "v${version}";
hash = "sha256-h5G7wV4Z+sf8Qq4GNFsp8DVDSgQgS0dLGf+DzK/egYM=";
hash = "sha256-HhHlgQ94aPac6zRgXBSsHxXuAj2OnGdWkJHMOqTwKcI=";
};
nativeBuildInputs = [ setuptools ];
@@ -1,42 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
pybind11,
setuptools,
# tests
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "pymicro-vad";
version = "1.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "rhasspy";
repo = "pymicro-vad";
tag = version;
hash = "sha256-yKy/oD6nl2qZW64+aAHZRAEFextCXT6RpMfPThB8DXE=";
};
build-system = [
pybind11
setuptools
];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "pymicro_vad" ];
meta = {
changelog = "https://github.com/rhasspy/pymicro-vad/releases/tag/${version}";
description = "Self-contained voice activity detector";
homepage = "https://github.com/rhasspy/pymicro-vad";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ hexa ];
};
}
@@ -3,10 +3,10 @@
aresponses,
buildPythonPackage,
fetchFromGitHub,
hatchling,
lib,
mashumaro,
orjson,
poetry-core,
pytest-cov-stub,
pytestCheckHook,
syrupy,
@@ -15,17 +15,17 @@
buildPythonPackage rec {
pname = "pyportainer";
version = "1.0.16";
version = "1.0.22";
pyproject = true;
src = fetchFromGitHub {
owner = "erwindouna";
repo = "pyportainer";
tag = "v${version}";
hash = "sha256-sLjNCSPzEtws6mzvVYRPUq/TsJ6q4Oui5li6L0uU/Qg=";
hash = "sha256-rbRXrfORFxU0ar4scmAA1Rgaaci5zHSceItTwOOTogQ=";
};
build-system = [ poetry-core ];
build-system = [ hatchling ];
dependencies = [
aiohttp
@@ -7,42 +7,38 @@
# build-system
setuptools,
# dependencies
numpy,
onnxruntime,
# tests
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "pysilero-vad";
version = "2.1.1";
version = "3.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "rhasspy";
repo = "pysilero-vad";
tag = "v${version}";
hash = "sha256-zxvYvPnL99yIVHrzbRbKmTazzlefOS+s2TAWLweRSYE=";
hash = "sha256-DZjinW4jXsygJSUq3iNt82mbnVj7DN8hUxUDe1NkpHM=";
};
build-system = [ setuptools ];
dependencies = [
numpy
onnxruntime
];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "pysilero_vad" ];
# aarch64-linux onnxruntime tries to get cpu information from /sys, which isn't available
# inside the nix build sandbox.
doCheck = stdenv.buildPlatform.system != "aarch64-linux";
#doCheck = stdenv.buildPlatform.system != "aarch64-linux";
dontUsePythonImportsCheck = stdenv.buildPlatform.system == "aarch64-linux";
preCheck = ''
# don't shadow the build result during tests
rm -rf pysilero_vad
'';
meta = {
description = "Pre-packaged voice activity detector using silero-vad";
homepage = "https://github.com/rhasspy/pysilero-vad";
@@ -13,20 +13,21 @@
pytest-asyncio,
pytest-cov-stub,
pytest-mock,
pytest-xdist,
pytestCheckHook,
yarl,
}:
buildPythonPackage rec {
pname = "python-bsblan";
version = "3.1.1";
version = "3.1.4";
pyproject = true;
src = fetchFromGitHub {
owner = "liudger";
repo = "python-bsblan";
tag = "v${version}";
hash = "sha256-U/JlwJoNlRUm7gMEw5AHuazl+qXeF+pnqfICbVuvnQQ=";
hash = "sha256-P063G4YD4IlNP0ezYGhELjK4AKFQ4wPXFhgYb9OjRf0=";
};
postPatch = ''
@@ -52,6 +53,7 @@ buildPythonPackage rec {
pytest-asyncio
pytest-cov-stub
pytest-mock
pytest-xdist
pytestCheckHook
];
@@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "python-homewizard-energy";
version = "9.3.0";
version = "10.0.0";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "DCSBL";
repo = "python-homewizard-energy";
tag = "v${version}";
hash = "sha256-qDLYvFl2gAPNAHJ4uwy0TqzkMUxx9hJ96QwyhbMaLqQ=";
hash = "sha256-nrQI3yuIetcM7/Abwvxr4ffZb91N2Hhti/YBaI11uKc=";
};
postPatch = ''
@@ -12,20 +12,16 @@
buildPythonPackage rec {
pname = "python-pooldose";
version = "0.8.0";
version = "0.8.1";
pyproject = true;
src = fetchFromGitHub {
owner = "lmaertin";
repo = "python-pooldose";
tag = version;
hash = "sha256-zOl+c/bJmCH3ZUKcZDbRhnfctiQoq6z+C6LGHN6Jrhc=";
hash = "sha256-NhUl9wFUuMhkarswVSM4I98rkCFV/iPYoq49Hl59i00=";
};
postPatch = ''
rm -r src/pooldose/values/__pycache__
'';
build-system = [ setuptools ];
dependencies = [
@@ -0,0 +1,67 @@
{
buildPythonPackage,
cargo,
fetchFromGitHub,
lib,
pytest-asyncio,
pytest-xdist,
pytestCheckHook,
rustPlatform,
rustc,
setuptools,
setuptools-rust,
setuptools-scm,
socat,
typing-extensions,
}:
buildPythonPackage (finalAttrs: {
pname = "serialx";
version = "0.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "puddly";
repo = "serialx";
tag = "v${finalAttrs.version}";
hash = "sha256-hko0xVpqcmu7NhsS3MZRjfCY21E0g7qUDqAf5bqfw2I=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-mI/6Buuk0VMofcD2LmE3+FpZhISAMzSYxe2IDC2iyAE=";
};
build-system = [
setuptools
setuptools-rust
setuptools-scm
];
nativeBuildInputs = [
cargo
rustPlatform.cargoSetupHook
rustc
];
dependencies = [
typing-extensions
];
pythonImportsCheck = [ "serialx" ];
nativeCheckInputs = [
pytest-asyncio
pytest-xdist
pytestCheckHook
socat
];
meta = {
changelog = "https://github.com/puddly/serialx/releases/tag/${finalAttrs.src.tag}";
description = "Serial library with native async support for Windows and POSIX";
homepage = "https://github.com/puddly/serialx";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.dotlambda ];
};
})
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "tesla-fleet-api";
version = "1.2.7";
version = "1.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Teslemetry";
repo = "python-tesla-fleet-api";
tag = "v${version}";
hash = "sha256-wZS/o795v5luHdSKBDnEgPeX8HQdN190UQspXJV/dQE=";
hash = "sha256-ey0HJw1IE6vNmTeUN26Vusz6D+90hSzgvx1hJ7O5QOc=";
};
build-system = [ setuptools ];
@@ -3,28 +3,25 @@
buildPythonPackage,
fetchFromGitHub,
pytestCheckHook,
pythonOlder,
regex,
setuptools-scm,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "titlecase";
version = "2.4";
format = "setuptools";
disabled = pythonOlder "3.7";
version = "2.4.1";
pyproject = true;
src = fetchFromGitHub {
owner = "ppannuto";
repo = "python-titlecase";
tag = "v${version}";
hash = "sha256-aJbbfNnQvmmYPXVOO+xx7ADetsxE+jnVQOVDzV5jUp8=";
tag = "v${finalAttrs.version}";
hash = "sha256-s+C0UOKLEpMksfePIB6VzTv0dFLeamurdxjf5u1ek3g=";
};
nativeBuildInputs = [ setuptools-scm ];
build-system = [ setuptools-scm ];
propagatedBuildInputs = [ regex ];
dependencies = [ regex ];
nativeCheckInputs = [ pytestCheckHook ];
@@ -39,4 +36,4 @@ buildPythonPackage rec {
license = lib.licenses.mit;
maintainers = [ ];
};
}
})
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "total-connect-client";
version = "2025.5";
version = "2025.12.2";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "craigjmidwinter";
repo = "total-connect-client";
tag = version;
hash = "sha256-xVpR5gd185eZBoqUhVVcFGPbPFjCavwOZP7yFObzGic=";
hash = "sha256-ofbGW5OCKAFW+BXYvegHmFrnJKmRx/Ez86Na00bp9cw=";
};
build-system = [ setuptools ];
@@ -11,6 +11,7 @@
aiohttp,
aioshutil,
async-timeout,
av,
convertertools,
dateparser,
orjson,
@@ -39,14 +40,14 @@
buildPythonPackage rec {
pname = "uiprotect";
version = "7.33.3";
version = "8.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "uilibs";
repo = "uiprotect";
tag = "v${version}";
hash = "sha256-sVWgomaCrfZSlJpoLfYLkZXgJE0dw8ki8+VTbhkoDaE=";
hash = "sha256-YYF7YERl9pKpnfD1Q00NlL8zWfEohMBO3UuidedLHn0=";
};
build-system = [ poetry-core ];
@@ -61,6 +62,7 @@ buildPythonPackage rec {
aiohttp
aioshutil
async-timeout
av
convertertools
dateparser
orjson
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "volkswagencarnet";
version = "5.3.4";
version = "5.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "robinostlund";
repo = "volkswagencarnet";
tag = "v${version}";
hash = "sha256-hGOoST7u42uaCKrbHoJsghamiH8sw91bQ8WKOtYWKrI=";
hash = "sha256-9p01sCxXosaCPTo/QN1LJ4E5SvicqAjqpx7Wl7OsRtE=";
};
postPatch = ''
@@ -36,6 +36,8 @@ buildPythonPackage rec {
websockets
];
pythonRelaxDeps = [ "marshmallow" ];
nativeCheckInputs = [
aioresponses
pytest-asyncio
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "weheat";
version = "2025.6.10";
version = "2025.12.24";
pyproject = true;
src = fetchFromGitHub {
owner = "wefabricate";
repo = "wh-python";
tag = version;
hash = "sha256-CBW+LehZPZCHZ2zFeCOWwNAVlGcGdKQ5XgmCOv8jr5Q=";
hash = "sha256-aO4mU+7lfb4eQwK8ijtJwDBIhzxg+V5veWNwNsnxKu4=";
};
build-system = [ setuptools ];
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "xknx";
version = "3.12.0";
version = "3.13.0";
pyproject = true;
src = fetchFromGitHub {
owner = "XKNX";
repo = "xknx";
tag = version;
hash = "sha256-Sb/qPLINeYt96s7NkRARcb0ZrcE6A0ByyENVd5aiHxk=";
hash = "sha256-mfcPbxThl69XqTSUwPz/m+wiAAOOuaQe8PSgBJRMdzM=";
};
build-system = [ setuptools ];
@@ -35,6 +35,8 @@ buildPythonPackage rec {
pytestCheckHook
];
pytestFlags = [ "--asyncio-mode=auto" ];
pythonImportsCheck = [ "xknx" ];
disabledTests = [
@@ -25,11 +25,6 @@ buildPythonPackage rec {
hash = "sha256-2PqVFZ5816g8Ilc0Mhlm+Gzw/eOSaC1JYPY/t2yzxCU=";
};
postPatch = ''
substituteInPlace tests/__snapshots__/test_video.ambr \
--replace-fail "TzInfo(0)" "TzInfo(UTC)"
'';
build-system = [ poetry-core ];
dependencies = [
@@ -2,7 +2,7 @@
# Do not edit!
{
version = "2025.12.5";
version = "2026.1.0";
components = {
"3_day_blinds" =
ps: with ps; [
@@ -33,8 +33,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -124,6 +124,9 @@
ps: with ps; [
airos
];
"airpatrol" =
ps: with ps; [
]; # missing inputs: airpatrol
"airq" =
ps: with ps; [
aioairq
@@ -154,8 +157,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -275,7 +278,10 @@
];
"anglian_water" =
ps: with ps; [
fnv-hash-fast
psutil-home-assistant
pyanglianwater
sqlalchemy
];
"anova" =
ps: with ps; [
@@ -292,7 +298,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
];
"anwb_energie" =
@@ -380,8 +386,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -422,7 +428,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
];
"assist_satellite" =
@@ -431,7 +437,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
];
"asuswrt" =
@@ -463,7 +469,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -652,8 +658,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -699,8 +705,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -725,8 +731,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -826,8 +832,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -883,7 +889,7 @@
plexauth
plexwebsocket
pychromecast
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -946,7 +952,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -1147,9 +1153,9 @@
numpy
pillow
psutil-home-assistant
pymicro-vad
pynacl
pyserial
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -1307,8 +1313,8 @@
ifaddr
mutagen
py-dormakaba-dkey
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -1432,6 +1438,9 @@
ps: with ps; [
pythonegardia
];
"egauge" =
ps: with ps; [
]; # missing inputs: egauge-async
"eheimdigital" =
ps: with ps; [
eheimdigital
@@ -1596,8 +1605,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -1627,8 +1636,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -1666,8 +1675,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -1777,9 +1786,13 @@
ps: with ps; [
pymata-express
];
"fish_audio" =
ps: with ps; [
]; # missing inputs: fish-audio-sdk
"fitbit" =
ps: with ps; [
fitbit
fitbit-web-api
];
"fivem" =
ps: with ps; [
@@ -1811,8 +1824,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -1850,6 +1863,9 @@
ps: with ps; [
pyflume
];
"fluss" =
ps: with ps; [
]; # missing inputs: fluss-api
"flux" =
ps: with ps; [
];
@@ -1909,6 +1925,9 @@
ps: with ps; [
pyfreedompro
];
"fressnapf_tracker" =
ps: with ps; [
]; # missing inputs: fressnapftracker
"fritz" =
ps:
with ps;
@@ -1994,8 +2013,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -2030,6 +2049,9 @@
ps: with ps; [
geniushub-client
];
"gentex_homelink" =
ps: with ps; [
]; # missing inputs: homelink-integration-api
"geo_json_events" =
ps: with ps; [
aio-geojson-generic-client
@@ -2131,7 +2153,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
];
"google_mail" =
@@ -2195,8 +2217,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -2377,6 +2399,7 @@
ha-silabs-firmware-client
psutil-home-assistant
pyserial
serialx
universal-silabs-flasher
];
"homeassistant_green" =
@@ -2386,6 +2409,7 @@
ha-silabs-firmware-client
psutil-home-assistant
pyserial
serialx
universal-silabs-flasher
];
"homeassistant_hardware" =
@@ -2394,6 +2418,7 @@
aiousbwatcher
ha-silabs-firmware-client
pyserial
serialx
universal-silabs-flasher
];
"homeassistant_sky_connect" =
@@ -2403,6 +2428,7 @@
ha-silabs-firmware-client
psutil-home-assistant
pyserial
serialx
universal-silabs-flasher
];
"homeassistant_yellow" =
@@ -2412,6 +2438,7 @@
ha-silabs-firmware-client
psutil-home-assistant
pyserial
serialx
universal-silabs-flasher
];
"homee" =
@@ -2451,9 +2478,9 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyroute2
pyserial
pysilero-vad
pyspeex-noise
python-otbr-api
zeroconf
@@ -2524,8 +2551,8 @@
hueble
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -2570,8 +2597,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -2626,8 +2653,8 @@
ibeacon-ble
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -2657,8 +2684,8 @@
idasen-ha
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -2736,8 +2763,8 @@
ifaddr
mutagen
py-improv-ble-client
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -2781,8 +2808,8 @@
ifaddr
inkbird-ble
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -2895,9 +2922,9 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pynecil
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3025,8 +3052,8 @@
ifaddr
kegtron-ble
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3059,9 +3086,9 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pymicrobot
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3139,8 +3166,8 @@
ifaddr
mutagen
pykulersky
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3181,8 +3208,8 @@
ifaddr
mutagen
pylamarzocco
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3242,8 +3269,8 @@
ifaddr
ld2410-ble
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3269,8 +3296,8 @@
ifaddr
leaone-ble
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3296,8 +3323,8 @@
ifaddr
led-ble
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3312,6 +3339,9 @@
ps: with ps; [
letpot
];
"levoit" =
ps: with ps; [
];
"lg_netcast" =
ps: with ps; [
ifaddr
@@ -3451,7 +3481,7 @@
home-assistant-intents
loqedapi
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -3591,8 +3621,8 @@
ifaddr
medcom-ble
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3643,8 +3673,8 @@
ifaddr
melnor-bluetooth
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3765,8 +3795,8 @@
ifaddr
moat-ble
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3780,8 +3810,8 @@
home-assistant-intents
mutagen
pillow
pymicro-vad
pynacl
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -3852,8 +3882,8 @@
ifaddr
mopeka-iot-ble
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -3884,8 +3914,8 @@
ifaddr
motionblindsble
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -4026,7 +4056,7 @@
home-assistant-intents
mutagen
pyatmo
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -4240,7 +4270,7 @@
home-assistant-intents
mutagen
ollama
pymicro-vad
pysilero-vad
pyspeex-noise
];
"ombi" =
@@ -4271,7 +4301,7 @@
home-assistant-intents
mutagen
onedrive-personal-sdk
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -4303,7 +4333,7 @@
home-assistant-intents
mutagen
openai
pymicro-vad
pysilero-vad
pyspeex-noise
python-open-router
];
@@ -4314,7 +4344,7 @@
home-assistant-intents
mutagen
openai
pymicro-vad
pysilero-vad
pyspeex-noise
];
"openalpr_cloud" =
@@ -4404,8 +4434,8 @@
ifaddr
mutagen
oralb-ble
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -4438,6 +4468,7 @@
pyroute2
pyserial
python-otbr-api
serialx
universal-silabs-flasher
zeroconf
zha
@@ -4463,7 +4494,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
python-overseerr
@@ -4484,8 +4515,8 @@
home-assistant-intents
mutagen
paho-mqtt
pymicro-vad
pynacl
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -4608,8 +4639,8 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pyplaato
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -4691,8 +4722,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -4717,9 +4748,9 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyprobeplus
pyserial
pysilero-vad
pyspeex-noise
zeroconf
];
@@ -4854,8 +4885,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
qingping-ble
zeroconf
@@ -4907,7 +4938,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -4974,8 +5005,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
rapt-ble
zeroconf
@@ -5016,7 +5047,7 @@
home-assistant-frontend
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -5220,8 +5251,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
ruuvitag-ble
zeroconf
@@ -5347,8 +5378,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
sensirion-ble
zeroconf
@@ -5383,8 +5414,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
sensorpro-ble
zeroconf
@@ -5410,8 +5441,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
sensorpush-ble
zeroconf
@@ -5671,8 +5702,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pysnooz
pyspeex-noise
zeroconf
@@ -5913,8 +5944,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
pyswitchbot
zeroconf
@@ -6108,8 +6139,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
thermobeacon-ble
zeroconf
@@ -6138,8 +6169,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
thermopro-ble
zeroconf
@@ -6205,8 +6236,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
tilt-ble
zeroconf
@@ -6271,7 +6302,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -6599,8 +6630,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
zeroconf
]; # missing inputs: victron-ble-ha-parser
@@ -6642,7 +6673,7 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
voip-utils
];
@@ -6691,6 +6722,21 @@
ps: with ps; [
watergate-local-api
];
"watts" =
ps: with ps; [
aiohasupervisor
cronsim
ha-ffmpeg
hass-nabucasa
hassil
home-assistant-intents
mutagen
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
securetar
]; # missing inputs: visionpluspython
"watttime" =
ps: with ps; [
aiowatttime
@@ -6714,6 +6760,9 @@
ps: with ps; [
apple-weatherkit
];
"web_rtc" =
ps: with ps; [
];
"webdav" =
ps: with ps; [
aiowebdav2
@@ -6773,7 +6822,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -6823,7 +6872,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
wyoming
];
@@ -6867,8 +6916,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
xiaomi-ble
zeroconf
@@ -6901,7 +6950,7 @@
hassil
home-assistant-intents
mutagen
pymicro-vad
pysilero-vad
pyspeex-noise
python-matter-server
pyturbojpeg
@@ -6934,8 +6983,8 @@
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyserial
pysilero-vad
pyspeex-noise
yalexs-ble
zeroconf
@@ -7025,6 +7074,7 @@
aiousbwatcher
ha-silabs-firmware-client
pyserial
serialx
universal-silabs-flasher
zha
];
@@ -7404,6 +7454,7 @@
"hdmi_cec"
"heos"
"here_travel_time"
"hikvision"
"hisense_aehw4a1"
"history"
"history_stats"
@@ -8022,6 +8073,7 @@
"vicare"
"victron_remote_monitoring"
"vilfo"
"vivotek"
"vizio"
"vlc_telnet"
"vodafone_station"
@@ -8042,6 +8094,7 @@
"weatherflow"
"weatherflow_cloud"
"weatherkit"
"web_rtc"
"webdav"
"webhook"
"webmin"
@@ -5,6 +5,7 @@
# dependencies
hass-web-proxy-lib,
titlecase,
# tests
homeassistant,
@@ -18,16 +19,19 @@
buildHomeAssistantComponent rec {
owner = "blakeblackshear";
domain = "frigate";
version = "5.13.0";
version = "5.14.1";
src = fetchFromGitHub {
owner = "blakeblackshear";
repo = "frigate-hass-integration";
tag = "v${version}";
hash = "sha256-etYPrWa4xzfFm1QQuxh+rJqeoQ3P/nITM6GxJA/tPAA=";
hash = "sha256-fiy1G/gi2nr8uh6VaC48p/uXat+Q1uiThbg3kn6jRxs=";
};
dependencies = [ hass-web-proxy-lib ];
dependencies = [
hass-web-proxy-lib
titlecase
];
nativeCheckInputs = [
homeassistant
@@ -13,13 +13,13 @@
buildHomeAssistantComponent rec {
owner = "SukramJ";
domain = "homematicip_local";
version = "2.0.5";
version = "2.0.6";
src = fetchFromGitHub {
owner = "SukramJ";
repo = "custom_homematic";
tag = version;
hash = "sha256-lbmhC2vpHWGLweTXlpA9Bz8kO4SsxtcL7xzDfmOl4S0=";
hash = "sha256-BlA3PAR8tJZbYqzlt5iah7BY2LnVyfNnKm8NxjrPJ2c=";
};
postPatch = ''
@@ -10,13 +10,13 @@
buildHomeAssistantComponent rec {
owner = "mill1000";
domain = "midea_ac";
version = "2015.12.0";
version = "2026.1.1";
src = fetchFromGitHub {
owner = "mill1000";
repo = "midea-ac-py";
tag = version;
hash = "sha256-PXCL3vaCdIOHuv2eUSLxVwVBZNzfynzcKRfQqm1PGvw=";
hash = "sha256-7024kXheMUAhlWGCp4S8xn0qGmlJFphiIqTYQi3NXYo=";
};
dependencies = [ msmart-ng ];
@@ -14,13 +14,13 @@
buildHomeAssistantComponent rec {
owner = "marcolivierarsenault";
domain = "moonraker";
version = "1.12.1";
version = "1.12.2";
src = fetchFromGitHub {
owner = "marcolivierarsenault";
repo = "moonraker-home-assistant";
tag = version;
hash = "sha256-jTL6hdS3jcIWivo+3qnIq3tTdLQ7AhxHERdZ41CGbR8=";
hash = "sha256-EkdkP3NLcw0Zv5qdVrScu8ks3QRoDeVYCCMT6XP2j2I=";
};
dependencies = [
@@ -8,13 +8,13 @@
buildHomeAssistantComponent rec {
owner = "vinteo";
domain = "opensprinkler";
version = "1.5.3";
version = "1.5.4";
src = fetchFromGitHub {
owner = "vinteo";
repo = "hass-opensprinkler";
tag = "v${version}";
hash = "sha256-R8en3MFVUAhNT9KNxHk6wYkCNHrbm6BNKNA0Y2mIc/Q=";
hash = "sha256-i7RQBkHxzxcOyBJ7dOALRqJjef0eb/rlYiSjZKluH+A=";
};
dependencies = [
@@ -8,13 +8,13 @@
buildHomeAssistantComponent rec {
owner = "weltenwort";
domain = "rct_power";
version = "0.14.1";
version = "0.14.2";
src = fetchFromGitHub {
owner = "weltenwort";
repo = "home-assistant-rct-power-integration";
tag = "v${version}";
hash = "sha256-wM66MyRhBsMfUr+KlqV4jSuXcnKfW0fkbDAyuU2crsc=";
hash = "sha256-AsDMHPKCpbne2ZcRelcIgxm1i/RZcFU8fLOvkwEodOE=";
};
dependencies = [
@@ -2,21 +2,28 @@
buildHomeAssistantComponent,
fetchFromGitHub,
lib,
numpy,
scipy,
gitUpdater,
}:
buildHomeAssistantComponent rec {
owner = "jmcollin78";
domain = "versatile_thermostat";
version = "8.3.2";
version = "8.5.0";
src = fetchFromGitHub {
inherit owner;
repo = domain;
rev = "refs/tags/${version}";
hash = "sha256-kHDLFxhrGTCpqkTvvjbplYSqXbrmN9KPhQuszTtoGQc=";
hash = "sha256-YTil0wFniMbTUjM62oJS6wnGvhaHUlcUSJvsasmlrXw=";
};
dependencies = [
numpy
scipy
];
passthru.updateScript = gitUpdater { ignoredVersions = "(Alpha|Beta|alpha|beta).*"; };
meta = {
@@ -10,13 +10,13 @@
buildHomeAssistantComponent rec {
owner = "robinostlund";
domain = "volkswagencarnet";
version = "5.3.5";
version = "5.4.0";
src = fetchFromGitHub {
owner = "robinostlund";
repo = "homeassistant-volkswagencarnet";
tag = "v${version}";
hash = "sha256-zEdKortZq/OK0yMJJBj4fNWKuXedc27oPcH3kxDNBdI=";
hash = "sha256-uIsOuc+UXhLbPm4/koANQjzPFfRVwt/rMhYw6keVgYI=";
};
postPatch = ''
@@ -13,13 +13,13 @@
buildHomeAssistantComponent rec {
owner = "XiaoMi";
domain = "xiaomi_home";
version = "0.4.5";
version = "0.4.7";
src = fetchFromGitHub {
owner = "XiaoMi";
repo = "ha_xiaomi_home";
rev = "v${version}";
hash = "sha256-uwerYCqaqGwOFKZ0uIU78t7+U6U+KqQCQFjLiy623Dg=";
hash = "sha256-rI7uYYCvTRXcuCOQu052SjNTRUyux0Cp6mIj4WGyTy0=";
};
dependencies = [
@@ -10,18 +10,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "button-card";
version = "4.1.2";
version = "7.0.1";
src = fetchFromGitHub {
owner = "custom-cards";
repo = "button-card";
tag = "v${finalAttrs.version}";
hash = "sha256-Ntg1sNgAehcL2fT0rP0YHzV5q6rB5p1TyFXtbZyB3Vo=";
hash = "sha256-UJ9DzoT0XAWTxUXtnfOrpd0MQihBw9LY7QI0TXEbUNk=";
};
offlineCache = fetchYarnDeps {
inherit (finalAttrs) src;
hash = "sha256-OFnsRR9zA9D22xBdh4XfLueGVA2ERXmGEp54x0OFDFY=";
hash = "sha256-zbuurXlIz13zCAMKOl+/VvsVHrDscNkweZG1eiqrnUM=";
};
nativeBuildInputs = [
@@ -9,18 +9,18 @@
}:
stdenvNoCC.mkDerivation rec {
pname = "clock-weather-card";
version = "2.9.1";
version = "2.9.2";
src = fetchFromGitHub {
owner = "pkissling";
repo = "clock-weather-card";
tag = "v${version}";
hash = "sha256-5FHGFuvMYi40+6C9NDzrOsp2gIrIgtaA8qHM+oNIilg=";
hash = "sha256-8srE601xz8AcFv+5swIUUqUlHif/Qfm1TdfA5HfDAnU=";
};
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-DhOQG9+0YOOVv3Y1qnZPuR4ZQEdT9NLIcdiBnplSBvg=";
hash = "sha256-hCniXzBsnTozR0PWEleTo7K9P/lqoKNF+L8EErjOdEg=";
};
nativeBuildInputs = [
@@ -10,19 +10,19 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "custom-sidebar";
version = "10.7.0";
version = "11.1.0";
src = fetchFromGitHub {
owner = "elchininet";
repo = "custom-sidebar";
tag = "v${finalAttrs.version}";
hash = "sha256-aV4dMt79t9ZZm+Z08odSONf/ghow4U+/aryk2+GJZvw=";
hash = "sha256-4nkkYaoVchmIlVLKdnCpDksadBqeZxHG1rNsKnI8kwQ=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
fetcherVersion = 1;
hash = "sha256-gfjRgq75hKxgfOn0wnWIzcFcdWVe7PZ4z8YHxLTCsjo=";
hash = "sha256-R9EZxGEX1bFd0qS1e47nygre7I564zfJwS5YUNXSc0E=";
};
nativeBuildInputs = [
@@ -6,13 +6,13 @@
buildNpmPackage rec {
pname = "lg-webos-remote-control";
version = "2.0.3";
version = "2.0.4";
src = fetchFromGitHub {
owner = "madmicio";
repo = "LG-WebOS-Remote-Control";
rev = version;
hash = "sha256-ICOAi8q8dWrBFCv18JYSWc6MIwqxfDXOcc6kCKLGehs=";
hash = "sha256-Da/43D2PPL7ElwukJ6VR+O/c3z1UPnxrDW4oMWbWwr0=";
};
npmDepsHash = "sha256-kN+i0ic1JWs6kqnAliiO4yVMDXwfZaQsRGKeV9A0MxE=";
@@ -9,13 +9,13 @@
let
pname = "navbar-card";
version = "0.18.1";
version = "1.3.0";
src = fetchFromGitHub {
owner = "joseluis9595";
repo = "lovelace-navbar-card";
tag = "v${version}";
hash = "sha256-uw90tm8KI7tqZwMNaRuxuIKVXhCLe0wVNisk91jLwwk=";
hash = "sha256-lFsQPyIMhyVHCNwRiGXVu8bMvmlfCI7KTu2Hk90agIE=";
};
# Create node_modules as a separate derivation
@@ -57,7 +57,7 @@ let
# Required else we get errors that our fixed-output derivation references store paths
dontFixup = true;
outputHash = "sha256-enQSr+HAnoIk2NiuKDx4fmFnIrG0tg23QImicQqDgpk=";
outputHash = "sha256-3IGzPEUPVnlD/K8a3Mp53vBEkTdlvrEYNpWCA/rIBwc=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
@@ -1,17 +0,0 @@
diff --git a/rspack.config.js b/rspack.config.js
index 30b7568..dc10273 100644
--- a/rspack.config.js
+++ b/rspack.config.js
@@ -2,11 +2,7 @@
const path = require('path');
const { execSync } = require('child_process');
-let env =
- execSync('git branch --show-current').toString().trim() == 'main'
- ? 'production'
- : 'development';
-env = 'production';
+let env = 'production';
module.exports = {
mode: env,
@@ -6,18 +6,16 @@
buildNpmPackage rec {
pname = "universal-remote-card";
version = "4.9.3";
version = "4.9.4";
src = fetchFromGitHub {
owner = "Nerwyn";
repo = "android-tv-card";
rev = version;
hash = "sha256-Xy2qtck1ZrB5y4SPkWC/JrSsoZciBdI7rm2HdakHu3I=";
hash = "sha256-gPzFF6MeA9JDCUp6Vz0HokKcxyV3Qw71dW3CBexsv1U=";
};
patches = [ ./dont-call-git.patch ];
npmDepsHash = "sha256-Js9HlQOQUFDU2wIe9JdXqkcKlsAgoE8/d74Zw+9iyN4=";
npmDepsHash = "sha256-TcaA73aG9CNxu4KUfYsbs9vOwKgz70lEoI8KSCro61M=";
installPhase = ''
runHook preInstall
@@ -6,16 +6,16 @@
buildNpmPackage rec {
pname = "vacuum-card";
version = "2.11.0";
version = "2.11.3";
src = fetchFromGitHub {
owner = "denysdovhan";
repo = "vacuum-card";
rev = "v${version}";
hash = "sha256-egWseYspxm+zkfFwTEBYQfBox3sswYMuOYqU6oEQTb4=";
hash = "sha256-3FhlcZVI1M8Ci2C/exwYvlHUBXlGAIFT/1jL6Dl72Ns=";
};
npmDepsHash = "sha256-dfsKBTJV1QC8pmb/EIh4n5I9CDnOjy7+sPwQA/eLEi0=";
npmDepsHash = "sha256-eTFwW/vo+h7Dz7cow2A06M6cc1Ha9eSmDTXEI8WzCdk=";
installPhase = ''
runHook preInstall
+4 -13
View File
@@ -228,15 +228,6 @@ let
];
});
pykaleidescape = super.pykaleidescape.overridePythonAttrs (oldAttrs: rec {
version = "1.0.1";
src = fetchFromGitHub {
inherit (oldAttrs.src) owner repo;
rev = "refs/tags/v${version}";
hash = "sha256-KM/gtpsQ27QZz2uI1t/yVN5no0zp9LZag1duAJzK55g=";
};
});
pysnooz = super.pysnooz.overridePythonAttrs (oldAttrs: rec {
version = "0.8.6";
src = fetchFromGitHub {
@@ -301,13 +292,13 @@ let
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run update-component-packages.py after updating
hassVersion = "2025.12.5";
hassVersion = "2026.1.0";
in
python.pkgs.buildPythonApplication rec {
pname = "homeassistant";
version =
assert (componentPackages.version == hassVersion);
#assert (componentPackages.version == hassVersion);
hassVersion;
pyproject = true;
@@ -322,13 +313,13 @@ python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
tag = version;
hash = "sha256-RSrWk7SZIOvOhvVXBwc10w9Yyqd2rcxdUVuq2snMm9g=";
hash = "sha256-LoB8hm5ruC6kvulHmtYxbJ6JkkTmgzCbiyBjVdaHFGI=";
};
# Secondary source is pypi sdist for translations
sdist = fetchPypi {
inherit pname version;
hash = "sha256-cl5kTpYhsZnf7etPRSgVWd/fH9zTc1OnkRTjbUp/M3U=";
hash = "sha256-D6p/pMN7jM8e7ckXlMaQQvj4VZ8ufCBfHCeQaCYr3sY=";
};
build-system = with python.pkgs; [
+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 = "20251203.3";
version = "20260107.0";
format = "wheel";
src = fetchPypi {
@@ -16,7 +16,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
hash = "sha256-jccOeuv1QdU8nRrtAnRNrZu8s5Mw5KpXE+O/XLYhZ+A=";
hash = "sha256-bRkcIoy12gaHNZdRypFdaArsZiM/5Sm4YNMUD1AMYUI=";
};
# there is nothing to strip in this package
+2 -2
View File
@@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "home-assistant-intents";
version = "2025.12.2";
version = "2026.1.6";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
repo = "intents-package";
tag = version;
fetchSubmodules = true;
hash = "sha256-7fav3h8/Eu4Q4I0deDWov5UP5aEyS/ypIGLvuQlGWCI=";
hash = "sha256-pCAyzx7iJL96OUSpODdjV0uzb6QU3YDROTX7pVcjWu8=";
};
build-system = [
@@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "pytest-homeassistant-custom-component";
version = "0.13.301";
version = "0.13.305";
pyproject = true;
disabled = pythonOlder "3.13";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "MatthewFlamm";
repo = "pytest-homeassistant-custom-component";
tag = version;
hash = "sha256-ayLMdWz2KrHkAUc46QdjsikdO96YtpaPeDNGEfkYo9w=";
hash = "sha256-wxoG5xnlvViWgu0cYIG84coOGJrFVuaX5jHoHXm9s9s=";
};
build-system = [ setuptools ];
+2 -2
View File
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "homeassistant-stubs";
version = "2025.12.5";
version = "2026.1.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-c2Vr5S7WxaT0q4/Zc3yJmSU4ErhogCBKOISj1WVXflY=";
hash = "sha256-1gJtsQo3OOki1hjRnD8Bb+800k8fCd0TJS3BZW76Osg=";
};
build-system = [
+1
View File
@@ -144,6 +144,7 @@ let
unifiprotect = getComponentDeps "camera";
universal = getComponentDeps "camera" ++ getComponentDeps "conversation";
uvc = getComponentDeps "camera";
vivotek = getComponentDeps "camera";
voicerss = getComponentDeps "tts";
weather = getComponentDeps "conversation";
websocket_api = getComponentDeps "camera" ++ getComponentDeps "conversation";
+1
View File
@@ -348,6 +348,7 @@ mapAliases {
pylit = throw "'pylit' has been removed as it was broken and unmaintained upstream"; # Added 2025-11-29
pymc3 = throw "'pymc3' has been renamed to/replaced by 'pymc'"; # Converted to throw 2025-10-29
pymelcloud = throw "'pymelcloud' has been renamed to/replaced by 'python-melcloud'"; # Converted to throw 2025-10-29
pymicro-vad = throw "'pymicro-vad' was removed because Home Assistant switched to 'pysilero-vad'"; # added 2026-01-08
PyMVGLive = throw "'PyMVGLive' has been renamed to/replaced by 'pymvglive'"; # Converted to throw 2025-10-29
pymyq = throw "'pymyq' has been renamed to/replaced by 'python-myq'"; # Converted to throw 2025-10-29
pyownet = throw "pyownet was removed because Home Assistant switched to aio-ownet"; # added 2025-10-31
+6 -2
View File
@@ -2317,6 +2317,8 @@ self: super: with self; {
buildstream-plugins = callPackage ../development/python-modules/buildstream-plugins { };
bumble = callPackage ../development/python-modules/bumble { };
bump-my-version = callPackage ../development/python-modules/bump-my-version { };
bump2version = callPackage ../development/python-modules/bump2version { };
@@ -5448,6 +5450,8 @@ self: super: with self; {
fitbit = callPackage ../development/python-modules/fitbit { };
fitbit-web-api = callPackage ../development/python-modules/fitbit-web-api { };
fitdecode = callPackage ../development/python-modules/fitdecode { };
fitfile = callPackage ../development/python-modules/fitfile { };
@@ -13899,8 +13903,6 @@ self: super: with self; {
pymfy = callPackage ../development/python-modules/pymfy { };
pymicro-vad = callPackage ../development/python-modules/pymicro-vad { };
pymicrobot = callPackage ../development/python-modules/pymicrobot { };
pymiele = callPackage ../development/python-modules/pymiele { };
@@ -17096,6 +17098,8 @@ self: super: with self; {
serializable = callPackage ../development/python-modules/serializable { };
serialx = callPackage ../development/python-modules/serialx { };
serpent = callPackage ../development/python-modules/serpent { };
serpy = callPackage ../development/python-modules/serpy { };