{ lib, aiohttp, aresponses, buildPythonPackage, fetchFromGitHub, inflection, pyjwt, pytest-asyncio, pytestCheckHook, python-dateutil, pythonOlder, }: buildPythonPackage rec { pname = "python-smarttub"; version = "0.0.36"; format = "setuptools"; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "mdz"; repo = pname; rev = "refs/tags/v${version}"; hash = "sha256-cng19NW5Eq3arysl0B3dfK2Hy6lQFBFh7g2hxvxeklU="; }; propagatedBuildInputs = [ aiohttp inflection pyjwt python-dateutil ]; nativeCheckInputs = [ aresponses pytest-asyncio pytestCheckHook ]; postPatch = '' substituteInPlace setup.py \ --replace "pyjwt~=2.1.0" "pyjwt>=2.1.0" ''; pythonImportsCheck = [ "smarttub" ]; meta = with lib; { description = "Python API for SmartTub enabled hot tubs"; homepage = "https://github.com/mdz/python-smarttub"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; }