1{ 2 lib, 3 aiohttp, 4 aresponses, 5 async-timeout, 6 awesomeversion, 7 backoff, 8 buildPythonPackage, 9 fetchFromGitHub, 10 mashumaro, 11 multidict, 12 orjson, 13 poetry-core, 14 pytest-asyncio, 15 pytest-cov-stub, 16 pytestCheckHook, 17 pythonOlder, 18 syrupy, 19}: 20 21buildPythonPackage rec { 22 pname = "python-homewizard-energy"; 23 version = "9.3.0"; 24 pyproject = true; 25 26 disabled = pythonOlder "3.9"; 27 28 src = fetchFromGitHub { 29 owner = "DCSBL"; 30 repo = "python-homewizard-energy"; 31 tag = "v${version}"; 32 hash = "sha256-qDLYvFl2gAPNAHJ4uwy0TqzkMUxx9hJ96QwyhbMaLqQ="; 33 }; 34 35 postPatch = '' 36 substituteInPlace pyproject.toml \ 37 --replace-fail 'version = "0.0.0"' 'version = "${version}"' 38 ''; 39 40 build-system = [ poetry-core ]; 41 42 dependencies = [ 43 aiohttp 44 async-timeout 45 awesomeversion 46 backoff 47 mashumaro 48 multidict 49 orjson 50 ]; 51 52 __darwinAllowLocalNetworking = true; 53 54 nativeCheckInputs = [ 55 aresponses 56 pytest-asyncio 57 pytest-cov-stub 58 pytestCheckHook 59 syrupy 60 ]; 61 62 pythonImportsCheck = [ "homewizard_energy" ]; 63 64 meta = with lib; { 65 description = "Library to communicate with HomeWizard Energy devices"; 66 homepage = "https://github.com/homewizard/python-homewizard-energy"; 67 changelog = "https://github.com/homewizard/python-homewizard-energy/releases/tag/${src.tag}"; 68 license = licenses.asl20; 69 maintainers = with maintainers; [ fab ]; 70 }; 71}