1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pytestCheckHook, 6 requests, 7 segno, 8 setuptools, 9}: 10 11buildPythonPackage rec { 12 pname = "fritzconnection"; 13 version = "1.15.0"; 14 pyproject = true; 15 16 src = fetchFromGitHub { 17 owner = "kbr"; 18 repo = "fritzconnection"; 19 tag = version; 20 hash = "sha256-ulY+nh9CSnxrktTlFSXAWJALkS4GwP/3dRIG07jQCWs="; 21 }; 22 23 build-system = [ setuptools ]; 24 25 dependencies = [ requests ]; 26 27 optional-dependencies = { 28 qr = [ segno ]; 29 }; 30 31 nativeCheckInputs = [ pytestCheckHook ]; 32 33 preCheck = '' 34 export HOME=$TEMP 35 ''; 36 37 pythonImportsCheck = [ "fritzconnection" ]; 38 39 disabledTestPaths = [ 40 # Functional tests require network access 41 "fritzconnection/tests/test_functional.py" 42 ]; 43 44 meta = with lib; { 45 description = "Python module to communicate with the AVM Fritz!Box"; 46 homepage = "https://github.com/kbr/fritzconnection"; 47 changelog = "https://fritzconnection.readthedocs.io/en/${version}/sources/version_history.html"; 48 license = licenses.mit; 49 maintainers = with maintainers; [ 50 dotlambda 51 valodim 52 ]; 53 }; 54}