1{ 2 lib, 3 aiohttp, 4 aresponses, 5 buildPythonPackage, 6 fetchFromGitHub, 7 inflection, 8 pyjwt, 9 pytest-asyncio, 10 pytestCheckHook, 11 python-dateutil, 12 pythonOlder, 13}: 14 15buildPythonPackage rec { 16 pname = "python-smarttub"; 17 version = "0.0.36"; 18 format = "setuptools"; 19 20 disabled = pythonOlder "3.8"; 21 22 src = fetchFromGitHub { 23 owner = "mdz"; 24 repo = pname; 25 rev = "refs/tags/v${version}"; 26 hash = "sha256-cng19NW5Eq3arysl0B3dfK2Hy6lQFBFh7g2hxvxeklU="; 27 }; 28 29 propagatedBuildInputs = [ 30 aiohttp 31 inflection 32 pyjwt 33 python-dateutil 34 ]; 35 36 nativeCheckInputs = [ 37 aresponses 38 pytest-asyncio 39 pytestCheckHook 40 ]; 41 42 postPatch = '' 43 substituteInPlace setup.py \ 44 --replace "pyjwt~=2.1.0" "pyjwt>=2.1.0" 45 ''; 46 47 pythonImportsCheck = [ "smarttub" ]; 48 49 meta = with lib; { 50 description = "Python API for SmartTub enabled hot tubs"; 51 homepage = "https://github.com/mdz/python-smarttub"; 52 license = with licenses; [ mit ]; 53 maintainers = with maintainers; [ fab ]; 54 }; 55}