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