1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 bleak,
7 bleak-retry-connector,
8 construct-typing,
9 pytest-asyncio,
10 pytestCheckHook,
11}:
12
13buildPythonPackage rec {
14 pname = "eq3btsmart";
15 version = "2.3.0";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "EuleMitKeule";
20 repo = "eq3btsmart";
21 tag = version;
22 hash = "sha256-9x2uQUpLl0bSOiEBTvt6IPZCJ3Oj+U4knlvrTXPGs3I=";
23 };
24
25 build-system = [ setuptools ];
26
27 dependencies = [
28 bleak
29 bleak-retry-connector
30 construct-typing
31 ];
32
33 pythonImportsCheck = [ "eq3btsmart" ];
34
35 nativeCheckInputs = [
36 pytest-asyncio
37 pytestCheckHook
38 ];
39
40 meta = {
41 changelog = "https://github.com/EuleMitKeule/eq3btsmart/releases/tag/${src.tag}";
42 description = "Python library that allows interaction with eQ-3 Bluetooth smart thermostats";
43 homepage = "https://github.com/EuleMitKeule/eq3btsmart";
44 license = lib.licenses.mit;
45 maintainers = with lib.maintainers; [ dotlambda ];
46 };
47}