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}