1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pycryptodome, 6 pyjwt, 7 pytestCheckHook, 8 pythonOlder, 9 requests-mock, 10 setuptools, 11 zeep, 12}: 13 14buildPythonPackage rec { 15 pname = "total-connect-client"; 16 version = "2025.1.4"; 17 pyproject = true; 18 19 disabled = pythonOlder "3.10"; 20 21 src = fetchFromGitHub { 22 owner = "craigjmidwinter"; 23 repo = "total-connect-client"; 24 tag = version; 25 hash = "sha256-zzSYi/qhHmugH30bnYHK9lCBVN5wuv6n9rvaZC/sIag="; 26 }; 27 28 build-system = [ setuptools ]; 29 30 pythonRelaxDeps = [ "pycryptodome" ]; 31 32 dependencies = [ 33 pycryptodome 34 pyjwt 35 zeep 36 ]; 37 38 nativeCheckInputs = [ 39 pytestCheckHook 40 requests-mock 41 ]; 42 43 pythonImportsCheck = [ "total_connect_client" ]; 44 45 meta = with lib; { 46 description = "Interact with Total Connect 2 alarm systems"; 47 homepage = "https://github.com/craigjmidwinter/total-connect-client"; 48 changelog = "https://github.com/craigjmidwinter/total-connect-client/releases/tag/${version}"; 49 license = licenses.mit; 50 maintainers = with maintainers; [ dotlambda ]; 51 }; 52}