{ lib , buildPythonPackage , pythonOlder , fetchFromGitHub , aiohttp , netifaces , pytest-aio , pytest-asyncio , pytestCheckHook , setuptools-scm }: buildPythonPackage rec { pname = "python-izone"; version = "1.2.9"; format = "setuptools"; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "Swamp-Ig"; repo = "pizone"; rev = "refs/tags/v${version}"; hash = "sha256-0rj+tKn2pbFe+nczTMGLwIwmc4jCznGGF4/IMjlEvQg="; }; nativeBuildInputs = [ setuptools-scm ]; SETUPTOOLS_SCM_PRETEND_VERSION = version; propagatedBuildInputs = [ aiohttp netifaces ]; nativeCheckInputs = [ pytest-aio pytest-asyncio pytestCheckHook ]; doCheck = false; # most tests access network pythonImportsCheck = [ "pizone" ]; meta = with lib; { description = "Python interface to the iZone airconditioner controller"; homepage = "https://github.com/Swamp-Ig/pizone"; license = licenses.gpl3Plus; maintainers = with maintainers; [ dotlambda ]; }; }