1{ 2 lib, 3 aiohttp, 4 buildPythonPackage, 5 fetchFromGitHub, 6 freezegun, 7 orjson, 8 pydevccu, 9 pytest-aiohttp, 10 pytest-socket, 11 pytestCheckHook, 12 python-slugify, 13 pythonOlder, 14 setuptools, 15 voluptuous, 16}: 17 18buildPythonPackage rec { 19 pname = "hahomematic"; 20 version = "2025.4.1"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.13"; 24 25 src = fetchFromGitHub { 26 owner = "SukramJ"; 27 repo = "hahomematic"; 28 tag = version; 29 hash = "sha256-cJpt5OjC2zXsKIxYZ+5TQORDuhLsQ+6MBzXD9ygG5Os="; 30 }; 31 32 __darwinAllowLocalNetworking = true; 33 34 postPatch = '' 35 substituteInPlace pyproject.toml \ 36 --replace-fail "setuptools==78.1.0" "setuptools" \ 37 ''; 38 39 build-system = [ setuptools ]; 40 41 dependencies = [ 42 aiohttp 43 orjson 44 python-slugify 45 voluptuous 46 ]; 47 48 nativeCheckInputs = [ 49 freezegun 50 pydevccu 51 pytest-aiohttp 52 pytest-socket 53 pytestCheckHook 54 ]; 55 56 pythonImportsCheck = [ "hahomematic" ]; 57 58 meta = with lib; { 59 description = "Python module to interact with HomeMatic devices"; 60 homepage = "https://github.com/SukramJ/hahomematic"; 61 changelog = "https://github.com/SukramJ/hahomematic/blob/${src.tag}/changelog.md"; 62 license = licenses.mit; 63 maintainers = with maintainers; [ 64 dotlambda 65 fab 66 ]; 67 }; 68}