1{ 2 lib, 3 async-timeout, 4 buildPythonPackage, 5 fetchFromGitHub, 6 fetchpatch, 7 poetry-core, 8 pyserial-asyncio-fast, 9 pytest-asyncio, 10 pytestCheckHook, 11 pythonOlder, 12}: 13 14buildPythonPackage rec { 15 pname = "elkm1-lib"; 16 version = "2.2.7"; 17 pyproject = true; 18 19 disabled = pythonOlder "3.11"; 20 21 src = fetchFromGitHub { 22 owner = "gwww"; 23 repo = "elkm1"; 24 rev = "refs/tags/${version}"; 25 hash = "sha256-5YdmZO/8HimQ9Ft/K/I6xu0Av2SjUBp3+poBe7aVUpM="; 26 }; 27 28 build-system = [ poetry-core ]; 29 30 dependencies = [ 31 async-timeout 32 pyserial-asyncio-fast 33 ]; 34 35 nativeCheckInputs = [ 36 pytest-asyncio 37 pytestCheckHook 38 ]; 39 40 pythonImportsCheck = [ "elkm1_lib" ]; 41 42 meta = with lib; { 43 description = "Python module for interacting with ElkM1 alarm/automation panel"; 44 homepage = "https://github.com/gwww/elkm1"; 45 changelog = "https://github.com/gwww/elkm1/blob/${version}/CHANGELOG.md"; 46 license = licenses.mit; 47 maintainers = with maintainers; [ fab ]; 48 }; 49}