1{
2 lib,
3 aioresponses,
4 buildPythonPackage,
5 orjson,
6 fetchFromGitHub,
7 propcache,
8 pytest-asyncio,
9 pytestCheckHook,
10 pythonOlder,
11 aiohttp,
12 setuptools,
13}:
14
15buildPythonPackage rec {
16 pname = "nexia";
17 version = "2.11.1";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "bdraco";
24 repo = "nexia";
25 tag = version;
26 hash = "sha256-rGBfmFgSInp1+2FNFS0OZSyj53kMOK6MxWIra7VNYcM=";
27 };
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 aiohttp
33 orjson
34 propcache
35 ];
36
37 nativeCheckInputs = [
38 aioresponses
39 pytest-asyncio
40 pytestCheckHook
41 ];
42
43 pythonImportsCheck = [ "nexia" ];
44
45 meta = with lib; {
46 description = "Python module for Nexia thermostats";
47 homepage = "https://github.com/bdraco/nexia";
48 changelog = "https://github.com/bdraco/nexia/releases/tag/${src.tag}";
49 license = licenses.asl20;
50 maintainers = with maintainers; [ fab ];
51 };
52}