1{ 2 lib, 3 aiohttp, 4 buildPythonPackage, 5 defusedxml, 6 fetchFromGitHub, 7 freezegun, 8 jsonpickle, 9 munch, 10 pytest-aiohttp, 11 pytest-asyncio, 12 pytestCheckHook, 13 python-dateutil, 14 pythonOlder, 15 setuptools, 16}: 17 18buildPythonPackage rec { 19 pname = "plugwise"; 20 version = "1.7.4"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.12"; 24 25 src = fetchFromGitHub { 26 owner = "plugwise"; 27 repo = "python-plugwise"; 28 tag = "v${version}"; 29 hash = "sha256-0Xfy1HKaVraEjhB6CS6V+EkU5gmKr6SQse+p7l1x8d8="; 30 }; 31 32 postPatch = '' 33 # setuptools and wheel 34 sed -i -e "s/~=[0-9.]*//g" pyproject.toml 35 ''; 36 37 build-system = [ setuptools ]; 38 39 dependencies = [ 40 aiohttp 41 defusedxml 42 munch 43 python-dateutil 44 ]; 45 46 nativeCheckInputs = [ 47 freezegun 48 jsonpickle 49 pytest-aiohttp 50 pytest-asyncio 51 pytestCheckHook 52 ]; 53 54 pythonImportsCheck = [ "plugwise" ]; 55 56 __darwinAllowLocalNetworking = true; 57 58 meta = with lib; { 59 description = "Python module for Plugwise Smiles, Stretch and USB stick"; 60 homepage = "https://github.com/plugwise/python-plugwise"; 61 changelog = "https://github.com/plugwise/python-plugwise/releases/tag/${src.tag}"; 62 license = with licenses; [ mit ]; 63 maintainers = with maintainers; [ fab ]; 64 }; 65}