1{ lib
2, aiofiles
3, asyncio-mqtt
4, awesomeversion
5, buildPythonPackage
6, click
7, fetchFromGitHub
8, marshmallow
9, poetry-core
10, pyserial-asyncio
11, pytest-asyncio
12, pytestCheckHook
13, pythonOlder
14}:
15
16buildPythonPackage rec {
17 pname = "aiomysensors";
18 version = "0.3.10";
19 format = "pyproject";
20
21 disabled = pythonOlder "3.9";
22
23 src = fetchFromGitHub {
24 owner = "MartinHjelmare";
25 repo = pname;
26 rev = "refs/tags/v${version}";
27 hash = "sha256-b462OZzRS9aldfJ+4ztczxbCMK76UM0pSOI1cIi1NM8=";
28 };
29
30 postPatch = ''
31 substituteInPlace pyproject.toml \
32 --replace " --cov=src --cov-report=term-missing:skip-covered" "" \
33 --replace 'marshmallow = "^3.17"' 'marshmallow = "*"' \
34 --replace 'awesomeversion = "^22.6"' 'awesomeversion = "*"'
35 '';
36 nativeBuildInputs = [
37 poetry-core
38 ];
39
40 propagatedBuildInputs = [
41 aiofiles
42 asyncio-mqtt
43 awesomeversion
44 click
45 marshmallow
46 pyserial-asyncio
47 ];
48
49 nativeCheckInputs = [
50 pytest-asyncio
51 pytestCheckHook
52 ];
53
54 pythonImportsCheck = [
55 "aiomysensors"
56 ];
57
58 meta = with lib; {
59 description = "Library to connect to MySensors gateways";
60 homepage = "https://github.com/MartinHjelmare/aiomysensors";
61 changelog = "https://github.com/MartinHjelmare/aiomysensors/releases/tag/v${version}";
62 license = with licenses; [ asl20 ];
63 maintainers = with maintainers; [ fab ];
64 };
65}