home-assistant: 2025.2.5 -> 2025.3.0 (#386461)

This commit is contained in:
Martin Weinelt
2025-03-06 00:27:53 +01:00
committed by GitHub
63 changed files with 823 additions and 385 deletions
@@ -18,16 +18,16 @@
buildPythonPackage rec {
pname = "aiodiscover";
version = "2.2.0";
version = "2.6.1";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "bdraco";
repo = "aiodiscover";
tag = "v${version}";
hash = "sha256-A12YeNIm9Pv4zpzaejTk8VvLzKLHxZV2EzVpchLX1k8=";
hash = "sha256-dgmRgokHDw0ooxD8Ksxb8QKeAdUhYj/WO85EC57MeNg=";
};
build-system = [ poetry-core ];
@@ -12,21 +12,21 @@
buildPythonPackage rec {
pname = "aioecowitt";
version = "2024.2.2";
version = "2025.3.1";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = pname;
repo = "aioecowitt";
tag = version;
hash = "sha256-QfUawUtkNl2molropV8NSU7Kfm/D5/xuaPCjgm2TVOs=";
hash = "sha256-BAiRonfu3tFf5ZERbWO+MuEsefrOIaGxUExYx5fXZIM=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [
dependencies = [
aiohttp
meteocalc
];
@@ -26,7 +26,7 @@
buildPythonPackage rec {
pname = "aioesphomeapi";
version = "29.2.0";
version = "29.3.1";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
owner = "esphome";
repo = "aioesphomeapi";
tag = "v${version}";
hash = "sha256-NK83VZBBMLBkQOb7Z4yVL6GImdNspgF9YIAy8HlktrA=";
hash = "sha256-Gv3uM3ZKxcU5BA8HfzHJqTEODM8sfcKbLGfk96yb8u4=";
};
build-system = [
@@ -19,7 +19,7 @@
buildPythonPackage rec {
pname = "aiohomeconnect";
version = "0.16.0";
version = "0.16.2";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "MartinHjelmare";
repo = "aiohomeconnect";
tag = "v${version}";
hash = "sha256-xnihwHtU39OQDk/DgUXkUy6/4GrlFLgjK2via7ELedU=";
hash = "sha256-AlmlZoqQxd4RE667rBYFzyAhFN9GJ0Rmk1lniDZKRnM=";
};
build-system = [ setuptools ];
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "aiohue";
version = "4.7.3";
version = "4.7.4";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = "aiohue";
tag = version;
hash = "sha256-uS6pyJOntjbGa9UU1g53nuzgfP6AKAzN4meHrZY6Uic=";
hash = "sha256-+vvdv8/rAoMdtH6XN9tq4zOLboTuz3CqruN2KkEMv+c=";
};
postPatch = ''
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "aioshelly";
version = "12.4.2";
version = "13.1.0";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = "aioshelly";
tag = version;
hash = "sha256-QwO1Vi69rj4tCSSkp/j3vtdV6zpgkgM33waDw7ZjApw=";
hash = "sha256-Wh4kwyNi0ql0plymkE6XM54SQug9BRvXcI0oEMI2ajA=";
};
build-system = [ setuptools ];
@@ -0,0 +1,55 @@
{
aiofiles,
aiohttp,
aioresponses,
buildPythonPackage,
fetchFromGitHub,
lib,
lxml,
poetry-core,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
python-dateutil,
yarl,
}:
buildPythonPackage rec {
pname = "aiowebdav2";
version = "0.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "jpbede";
repo = "aiowebdav2";
tag = "v${version}";
hash = "sha256-421c/3UYq/xtv5Zm4j2dje1KH2HOvPrVlmfMA4NX4pA=";
};
build-system = [ poetry-core ];
dependencies = [
aiofiles
aiohttp
lxml
python-dateutil
yarl
];
pythonImportsCheck = [ "aiowebdav2" ];
nativeCheckInputs = [
aioresponses
pytest-asyncio
pytest-cov-stub
pytestCheckHook
];
meta = {
changelog = "https://github.com/jpbede/aiowebdav2/releases/tag/${src.tag}";
description = "Async Python 3 client for WebDAV";
homepage = "https://github.com/jpbede/aiowebdav2";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -9,16 +9,16 @@
buildPythonPackage rec {
pname = "aiowebostv";
version = "0.6.2";
version = "0.7.3";
pyproject = true;
disabled = pythonOlder "3.9";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "aiowebostv";
tag = "v${version}";
hash = "sha256-H5ZhG69F5w1fZBepxqWGo29XnK3Tn6dgota64k2GJbw=";
hash = "sha256-ssoWWLGP+0WGGtvOB0Pr1LMzAOh3qK1PHA99D16azeI=";
};
build-system = [ setuptools ];
@@ -33,8 +33,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "Module to interact with LG webOS based TV devices";
homepage = "https://github.com/home-assistant-libs/aiowebostv";
changelog = "https://github.com/home-assistant-libs/aiowebostv/releases/tag/v${version}";
license = with licenses; [ asl20 ];
changelog = "https://github.com/home-assistant-libs/aiowebostv/releases/tag/${src.tag}";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "arcam-fmj";
version = "1.8.0";
version = "1.8.1";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "elupus";
repo = "arcam_fmj";
tag = version;
hash = "sha256-G+TbZ95KiAunvzhpY6IRZy6xrBn4ceZwixZw37KB298=";
hash = "sha256-sNV2k3cbQe60Jpq1J2T6TQAz+NEyLXvS97//vXJ17TM=";
};
build-system = [ setuptools ];
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "async-interrupt";
version = "1.2.0";
version = "1.2.2";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -20,10 +20,10 @@ buildPythonPackage rec {
owner = "bdraco";
repo = "async_interrupt";
tag = "v${version}";
hash = "sha256-opV5h3aLDDpjlRZRZ9OnrPjUOf/i7g+B9T6msk8wtgI=";
hash = "sha256-M0ftyHstBP7+6M2b6yV33mSuO4B8QF3ixRvNJ/WeSEA=";
};
nativeBuildInputs = [ poetry-core ];
build-system = [ poetry-core ];
nativeCheckInputs = [
pytest-asyncio
@@ -36,7 +36,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Context manager to raise an exception when a future is done";
homepage = "https://github.com/bdraco/async_interrupt";
changelog = "https://github.com/bdraco/async_interrupt/blob/${version}/CHANGELOG.md";
changelog = "https://github.com/bdraco/async_interrupt/blob/${src.tag}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
@@ -2,6 +2,7 @@
lib,
aioesphomeapi,
bleak,
bleak-retry-connector,
bluetooth-data-tools,
buildPythonPackage,
fetchFromGitHub,
@@ -12,21 +13,18 @@
pytest-codspeed,
pytest-cov-stub,
pytestCheckHook,
pythonOlder,
}:
buildPythonPackage rec {
pname = "bleak-esphome";
version = "2.7.1";
version = "2.9.0";
pyproject = true;
disabled = pythonOlder "3.10";
src = fetchFromGitHub {
owner = "bluetooth-devices";
repo = "bleak-esphome";
tag = "v${version}";
hash = "sha256-AZkSWBMyTl2NgqmhVG4sE/N1AQGd6x4CZVYMgRKxlOQ=";
hash = "sha256-KuaaZXABR/jbC9ZNbVOyrezUZzb6w7Tn7s3VuVuAtfI=";
};
build-system = [ poetry-core ];
@@ -34,6 +32,7 @@ buildPythonPackage rec {
dependencies = [
aioesphomeapi
bleak
bleak-retry-connector
bluetooth-data-tools
habluetooth
lru-dict
@@ -1,6 +1,5 @@
{
lib,
async-timeout,
bleak,
bluetooth-adapters,
dbus-fast,
@@ -8,29 +7,25 @@
fetchFromGitHub,
poetry-core,
pytestCheckHook,
pythonOlder,
pytest-asyncio,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "bleak-retry-connector";
version = "3.8.1";
version = "3.9.0";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "bleak-retry-connector";
tag = "v${version}";
hash = "sha256-Vkmn+CKQm+i+MRx12U6AmDGUyhtagoXbpeC/uou311o=";
hash = "sha256-weZ44YhbCoDRByzta/tkl1maEuxewS+53jxFRDHK6so=";
};
build-system = [ poetry-core ];
dependencies = [
async-timeout
bleak
bluetooth-adapters
dbus-fast
@@ -42,13 +37,6 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = [
# broken mocking
"test_establish_connection_can_cache_services_services_missing"
"test_establish_connection_with_dangerous_use_cached_services"
"test_establish_connection_without_dangerous_use_cached_services"
];
pythonImportsCheck = [ "bleak_retry_connector" ];
meta = with lib; {
@@ -7,6 +7,8 @@
fetchFromGitHub,
poetry-core,
pyric,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
pythonOlder,
usb-devices,
@@ -14,7 +16,7 @@
buildPythonPackage rec {
pname = "bluetooth-auto-recovery";
version = "1.4.2";
version = "1.4.4";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -23,14 +25,9 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = "bluetooth-auto-recovery";
tag = "v${version}";
hash = "sha256-JaFazXjbHohj4+rPkQA/SaBP0irHrre3vaCqz7T2bwE=";
hash = "sha256-Sm3VLgWttMVXH+s1m1ab8kE6dHPit0GY4FVAld5Yg88=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail " --cov=bluetooth_auto_recovery --cov-report=term-missing:skip-covered" ""
'';
build-system = [ poetry-core ];
dependencies = [
@@ -41,7 +38,11 @@ buildPythonPackage rec {
usb-devices
];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytest-asyncio
pytest-cov-stub
pytestCheckHook
];
pythonImportsCheck = [ "bluetooth_auto_recovery" ];
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "cached-ipaddress";
version = "0.8.0";
version = "0.9.2";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "bdraco";
repo = "cached-ipaddress";
tag = "v${version}";
hash = "sha256-VD5z9lKECglx77VYDUeI4iD6mbncSutSlavxY+f3OVo=";
hash = "sha256-ojPza3DeeAJgUO0OS1J5YXTtzNWqLUf6YiOG9hohc+A=";
};
build-system = [
@@ -7,8 +7,6 @@
defusedxml,
docker,
fetchFromGitHub,
numpy,
pillow,
pkg-config,
pycountry,
pytest-asyncio,
@@ -16,7 +14,6 @@
pytestCheckHook,
pythonOlder,
rustPlatform,
svg-py,
testfixtures,
xz,
}:
@@ -26,7 +23,7 @@ buildPythonPackage rec {
version = "12.3.1";
pyproject = true;
disabled = pythonOlder "3.12";
disabled = pythonOlder "3.13";
src = fetchFromGitHub {
owner = "DeebotUniverse";
@@ -45,13 +42,12 @@ buildPythonPackage rec {
"defusedxml"
];
build-system = with rustPlatform; [
cargoSetupHook
maturinBuildHook
nativeBuildInputs = [
pkg-config
rustPlatform.cargoSetupHook
rustPlatform.maturinBuildHook
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ xz ];
dependencies = [
@@ -59,9 +55,6 @@ buildPythonPackage rec {
aiomqtt
cachetools
defusedxml
numpy
pillow
svg-py
];
nativeCheckInputs = [
@@ -4,7 +4,6 @@
fetchFromGitHub,
setuptools,
bleak,
construct,
construct-typing,
pytest-asyncio,
pytestCheckHook,
@@ -26,7 +25,6 @@ buildPythonPackage rec {
dependencies = [
bleak
construct
construct-typing
];
@@ -1,45 +1,69 @@
{
lib,
aiofiles,
aiohttp,
aioresponses,
aiozoneinfo,
asyncclick,
buildPythonPackage,
click,
debugpy,
fetchFromGitHub,
hatchling,
pytest-asyncio,
pytest-freezer,
pytestCheckHook,
pythonOlder,
pyyaml,
syrupy,
voluptuous,
}:
buildPythonPackage rec {
pname = "evohome-async";
version = "0.4.21";
version = "1.0.2";
pyproject = true;
disabled = pythonOlder "3.11";
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "zxdavb";
repo = "evohome-async";
tag = version;
hash = "sha256-+tBqyg7E9wRC6oHq6Fv2vzIGtrHqZp8w/3x/xbacqWI=";
hash = "sha256-CpN0QAlUqCDy6hNkuNvbjQUee40BA0UqAleR+Omm9bA=";
};
nativeBuildInputs = [ hatchling ];
build-system = [ hatchling ];
propagatedBuildInputs = [
dependencies = [
aiohttp
click
aiozoneinfo
voluptuous
];
# Project has no tests
doCheck = false;
optional-dependencies = {
cli = [
aiofiles
asyncclick
debugpy
];
};
nativeCheckInputs = [
aioresponses
pytest-asyncio
pytest-freezer
pytestCheckHook
pyyaml
syrupy
] ++ optional-dependencies.cli;
pythonImportsCheck = [ "evohomeasync2" ];
meta = with lib; {
description = "Python client for connecting to Honeywell's TCC RESTful API";
homepage = "https://github.com/zxdavb/evohome-async";
license = with licenses; [ asl20 ];
changelog = "https://github.com/zxdavb/evohome-async/releases/tag/${version}";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
mainProgram = "evo-client";
};
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "fnv-hash-fast";
version = "1.2.3";
version = "1.2.6";
pyproject = true;
src = fetchFromGitHub {
owner = "bdraco";
repo = "fnv-hash-fast";
tag = "v${version}";
hash = "sha256-x1NiDHqXJb2tbsWBFS1xR+gM4LLpbCc6E8w1kTObSWA=";
hash = "sha256-u4DKOJcE/0bRZ+0kcdVoDx7e4HOA4VH8V0DzxQ/SZCo=";
};
build-system = [
@@ -0,0 +1,54 @@
{
buildPythonPackage,
fetchFromGitHub,
google-auth,
httpx,
lib,
pydantic,
pytestCheckHook,
requests,
setuptools,
typing-extensions,
websockets,
}:
buildPythonPackage rec {
pname = "google-genai";
version = "1.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "googleapis";
repo = "python-genai";
tag = "v${version}";
hash = "sha256-aVn23g67PW3Qge6ZI0lFoozdoWVRrISy29k4uvBKTBQ=";
};
build-system = [ setuptools ];
dependencies = [
google-auth
httpx
pydantic
requests
typing-extensions
websockets
];
pythonImportsCheck = [ "google.genai" ];
nativeCheckInputs = [
pytestCheckHook
];
# ValueError: GOOGLE_GENAI_REPLAYS_DIRECTORY environment variable is not set
doCheck = false;
meta = {
changelog = "https://github.com/googleapis/python-genai/blob/${src.tag}/CHANGELOG.md";
description = "Google Generative AI Python SDK";
homepage = "https://github.com/googleapis/python-genai";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -12,22 +12,23 @@
pytest-asyncio,
pytestCheckHook,
pythonOlder,
pyyaml,
requests-oauthlib,
setuptools,
}:
buildPythonPackage rec {
pname = "google-nest-sdm";
version = "7.1.3";
version = "7.1.4";
pyproject = true;
disabled = pythonOlder "3.10";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "allenporter";
repo = "python-google-nest-sdm";
tag = version;
hash = "sha256-iVdFl90nP2U5KGqFPvS7qHgSUQjlKnbfZTLq42y/Mrc=";
hash = "sha256-wE28+GqZGIhg/+JOnyn2hXw5ia0yg3RLywb1PqgkXw0=";
};
build-system = [ setuptools ];
@@ -38,6 +39,7 @@ buildPythonPackage rec {
google-auth-oauthlib
google-cloud-pubsub
mashumaro
pyyaml
requests-oauthlib
];
@@ -55,8 +57,6 @@ buildPythonPackage rec {
disabledTests = [
"test_clip_preview_transcode"
"test_event_manager_event_expiration_with_transcode"
# AssertionError: assert '12345' == 12345
"test_info_traits_type_error"
];
meta = with lib; {
@@ -21,7 +21,7 @@
buildPythonPackage rec {
pname = "habluetooth";
version = "3.21.1";
version = "3.24.1";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = "habluetooth";
tag = "v${version}";
hash = "sha256-r7pDQ0CoLXpiIMPi0SA/gHByKhFzkEhGCiS52bvhT4c=";
hash = "sha256-/aLldKbww60XRmTtGd7zTt1KCk7OZsHzJ74vhM215Vk=";
};
build-system = [
@@ -5,7 +5,6 @@
pythonOlder,
# build-system
cython,
poetry-core,
setuptools,
@@ -14,12 +13,13 @@
# tests
bleak,
pytest-cov-stub,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "home-assistant-bluetooth";
version = "1.13.0";
version = "1.13.1";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -28,16 +28,10 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = "home-assistant-bluetooth";
tag = "v${version}";
hash = "sha256-+2bw4im09TyjJ5/7ct42ZCFwU7yKWQnbSo7b+44VtpE=";
hash = "sha256-piX812Uzd2F8A8+IF/17N+xy6ENpfRVJ1BxsAxL5aj0=";
};
postPatch = ''
# drop pytest parametrization (coverage, etc.)
sed -i '/addopts/d' pyproject.toml
'';
build-system = [
cython
poetry-core
setuptools
];
@@ -46,16 +40,17 @@ buildPythonPackage rec {
nativeCheckInputs = [
bleak
pytest-cov-stub
pytestCheckHook
];
pythonImportsCheck = [ "home_assistant_bluetooth" ];
meta = with lib; {
meta = {
description = "Basic bluetooth models used by Home Assistant";
changelog = "https://github.com/home-assistant-libs/home-assistant-bluetooth/blob/v${version}/CHANGELOG.md";
changelog = "https://github.com/home-assistant-libs/home-assistant-bluetooth/blob/${src.tag}/CHANGELOG.md";
homepage = "https://github.com/home-assistant-libs/home-assistant-bluetooth";
license = licenses.asl20;
maintainers = teams.home-assistant.members;
license = lib.licenses.asl20;
maintainers = lib.teams.home-assistant.members;
};
}
@@ -0,0 +1,51 @@
{
aiohttp,
aioresponses,
buildPythonPackage,
fetchFromGitHub,
lib,
poetry-core,
pytest-asyncio,
pytestCheckHook,
yarl,
}:
buildPythonPackage rec {
pname = "iometer";
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "iometer-gmbh";
repo = "iometer.py";
tag = "v${version}";
hash = "sha256-+Ox9FlS2mswCt2jaJfKuvt21byjUrnCYp3vcv1D83Rs=";
};
build-system = [ poetry-core ];
dependencies = [
aiohttp
yarl
];
pythonImportsCheck = [ "iometer" ];
nativeCheckInputs = [
aioresponses
pytest-asyncio
pytestCheckHook
];
pytestFlagsArray = [
"tests/test.py"
];
meta = {
changelog = "https://github.com/iometer-gmbh/iometer.py/releases/tag/${src.tag}";
description = "Python client for interacting with IOmeter devices over HTTP";
homepage = "https://github.com/iometer-gmbh/iometer.py";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "music-assistant-client";
version = "1.0.8";
version = "1.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "music-assistant";
repo = "client";
rev = version;
hash = "sha256-QE2PQeXCAq7+iMomCZK+UmrPUApJxwKi/pzCaLJVS/4=";
tag = version;
hash = "sha256-KAvNPG3gMJK/iWqen35UCmSccjOkvfrmMvx4YkrOPy8=";
};
postPatch = ''
@@ -32,8 +32,6 @@ buildPythonPackage rec {
build-system = [ setuptools ];
pythonRelaxDeps = [ "music-assistant-models" ];
dependencies = [
aiohttp
music-assistant-models
@@ -49,7 +47,7 @@ buildPythonPackage rec {
meta = {
description = "Python client to interact with the Music Assistant Server API";
homepage = "https://github.com/music-assistant/client";
changelog = "https://github.com/music-assistant/client/blob/${src.rev}/CHANGELOG.md";
changelog = "https://github.com/music-assistant/client/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ];
};
@@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "music-assistant-models";
version = "1.1.3"; # Must be compatible with music-assistant-client package
version = "1.1.30"; # Must be compatible with music-assistant-client package
pyproject = true;
src = fetchFromGitHub {
owner = "music-assistant";
repo = "models";
tag = "v${version}";
hash = "sha256-FbnwUfAwCwwBKqEUtb2ZBxHehFwJdr9YkuWKox018BY=";
tag = version;
hash = "sha256-ZLTRHarjVFAk+tYPkgLm192rE+C82vNzqs8PmJhGSeg=";
};
postPatch = ''
@@ -4,6 +4,7 @@
buildPythonPackage,
orjson,
fetchFromGitHub,
propcache,
pytest-asyncio,
pytestCheckHook,
pythonOlder,
@@ -13,7 +14,7 @@
buildPythonPackage rec {
pname = "nexia";
version = "2.1.0";
version = "2.2.1";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -22,19 +23,15 @@ buildPythonPackage rec {
owner = "bdraco";
repo = "nexia";
tag = version;
hash = "sha256-bW3eFPs7sX3Z5ZH87orIg0HICXQiFtLqyLKFgpSCzJ0=";
hash = "sha256-4UcyCyqK5sEoQNaAWnD+FIEjA+56NKez5wXCQMO8esM=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace '"setuptools>=75.8.0"' ""
'';
build-system = [ setuptools ];
dependencies = [
orjson
aiohttp
orjson
propcache
];
nativeCheckInputs = [
@@ -2,28 +2,23 @@
buildPythonPackage,
fetchFromGitHub,
lib,
nclib,
setuptools,
}:
buildPythonPackage rec {
pname = "nhc";
version = "0.3.9";
version = "0.4.10";
pyproject = true;
src = fetchFromGitHub {
owner = "vandeurenglenn";
repo = "nhc";
tag = "v${version}";
hash = "sha256-OoWRAELy6w+LVfhBJyKReQUYD/yr4POFH+ScOgp3xyU=";
hash = "sha256-oweR7SX8ltL49JJJK3yRNnXL952kEbcLVnmIYXRcLUA=";
};
build-system = [ setuptools ];
dependencies = [
nclib
];
pythonImportsCheck = [ "nhc" ];
# upstream has no test
@@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "ohme";
version = "1.2.9";
version = "1.3.2";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "dan-r";
repo = "ohmepy";
tag = "v${version}";
hash = "sha256-wsYANCe32LG2rAWhMt8x51pHVTZVcgR+0aBTjY56tnE=";
hash = "sha256-d4d/3/2c8ML/V06kT5iTHavTEDdobZdvNdynSvIFr14=";
};
build-system = [ setuptools ];
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "onedrive-personal-sdk";
version = "0.0.11";
version = "0.0.13";
pyproject = true;
src = fetchFromGitHub {
owner = "zweckj";
repo = "onedrive-personal-sdk";
tag = "v${version}";
hash = "sha256-4/v1kAgpg/D7HPTirS+HBs46Vs/OK81MzUW8ixhzU+Y=";
hash = "sha256-uR3uqMgRGY3KNWZtNO2OIM2/LcZKyeWvhnFuQvmgPrE=";
};
build-system = [ setuptools ];
@@ -1,42 +0,0 @@
{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
isPy3k,
pytestCheckHook,
mock,
six,
}:
buildPythonPackage rec {
pname = "paho-mqtt";
version = "1.6.1";
format = "setuptools";
src = fetchFromGitHub {
owner = "eclipse";
repo = "paho.mqtt.python";
rev = "v${version}";
hash = "sha256-9nH6xROVpmI+iTKXfwv2Ar1PAmWbEunI3HO0pZyK6Rg=";
};
nativeCheckInputs = [
pytestCheckHook
six
] ++ lib.optionals (!isPy3k) [ mock ];
doCheck = !stdenv.hostPlatform.isDarwin;
pythonImportsCheck = [ "paho.mqtt" ];
meta = with lib; {
description = "MQTT version 3.1.1 client class";
homepage = "https://eclipse.org/paho";
license = licenses.epl10;
maintainers = with maintainers; [
mog
dotlambda
];
};
}
@@ -17,16 +17,16 @@
buildPythonPackage rec {
pname = "plugwise";
version = "1.6.4";
version = "1.7.2";
pyproject = true;
disabled = pythonOlder "3.11";
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "plugwise";
repo = "python-plugwise";
tag = "v${version}";
hash = "sha256-mzMa+i+DESgOo67SIUBofeY+KoEWdFCcNac7oqEZFgU=";
hash = "sha256-WuEVLpFQlPiCYNbAGy3IIOmcbm9MertEQ4tlbd/8OqQ=";
};
postPatch = ''
@@ -58,7 +58,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python module for Plugwise Smiles, Stretch and USB stick";
homepage = "https://github.com/plugwise/python-plugwise";
changelog = "https://github.com/plugwise/python-plugwise/releases/tag/v${version}";
changelog = "https://github.com/plugwise/python-plugwise/releases/tag/${src.tag}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
@@ -2,6 +2,7 @@
lib,
aiofiles,
aiohttp,
awesomeversion,
buildPythonPackage,
fetchFromGitHub,
pytest-asyncio,
@@ -12,7 +13,7 @@
buildPythonPackage rec {
pname = "py-synologydsm-api";
version = "2.6.3";
version = "2.7.0";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -21,7 +22,7 @@ buildPythonPackage rec {
owner = "mib1185";
repo = "py-synologydsm-api";
tag = "v${version}";
hash = "sha256-BkkI2dhzf58vBoT6UhBsn6MyS7KvYo70C80ZLGOJG08=";
hash = "sha256-Zou0l/t9dWls2GKxcU3SDPxb0RaI2emyg07xLyengDo=";
};
build-system = [ setuptools ];
@@ -29,6 +30,7 @@ buildPythonPackage rec {
dependencies = [
aiofiles
aiohttp
awesomeversion
];
nativeCheckInputs = [
@@ -2,33 +2,39 @@
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
poetry-core,
poetry-dynamic-versioning,
pytest-asyncio,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "pybalboa";
version = "1.0.2";
format = "pyproject";
disabled = pythonOlder "3.8";
version = "1.1.3";
pyproject = true;
src = fetchFromGitHub {
owner = "garbled1";
repo = pname;
tag = version;
hash = "sha256-rSY6kU7F9ybpPXcmTM2WBazjb9tI2+8dG56pjrRXcKg=";
repo = "pybalboa";
# missing tag: https://github.com/garbled1/pybalboa/issues/100
rev = "6aa7e3c401ab03b93c083acdf430afb708e20e9b";
hash = "sha256-xOMbMmTTDDbd0WL0LFJ6lztsQMdI/r9MLhV9DmB6m3I=";
};
nativeBuildInputs = [ poetry-core ];
build-system = [
poetry-core
poetry-dynamic-versioning
];
# Project has no tests
doCheck = false;
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [ "pybalboa" ];
meta = with lib; {
description = " Python module to interface with a Balboa Spa";
description = "Module to communicate with a Balboa spa wifi adapter";
homepage = "https://github.com/garbled1/pybalboa";
changelog = "https://github.com/garbled1/pybalboa/releases/tag/${version}";
license = licenses.asl20;
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "pyfronius";
version = "0.7.5";
version = "0.7.6";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "nielstron";
repo = "pyfronius";
tag = version;
hash = "sha256-dwqFT6UuXYTTaJxDTe5sH8FJxANw6pJakOadHplBFog=";
hash = "sha256-zyRcMueKZbk2QWhF3d500NUpvljikO8fsDnePy6Tq90=";
};
build-system = [ setuptools ];
@@ -0,0 +1,40 @@
{
buildPythonPackage,
fetchFromGitHub,
hatchling,
lib,
paho-mqtt,
voluptuous,
}:
buildPythonPackage rec {
pname = "pypglab";
version = "0.0.3";
pyproject = true;
src = fetchFromGitHub {
owner = "pglab-electronics";
repo = "pypglab";
tag = version;
hash = "sha256-b+o98DrTK1HBKvRfTjdJ1MkdUHEg/TaQZhoLR7URZ0c=";
};
build-system = [ hatchling ];
dependencies = [
voluptuous
paho-mqtt
];
pythonImportsCheck = [ "pypglab" ];
# tests require physical hardware
doCheck = false;
meta = {
description = "Asynchronous Python library to communicate with PG LAB Electronics devices over MQTT";
homepage = "https://github.com/pglab-electronics/pypglab";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "pyrisco";
version = "0.6.6";
version = "0.6.7";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "OnFreund";
repo = "pyrisco";
tag = "v${version}";
hash = "sha256-iPtrpxssDEZTlxGtZ0xa1pfzN7wQu1gcQUl4zXPBhm8=";
hash = "sha256-mZzTFISw2CzGu6AhXSt6LtbXuKqCTc6B6wNKnI3pA4o=";
};
build-system = [ setuptools ];
@@ -1,40 +1,51 @@
{
lib,
aiohttp,
aioresponses,
aiosseclient,
buildPythonPackage,
fetchFromGitHub,
mashumaro,
orjson,
poetry-core,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
pythonOlder,
syrupy,
yarl,
}:
buildPythonPackage rec {
pname = "pysmartthings";
version = "0.7.8";
format = "setuptools";
version = "2.5.0";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "andrewsayre";
repo = pname;
rev = version;
hash = "sha256-r+f2+vEXJdQGDlbs/MhraFgEmsAf32PU282blLRLjzc=";
repo = "pysmartthings";
rev = "v${version}";
hash = "sha256-0D0si3VBGtnQ8+kUKiquPo/IJXeBgR7SFc/1nxhiPvw=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "aiohttp>=3.8.0,<4.0.0" "aiohttp<=4.0.0"
'';
build-system = [ poetry-core ];
propagatedBuildInputs = [ aiohttp ];
# https://github.com/andrewsayre/pysmartthings/issues/80
doCheck = lib.versionOlder aiohttp.version "3.9.0";
dependencies = [
aiohttp
aiosseclient
mashumaro
orjson
yarl
];
nativeCheckInputs = [
aioresponses
pytest-asyncio
pytest-cov-stub
pytestCheckHook
syrupy
];
pythonImportsCheck = [ "pysmartthings" ];
@@ -42,7 +53,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python library for interacting with the SmartThings cloud API";
homepage = "https://github.com/andrewsayre/pysmartthings";
changelog = "https://github.com/andrewsayre/pysmartthings/releases/tag/${version}";
changelog = "https://github.com/andrewsayre/pysmartthings/releases/tag/v${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
@@ -0,0 +1,49 @@
{
aiohttp,
aresponses,
buildPythonPackage,
fetchFromGitHub,
freezegun,
lib,
poetry-core,
pytest-cov-stub,
pytestCheckHook,
syrupy,
}:
buildPythonPackage rec {
pname = "pysmhi";
version = "1.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "gjohansson-ST";
repo = "pysmhi";
tag = "v${version}";
hash = "sha256-QwL4WkKrp1CWvJQK/H0iua2Eupe3FvZ4WkYV8OtONhI=";
};
build-system = [ poetry-core ];
dependencies = [
aiohttp
];
pythonImportsCheck = [ "pysmhi" ];
nativeCheckInputs = [
aresponses
freezegun
pytest-cov-stub
pytestCheckHook
syrupy
];
meta = {
changelog = "https://github.com/gjohansson-ST/pysmhi/releases/tag/${src.tag}";
description = "Retrieve open data from SMHI api";
homepage = "https://github.com/gjohansson-ST/pysmhi";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -2,6 +2,7 @@
aiohttp,
aiohttp-sse-client2,
aresponses,
awesomeversion,
buildPythonPackage,
fetchFromGitHub,
lib,
@@ -13,14 +14,14 @@
buildPythonPackage rec {
pname = "pysmlight";
version = "0.1.7";
version = "0.2.3";
pyproject = true;
src = fetchFromGitHub {
owner = "smlight-tech";
repo = "pysmlight";
tag = "v${version}";
hash = "sha256-gEqsCHe8U1p1uKarCzzppFAKC5OGNUJk/Hif5VXnojw=";
hash = "sha256-9aJ69t+zuWsmU9JIYgz12DRxFkhUCrrA0lBaUFbsEVM=";
};
build-system = [ poetry-core ];
@@ -28,6 +29,7 @@ buildPythonPackage rec {
dependencies = [
aiohttp
aiohttp-sse-client2
awesomeversion
mashumaro
];
@@ -1,32 +0,0 @@
{
lib,
buildPythonPackage,
fetchPypi,
requests,
}:
buildPythonPackage rec {
pname = "python-picnic-api";
version = "1.1.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "1axqw4bs3wa9mdac35h7r25v3i5g7v55cvyy48c4sg31dxnr4wcp";
};
propagatedBuildInputs = [ requests ];
# Project doesn't ship tests
# https://github.com/MikeBrink/python-picnic-api/issues/13
doCheck = false;
pythonImportsCheck = [ "python_picnic_api" ];
meta = with lib; {
description = "Python wrapper for the Picnic API";
homepage = "https://github.com/MikeBrink/python-picnic-api";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}
@@ -0,0 +1,54 @@
{
buildPythonPackage,
fetchFromGitHub,
lib,
poetry-core,
pytestCheckHook,
python-dotenv,
requests,
typing-extensions,
}:
buildPythonPackage rec {
pname = "python-picnic-api2";
version = "1.2.2";
pyproject = true;
src = fetchFromGitHub {
owner = "codesalatdev";
repo = "python-picnic-api";
tag = "v${version}";
hash = "sha256-pO0aIdMKSC8AT/Bu5axl1NZbbF8IM/cOygLRT8eRKlU=";
};
build-system = [ poetry-core ];
dependencies = [
requests
typing-extensions
];
pythonImportsCheck = [ "python_picnic_api2" ];
nativeCheckInputs = [
pytestCheckHook
];
disabledTestPaths = [
# tests access the actual API
"integration_tests"
];
disabledTests = [
# tests don't expect requests to come with the br transfer-encoding
"test_update_auth_token"
];
meta = {
changelog = "https://github.com/codesalatdev/python-picnic-api/releases/tag/${src.tag}";
description = "Fork of the Unofficial Python wrapper for the Picnic API";
homepage = "https://github.com/codesalatdev/python-picnic-api";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -0,0 +1,48 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
poetry-core,
aiohttp,
freenub,
mashumaro,
}:
buildPythonPackage rec {
pname = "python-snoo";
version = "0.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Lash-L";
repo = "python-snoo";
tag = "v${version}";
hash = "sha256-d08aISGFAq5iUqH1AdPg4vkg+zNWpVtM0wmEN/xJD1w=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail poetry-core==1.8.0 poetry-core
'';
build-system = [ poetry-core ];
dependencies = [
aiohttp
freenub
mashumaro
];
pythonImportsCheck = [ "python_snoo" ];
# upstream has no tests
doCheck = false;
meta = {
changelog = "https://github.com/Lash-L/python-snoo/blob/${src.tag}/CHANGELOG.md";
description = "Control Snoo devices via python and get auto updates";
homepage = "https://github.com/Lash-L/python-snoo";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -9,6 +9,7 @@
fetchFromGitHub,
poetry-core,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
pythonOlder,
yarl,
@@ -16,7 +17,7 @@
buildPythonPackage rec {
pname = "python-technove";
version = "1.3.1";
version = "2.0.0";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -25,17 +26,12 @@ buildPythonPackage rec {
owner = "Moustachauve";
repo = "pytechnove";
tag = "v${version}";
hash = "sha256-umtM2fIyEiimt/X2SvgqjaTYGutvJHkSJ3pRfwSbOfQ=";
hash = "sha256-LgrydBgx68HP8yaywkMMeS71VqhilYGODppBZbdkssQ=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "--cov" ""
'';
build-system = [ poetry-core ];
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [
dependencies = [
aiohttp
awesomeversion
backoff
@@ -46,6 +42,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
aresponses
pytest-asyncio
pytest-cov-stub
pytestCheckHook
];
@@ -54,7 +51,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python library to interact with TechnoVE local device API";
homepage = "https://github.com/Moustachauve/pytechnove";
changelog = "https://github.com/Moustachauve/pytechnove/releases/tag/v${version}";
changelog = "https://github.com/Moustachauve/pytechnove/releases/tag/${src.tag}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
@@ -0,0 +1,48 @@
{
buildPythonPackage,
faust-cchardet,
fetchFromGitHub,
httplib2,
lib,
pytestCheckHook,
setuptools,
}:
buildPythonPackage rec {
pname = "pytouchline-extended";
version = "0.4.5";
pyproject = true;
src = fetchFromGitHub {
owner = "brondum";
repo = "pytouchline";
tag = version;
hash = "sha256-fcqm5fRuxB4YQkP48UclGgo4KohXu2OU7w1Nr6i9c6s=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail '$GITHUB_REF_NAME' '${version}'
'';
build-system = [ setuptools ];
dependencies = [
faust-cchardet
httplib2
];
pythonImportsCheck = [ "pytouchline_extended" ];
nativeCheckInputs = [
pytestCheckHook
];
meta = {
changelog = "https://github.com/brondum/pytouchline/releases/tag/${src.tag}";
description = "Roth Touchline interface library";
homepage = "https://github.com/brondum/pytouchline";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "securetar";
version = "2025.1.4";
version = "2025.2.1";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "pvizeli";
repo = "securetar";
tag = version;
hash = "sha256-vI9u8CUf9rdJwx+Q3ypO9XS/jfRxZV5EOjvKSmQSNa0=";
hash = "sha256-uVzyVgS8bWxS7jhwVyv7wTNF8REW+dJIhkRaS/8/FmY=";
};
build-system = [ setuptools ];
@@ -0,0 +1,55 @@
{
aiohttp,
buildPythonPackage,
fetchFromGitHub,
lib,
pydantic,
pytestCheckHook,
python-dateutil,
setuptools,
urllib3,
}:
buildPythonPackage rec {
pname = "sensorpush-api";
version = "2.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "sstallion";
repo = "sensorpush-api";
tag = "v${version}";
hash = "sha256-Gkvd0MbySk4jdl+hJd0wFGqj2/qOkq/jThe+5b4n0XM=";
};
build-system = [ setuptools ];
pythonRelaxDeps = [
"urllib3"
];
pythonRemoveDeps = [
"aenum" # https://github.com/sstallion/sensorpush-api/pull/3
];
dependencies = [
aiohttp
pydantic
python-dateutil
urllib3
];
pythonImportsCheck = [ "sensorpush_api" ];
nativeCheckInputs = [
pytestCheckHook
];
meta = {
changelog = "https://github.com/sstallion/sensorpush-api/blob/${src.tag}/CHANGELOG.md";
description = "SensorPush Public API for Python";
homepage = "https://github.com/sstallion/sensorpush-api";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -0,0 +1,41 @@
{
buildPythonPackage,
fetchFromGitHub,
lib,
pydantic,
sensorpush-api,
setuptools,
}:
buildPythonPackage rec {
pname = "sensorpush-ha";
version = "1.3.2";
pyproject = true;
src = fetchFromGitHub {
owner = "sstallion";
repo = "sensorpush-ha";
tag = "v${version}";
hash = "sha256-Gs6WprGscr9fiu78S0OY6624LA87Of7OWkNNnaWIxJk=";
};
build-system = [ setuptools ];
dependencies = [
pydantic
sensorpush-api
];
pythonImportsCheck = [ "sensorpush_ha" ];
# upstream has no tests
doCheck = false;
meta = {
changelog = "https://github.com/sstallion/sensorpush-ha/blob/${src.tag}/CHANGELOG.md";
description = "SensorPush Cloud Home Assistant Library";
homepage = "https://github.com/sstallion/sensorpush-ha";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "soco";
version = "0.30.8";
version = "0.30.9";
pyproject = true;
disabled = pythonOlder "3.6";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "SoCo";
repo = "SoCo";
tag = "v${version}";
hash = "sha256-RuPWxa4FC+5knkC9tlUHvk5jtE5jso+6L7JDGXIimKA=";
hash = "sha256-nyzrBvl6VnNA8cMYtKIvB7k95g5AUixz93Ptc8rQ2pM=";
};
build-system = [ setuptools ];
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "stookwijzer";
version = "1.5.4";
version = "1.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "fwestenberg";
repo = "stookwijzer";
tag = "v${version}";
hash = "sha256-ZbXXpmyu4sczYlM0rFn1xIUYmQtxLv4SiQrk8qox8Dk=";
hash = "sha256-T4u3KuKWAXRkHbjPt4qkiisnLjx9JMD0DW6enOlu69g=";
};
build-system = [ setuptools ];
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "tesla-fleet-api";
version = "0.9.10";
version = "0.9.12";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "Teslemetry";
repo = "python-tesla-fleet-api";
tag = "v${version}";
hash = "sha256-JKXGQJwFmcG2+suHpd8LuEgtlpNV6YzxrGBIa8A7InI=";
hash = "sha256-1ir1x/uvcVoad82KaGAMm/S52MT7E5SkiTnUH2cWV34=";
};
build-system = [ setuptools ];
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "thinqconnect";
version = "1.0.3";
version = "1.0.4";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "thinq-connect";
repo = "pythinqconnect";
tag = version;
hash = "sha256-p2EY1DeLxmXcfohN4e4I7I+SNkabEr37ZC2ka1CT7/s=";
hash = "sha256-LVmvJvGbiPPg+WlrTOYueNCNZNjldWJVC+OqFl9CcK0=";
};
build-system = [ setuptools ];
@@ -37,6 +37,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "thinqconnect" ];
meta = {
changelog = "https://github.com/thinq-connect/pythinqconnect/blob/${src.tag}/RELEASE_NOTES.md";
description = "Module to interacting with the LG ThinQ Connect Open API";
homepage = "https://github.com/thinq-connect/pythinqconnect";
license = lib.licenses.asl20;
@@ -2,16 +2,16 @@
lib,
buildPythonPackage,
fetchFromGitHub,
hatchling,
pyserial-asyncio-fast,
pytestCheckHook,
pythonOlder,
pytz,
poetry-core,
}:
buildPythonPackage rec {
pname = "upb-lib";
version = "0.5.9";
version = "0.6.0";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -20,10 +20,10 @@ buildPythonPackage rec {
owner = "gwww";
repo = "upb-lib";
tag = version;
hash = "sha256-GnNzKU4mqBu2pUOju+4+HMLsTupd8s+nAAieixkBCDk=";
hash = "sha256-4RDatZXEwjNVbz1/ZNA6HY2fDHMq2dE/Huf4Ui3wU3c=";
};
build-system = [ poetry-core ];
build-system = [ hatchling ];
dependencies = [
pyserial-asyncio-fast
@@ -34,16 +34,11 @@ buildPythonPackage rec {
pythonImportsCheck = [ "upb_lib" ];
disabledTests = [
# AssertionError
"test_create_control_word_all"
];
meta = with lib; {
meta = {
description = "Library for interacting with UPB PIM";
homepage = "https://github.com/gwww/upb-lib";
changelog = "https://github.com/gwww/upb-lib/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ dotlambda ];
changelog = "https://github.com/gwww/upb-lib/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -7,28 +7,24 @@
fetchFromGitHub,
pydantic,
python-dateutil,
pythonOlder,
setuptools,
urllib3,
}:
buildPythonPackage rec {
pname = "weheat";
version = "2025.2.13";
version = "2025.2.27";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "wefabricate";
repo = "wh-python";
tag = version;
hash = "sha256-YXo+pwgCjw2CWUCS9DY9jaLjhj+q+ZqfW3uh1aSXnM0=";
hash = "sha256-DrBOx++Rp/5s8sU07+/cuy2Je27i84WCY3/mljLfawk=";
};
pythonRelaxDeps = [
"urllib3"
"pydantic"
];
build-system = [ setuptools ];
@@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "zeroconf";
version = "0.144.1";
version = "0.145.1";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "jstasiak";
repo = "python-zeroconf";
tag = version;
hash = "sha256-OpylhsMjM7Xc1/vVv2kNuxeO7XknjQjJ8jFVS2+3188=";
hash = "sha256-tQjQ34746aeRz4gead3LcyfCF0L0iaJeQcDdqDW4gD8=";
};
build-system = [
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "zha-quirks";
version = "0.0.133";
version = "0.0.134";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zha-device-handlers";
tag = version;
hash = "sha256-9nw9eEUzIIp679LSMRmO5kW5Qvz3vcL3AEXHdhNFtG8=";
hash = "sha256-9h9Fsn15/1fZIiZEyGPIzuyxmGs7L4PyEwH/K2cRSgU=";
};
postPatch = ''
@@ -54,7 +54,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "ZHA Device Handlers are custom quirks implementations for Zigpy";
homepage = "https://github.com/dmulcahey/zha-device-handlers";
changelog = "https://github.com/zigpy/zha-device-handlers/releases/tag/${version}";
changelog = "https://github.com/zigpy/zha-device-handlers/releases/tag/${src.tag}";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
platforms = platforms.linux;
@@ -27,7 +27,7 @@
buildPythonPackage rec {
pname = "zha";
version = "0.0.49";
version = "0.0.51";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zha";
tag = version;
hash = "sha256-QW/FrmZIRr2xt+a6Se9nEp4ttfhNJx79/qV9A+hmNSU=";
hash = "sha256-zcLhmUNjPgZNDcG1Nq2LrcW0hsvPvoFdZ6L9ejGPgaQ=";
};
postPatch = ''
@@ -27,7 +27,7 @@
buildPythonPackage rec {
pname = "zigpy";
version = "0.76.1";
version = "0.76.2";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zigpy";
tag = version;
hash = "sha256-ZPNMlaktdSElOfKf3SmI08RGRSpI5hK2khWoJybtJh4=";
hash = "sha256-FJ1mEo/+U0wqLRnmro34UVDwzVJXhI4aJtcvfDboPlc=";
};
postPatch = ''
@@ -2,7 +2,7 @@
# Do not edit!
{
version = "2025.2.5";
version = "2025.3.0";
components = {
"3_day_blinds" =
ps: with ps; [
@@ -280,6 +280,9 @@
"api" =
ps: with ps; [
];
"apollo_automation" =
ps: with ps; [
];
"appalachianpower" =
ps: with ps; [
];
@@ -493,6 +496,10 @@
ps: with ps; [
azure-servicebus
];
"azure_storage" =
ps: with ps; [
azure-storage-blob
];
"backup" =
ps: with ps; [
aiohasupervisor
@@ -770,6 +777,9 @@
ps: with ps; [
buienradar
];
"burbank_water_and_power" =
ps: with ps; [
];
"button" =
ps: with ps; [
];
@@ -1286,13 +1296,10 @@
]; # missing inputs: dweepy
"dynalite" =
ps: with ps; [
aiohasupervisor
cronsim
dynalite-devices
dynalite-panel
home-assistant-frontend
pillow
securetar
];
"eafm" =
ps: with ps; [
@@ -1780,8 +1787,9 @@
];
"forked_daapd" =
ps: with ps; [
pylibrespot-java
spotifyaio
]; # missing inputs: pyforked-daapd pylibrespot-java
]; # missing inputs: pyforked-daapd
"fortios" =
ps: with ps; [
fortiosapi
@@ -1834,11 +1842,8 @@
];
"frontend" =
ps: with ps; [
aiohasupervisor
cronsim
home-assistant-frontend
pillow
securetar
];
"frontier_silicon" =
ps: with ps; [
@@ -2020,7 +2025,7 @@
];
"google_generative_ai_conversation" =
ps: with ps; [
google-generativeai
google-genai
ha-ffmpeg
hassil
home-assistant-intents
@@ -2179,6 +2184,9 @@
ps: with ps; [
heatmiserv3
];
"heicko" =
ps: with ps; [
];
"heiwa" =
ps: with ps; [
];
@@ -2241,7 +2249,7 @@
];
"home_connect" =
ps: with ps; [
homeconnect
aiohomeconnect
];
"home_plus_control" =
ps: with ps; [
@@ -2623,15 +2631,12 @@
];
"insteon" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
cronsim
home-assistant-frontend
insteon-frontend-home-assistant
pillow
pyinsteon
pyserial
securetar
];
"integration" =
ps: with ps; [
@@ -2650,6 +2655,10 @@
ps: with ps; [
pyintesishome
];
"iometer" =
ps: with ps; [
iometer
];
"ios" =
ps: with ps; [
ifaddr
@@ -2887,12 +2896,9 @@
];
"knx" =
ps: with ps; [
aiohasupervisor
cronsim
home-assistant-frontend
knx-frontend
pillow
securetar
xknx
xknxproject
];
@@ -2987,13 +2993,10 @@
];
"lcn" =
ps: with ps; [
aiohasupervisor
cronsim
home-assistant-frontend
lcn-frontend
pillow
pypck
securetar
];
"ld2410_ble" =
ps: with ps; [
@@ -3125,6 +3128,9 @@
ps: with ps; [
limitlessled
];
"linak" =
ps: with ps; [
];
"linear_garage_door" =
ps: with ps; [
linear-garage-door
@@ -3144,6 +3150,9 @@
ps: with ps; [
batinfo
];
"linx" =
ps: with ps; [
];
"lirc" =
ps: with ps; [
]; # missing inputs: python-lirc
@@ -3185,13 +3194,10 @@
];
"logbook" =
ps: with ps; [
aiohasupervisor
cronsim
fnv-hash-fast
home-assistant-frontend
pillow
psutil-home-assistant
securetar
sqlalchemy
];
"logentries" =
@@ -3228,10 +3234,7 @@
];
"lovelace" =
ps: with ps; [
aiohasupervisor
cronsim
pillow
securetar
];
"luci" =
ps: with ps; [
@@ -3686,11 +3689,8 @@
];
"my" =
ps: with ps; [
aiohasupervisor
cronsim
home-assistant-frontend
pillow
securetar
];
"myq" =
ps: with ps; [
@@ -3968,10 +3968,7 @@
];
"onboarding" =
ps: with ps; [
aiohasupervisor
cronsim
pillow
securetar
];
"oncue" =
ps: with ps; [
@@ -4120,14 +4117,12 @@
ps: with ps; [
aiohasupervisor
aiousbwatcher
cronsim
ifaddr
pillow
psutil-home-assistant
pyroute2
pyserial
python-otbr-api
securetar
universal-silabs-flasher
zeroconf
zha
@@ -4203,11 +4198,8 @@
];
"panel_custom" =
ps: with ps; [
aiohasupervisor
cronsim
home-assistant-frontend
pillow
securetar
];
"pcs_lighting" =
ps: with ps; [
@@ -4248,6 +4240,12 @@
"pge" =
ps: with ps; [
];
"pglab" =
ps: with ps; [
aiohasupervisor
paho-mqtt
pypglab
];
"philips_js" =
ps: with ps; [
ha-philipsjs
@@ -4258,7 +4256,7 @@
];
"picnic" =
ps: with ps; [
python-picnic-api
python-picnic-api2
];
"picotts" =
ps: with ps; [
@@ -5023,6 +5021,11 @@
sensorpush-ble
zeroconf
];
"sensorpush_cloud" =
ps: with ps; [
sensorpush-api
sensorpush-ha
];
"sensoterra" =
ps: with ps; [
sensoterra
@@ -5188,25 +5191,15 @@
ps: with ps; [
smart-meter-texas
];
"smart_rollos" =
ps: with ps; [
];
"smarther" =
ps: with ps; [
];
"smartthings" =
ps: with ps; [
aiohasupervisor
cronsim
ha-ffmpeg
hass-nabucasa
hassil
home-assistant-intents
mutagen
pymicro-vad
pysmartapp
pysmartthings
pyspeex-noise
python-matter-server
pyturbojpeg
securetar
];
"smarttub" =
ps: with ps; [
@@ -5217,7 +5210,7 @@
]; # missing inputs: pysmarty2
"smhi" =
ps: with ps; [
smhi-pkg
pysmhi
];
"smlight" =
ps: with ps; [
@@ -5246,6 +5239,10 @@
ps: with ps; [
pysnmp
];
"snoo" =
ps: with ps; [
python-snoo
];
"snooz" =
ps: with ps; [
aioesphomeapi
@@ -5351,6 +5348,8 @@
];
"sql" =
ps: with ps; [
fnv-hash-fast
psutil-home-assistant
sqlalchemy
sqlparse
];
@@ -5839,7 +5838,8 @@
];
"touchline" =
ps: with ps; [
]; # missing inputs: pytouchline
pytouchline-extended
];
"touchline_sl" =
ps: with ps; [
pytouchlinesl
@@ -5964,6 +5964,9 @@
"ubiwizz" =
ps: with ps; [
];
"ublockout" =
ps: with ps; [
];
"ubus" =
ps: with ps; [
openwrt-ubus-rpc
@@ -6221,6 +6224,10 @@
ps: with ps; [
apple-weatherkit
];
"webdav" =
ps: with ps; [
aiowebdav2
];
"webhook" =
ps: with ps; [
];
@@ -6520,10 +6527,8 @@
ps: with ps; [
aiohasupervisor
aiousbwatcher
cronsim
pillow
pyserial
securetar
universal-silabs-flasher
zha
];
@@ -6634,6 +6639,7 @@
"azure_data_explorer"
"azure_devops"
"azure_event_hub"
"azure_storage"
"backup"
"baf"
"balboa"
@@ -6933,6 +6939,7 @@
"intellifire"
"intent"
"intent_script"
"iometer"
"ios"
"iotty"
"ipma"
@@ -7151,6 +7158,7 @@
"permobil"
"persistent_notification"
"person"
"pglab"
"philips_js"
"pi_hole"
"picnic"
@@ -7250,6 +7258,7 @@
"sensor"
"sensorpro"
"sensorpush"
"sensorpush_cloud"
"sensoterra"
"sentry"
"senz"
@@ -7285,6 +7294,7 @@
"snapcast"
"snips"
"snmp"
"snoo"
"snooz"
"solaredge"
"solarlog"
@@ -7440,6 +7450,7 @@
"weatherflow"
"weatherflow_cloud"
"weatherkit"
"webdav"
"webhook"
"webmin"
"webostv"
+21 -32
View File
@@ -45,17 +45,6 @@ let
];
});
aiomqtt = super.aiomqtt.overridePythonAttrs (rec {
version = "2.0.1";
src = fetchFromGitHub {
owner = "sbtinstruments";
repo = "aiomqtt";
tag = "v${version}";
hash = "sha256-bV1elEO1518LVLwNDN5pzjxRgcG34K1XUsK7fTw8h+8=";
};
meta.broken = false;
});
aioskybell = super.aioskybell.overridePythonAttrs (oldAttrs: rec {
version = "22.7.0";
src = fetchFromGitHub {
@@ -129,13 +118,13 @@ let
build-system = with self; [ poetry-core ];
});
govee-local-api = super.govee-local-api.overridePythonAttrs (oldAttrs: rec {
version = "1.5.3";
google-genai = super.google-genai.overridePythonAttrs (old: rec {
version = "1.1.0";
src = fetchFromGitHub {
owner = "Galorhallen";
repo = "govee-local-api";
owner = "googleapis";
repo = "python-genai";
tag = "v${version}";
hash = "sha256-qBT0Xub+eL7rfF+lQWlheBJSahEKWjREGJQD6sHjTPk=";
hash = "sha256-CszKr2dvo0dLMAD/FZHSosCczeAFDD0xxKysGNv4RxM=";
};
});
@@ -168,16 +157,6 @@ let
];
});
letpot = super.letpot.overridePythonAttrs (rec {
version = "0.3.0";
src = fetchFromGitHub {
owner = "jpelgrom";
repo = "python-letpot";
tag = "v${version}";
hash = "sha256-OFLQ0DV7roqUlm6zJWAzMRpcmAi/oco8lEHbmfqNaVs=";
};
});
openhomedevice = super.openhomedevice.overridePythonAttrs (oldAttrs: rec {
version = "2.2";
src = fetchFromGitHub {
@@ -187,8 +166,6 @@ let
};
});
paho-mqtt = super.paho-mqtt_1;
pymelcloud = super.pymelcloud.overridePythonAttrs (oldAttrs: {
version = "2.5.9";
src = fetchFromGitHub {
@@ -284,6 +261,16 @@ let
};
});
pyopenweathermap = super.pyopenweathermap.overridePythonAttrs (old: rec {
version = "0.2.1";
src = fetchFromGitHub {
owner = "freekode";
repo = "pyopenweathermap";
tag = "v${version}";
hash = "sha256-UcnELAJf0Ltf0xJOlyzsHb4HQGSBTJ+/mOZ/XSTkA0w=";
};
});
pyrail = super.pyrail.overridePythonAttrs (rec {
version = "0.0.3";
src = fetchPypi {
@@ -395,7 +382,7 @@ let
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run update-component-packages.py after updating
hassVersion = "2025.2.5";
hassVersion = "2025.3.0";
in
python.pkgs.buildPythonApplication rec {
@@ -415,14 +402,14 @@ python.pkgs.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "home-assistant";
repo = "core";
rev = "refs/tags/${version}";
hash = "sha256-8adHpOiuWddgqQjInc92FjEwVyg2Rvgx7wNOj3+Kxsk=";
tag = version;
hash = "sha256-zMsJ/YAwMIdLDF256rxj63QsZD26p71SgYpf4zwzD1A=";
};
# Secondary source is pypi sdist for translations
sdist = fetchPypi {
inherit pname version;
hash = "sha256-JD2xus356qNzT5jqZOHr5gn4WGeC189rM83D81xVtWo=";
hash = "sha256-jsRIStPIbWXj24qjh9ZxH0QPN+zUOZeP6efRGYovUms=";
};
build-system = with python.pkgs; [
@@ -442,6 +429,7 @@ python.pkgs.buildPythonApplication rec {
"jinja2"
"orjson"
"pillow"
"propcache"
"pyjwt"
"pyopenssl"
"pyyaml"
@@ -642,6 +630,7 @@ python.pkgs.buildPythonApplication rec {
meta = with lib; {
homepage = "https://home-assistant.io/";
changelog = "https://github.com/home-assistant/core/releases/tag/${src.tag}";
description = "Open source home automation that puts local control and privacy first";
license = licenses.asl20;
maintainers = teams.home-assistant.members;
+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 = "20250221.0";
version = "20250305.0";
format = "wheel";
src = fetchPypi {
@@ -16,7 +16,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
hash = "sha256-SgNtsXtg/i9AO+xu5O0loDbAifO4rn1GRFE1LmeJLfU=";
hash = "sha256-tzyJp1aKOXnmANR7p6C3rtC90VkGntURiaRgIjL8dDM=";
};
# there is nothing to strip in this package
+2 -2
View File
@@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "home-assistant-intents";
version = "2025.2.5";
version = "2025.3.5";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
repo = "intents-package";
rev = "refs/tags/${version}";
fetchSubmodules = true;
hash = "sha256-x6B7UF6l9vMFscD8aPZ05N0HXo5d8XSONrrr6u+Ol3g=";
hash = "sha256-4FYmj6EqcNxPzXJVM0svyJIoeMSBnINNfvOda4B9Jic=";
};
build-system = [
+3
View File
@@ -433,6 +433,8 @@ mapAliases ({
opentracing = throw "The opentracing Python module was removed due to being unmaintained upstream. Use OpenTelemetry instead."; # Added 2024-12-09
ordereddict = throw "ordereddict has been removed because it is only useful on unsupported python versions."; # added 2022-05-28
pafy = throw "pafy has been removed because it is unmaintained and only a dependency of mps-youtube, itself superseded by yewtube"; # Added 2023-01-19
paho-mqtt_1 = throw "paho-mqtt_1 was removed because no package depends on it anymore"; # added 2025-03-05
paho-mqtt_2 = paho-mqtt; # added 2025-03-05
pam = python-pam; # added 2020-09-07.
PasteDeploy = pastedeploy; # added 2021-10-07
pathlib = throw "pathlib was removed as it has been integrated in python standard library in version 3.4"; # added 2024-05-13
@@ -517,6 +519,7 @@ mapAliases ({
pynose = throw "pynose was removed, because it violates the license of nose, by redistributing modified LGPL code under MIT.";
python-ethtool = ethtool; # added 2024-07-23
python-myq = throw "python-myq has been removed, as the service provider has decided to block its API requests"; # added 2023-12-07
python-picnic-api = throw "python-picnic-api was removed because Home Assistant switched to python-picnic-api2"; # added 2025-03-05
pytrends = throw "pytrends has been removed, as it no longer works and is abandoned upstream"; # added 2025-02-02
pyqt4 = throw "pyqt4 has been removed, because it depended on the long EOL qt4"; # added 2022-06-09
pyqt5_sip = pyqt5-sip; # added 2024-01-07
+20 -4
View File
@@ -487,6 +487,8 @@ self: super: with self; {
aioweenect = callPackage ../development/python-modules/aioweenect { };
aiowebdav2 = callPackage ../development/python-modules/aiowebdav2 { };
aiowebostv = callPackage ../development/python-modules/aiowebostv { };
aiowmi = callPackage ../development/python-modules/aiowmi { };
@@ -5577,6 +5579,8 @@ self: super: with self; {
inherit (pkgs) crc32c;
};
google-genai = callPackage ../development/python-modules/google-genai { };
google-generativeai = callPackage ../development/python-modules/google-generativeai { };
google-i18n-address = callPackage ../development/python-modules/google-i18n-address { };
@@ -6526,6 +6530,8 @@ self: super: with self; {
ioctl-opt = callPackage ../development/python-modules/ioctl-opt { };
iometer = callPackage ../development/python-modules/iometer { };
ionhash = callPackage ../development/python-modules/ionhash { };
ionoscloud = callPackage ../development/python-modules/ionoscloud { };
@@ -10158,9 +10164,7 @@ self: super: with self; {
paginate = callPackage ../development/python-modules/paginate { };
paho-mqtt_1 = callPackage ../development/python-modules/paho-mqtt/1.nix { };
paho-mqtt_2 = callPackage ../development/python-modules/paho-mqtt/default.nix { };
paho-mqtt = paho-mqtt_2;
paho-mqtt = callPackage ../development/python-modules/paho-mqtt/default.nix { };
paintcompiler = callPackage ../development/python-modules/paintcompiler { };
@@ -10579,6 +10583,8 @@ self: super: with self; {
pymeshlab = toPythonModule (pkgs.libsForQt5.callPackage ../applications/graphics/pymeshlab { });
pypglab = callPackage ../development/python-modules/pypglab { };
pyprecice = callPackage ../development/python-modules/pyprecice { };
pyprobables = callPackage ../development/python-modules/pyprobables { };
@@ -10964,6 +10970,8 @@ self: super: with self; {
pyskyqremote = callPackage ../development/python-modules/pyskyqremote { };
pysmhi = callPackage ../development/python-modules/pysmhi { };
pysolcast = callPackage ../development/python-modules/pysolcast { };
pystac = callPackage ../development/python-modules/pystac { };
@@ -11076,6 +11084,8 @@ self: super: with self; {
python-pptx = callPackage ../development/python-modules/python-pptx { };
python-snoo = callPackage ../development/python-modules/python-snoo { };
python-songpal = callPackage ../development/python-modules/python-songpal { };
python-swiftclient = callPackage ../development/python-modules/python-swiftclient { };
@@ -11099,6 +11109,8 @@ self: super: with self; {
pytorch3d = callPackage ../development/python-modules/pytorch3d { };
pytouchline-extended = callPackage ../development/python-modules/pytouchline-extended { };
pytouchlinesl = callPackage ../development/python-modules/pytouchlinesl { };
pyuca = callPackage ../development/python-modules/pyuca { };
@@ -13604,7 +13616,7 @@ self: super: with self; {
python-periphery = callPackage ../development/python-modules/python-periphery { };
python-picnic-api = callPackage ../development/python-modules/python-picnic-api { };
python-picnic-api2 = callPackage ../development/python-modules/python-picnic-api2 { };
python-pidfile = callPackage ../development/python-modules/python-pidfile { };
@@ -14948,8 +14960,12 @@ self: super: with self; {
sensorpro-ble = callPackage ../development/python-modules/sensorpro-ble { };
sensorpush-api = callPackage ../development/python-modules/sensorpush-api { };
sensorpush-ble = callPackage ../development/python-modules/sensorpush-ble { };
sensorpush-ha = callPackage ../development/python-modules/sensorpush-ha { };
sensoterra = callPackage ../development/python-modules/sensoterra { };
sentencepiece = callPackage ../development/python-modules/sentencepiece {