1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, fetchpatch 5, httpx 6, protobuf 7, pytest-asyncio 8, pytest-httpx 9, pytest-mock 10, pytestCheckHook 11, pythonOlder 12, setuptools-scm 13, zeroconf 14}: 15 16buildPythonPackage rec { 17 pname = "devolo-plc-api"; 18 version = "0.8.1"; 19 format = "setuptools"; 20 21 disabled = pythonOlder "3.8"; 22 23 src = fetchFromGitHub { 24 owner = "2Fake"; 25 repo = "devolo_plc_api"; 26 rev = "v${version}"; 27 sha256 = "sha256-Gjs4x52LwCsE0zAJjLO1N0w5r1jDJkZoVY1JVZB8bmE="; 28 }; 29 30 SETUPTOOLS_SCM_PRETEND_VERSION = version; 31 32 nativeBuildInputs = [ 33 setuptools-scm 34 ]; 35 36 propagatedBuildInputs = [ 37 httpx 38 protobuf 39 zeroconf 40 ]; 41 42 checkInputs = [ 43 pytest-asyncio 44 pytest-httpx 45 pytest-mock 46 pytestCheckHook 47 ]; 48 49 50 51 pythonImportsCheck = [ 52 "devolo_plc_api" 53 ]; 54 55 meta = with lib; { 56 description = "Python module to interact with Devolo PLC devices"; 57 homepage = "https://github.com/2Fake/devolo_plc_api"; 58 license = licenses.gpl3Only; 59 maintainers = with maintainers; [ fab ]; 60 }; 61}