1{ 2 lib, 3 aiofiles, 4 aiohttp, 5 aioresponses, 6 aiozoneinfo, 7 asyncclick, 8 buildPythonPackage, 9 debugpy, 10 fetchFromGitHub, 11 hatchling, 12 pytest-asyncio, 13 pytest-freezer, 14 pytestCheckHook, 15 pythonOlder, 16 pyyaml, 17 syrupy, 18 voluptuous, 19}: 20 21buildPythonPackage rec { 22 pname = "evohome-async"; 23 version = "1.0.5"; 24 pyproject = true; 25 26 disabled = pythonOlder "3.12"; 27 28 src = fetchFromGitHub { 29 owner = "zxdavb"; 30 repo = "evohome-async"; 31 tag = version; 32 hash = "sha256-4eV050Yikr+5ZIj1v11cPQQ1pAlQYckbZXVFHHfYmpA="; 33 }; 34 35 build-system = [ hatchling ]; 36 37 dependencies = [ 38 aiohttp 39 aiozoneinfo 40 voluptuous 41 ]; 42 43 optional-dependencies = { 44 cli = [ 45 aiofiles 46 asyncclick 47 debugpy 48 ]; 49 }; 50 51 nativeCheckInputs = [ 52 aioresponses 53 pytest-asyncio 54 pytest-freezer 55 pytestCheckHook 56 pyyaml 57 syrupy 58 ] 59 ++ optional-dependencies.cli; 60 61 pythonImportsCheck = [ "evohomeasync2" ]; 62 63 meta = with lib; { 64 description = "Python client for connecting to Honeywell's TCC RESTful API"; 65 homepage = "https://github.com/zxdavb/evohome-async"; 66 changelog = "https://github.com/zxdavb/evohome-async/releases/tag/${version}"; 67 license = licenses.asl20; 68 maintainers = with maintainers; [ fab ]; 69 mainProgram = "evo-client"; 70 }; 71}