1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, async-timeout
5, mock
6, noiseprotocol
7, protobuf
8, pytest-asyncio
9, pytestCheckHook
10, pythonOlder
11, zeroconf
12}:
13
14buildPythonPackage rec {
15 pname = "aioesphomeapi";
16 version = "13.9.0";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.9";
20
21 src = fetchFromGitHub {
22 owner = "esphome";
23 repo = pname;
24 rev = "refs/tags/v${version}";
25 hash = "sha256-RjLzOl8Cb6Vrq+75SvBntAmmiK70i3o2rED7Smnpiws=";
26 };
27
28 propagatedBuildInputs = [
29 async-timeout
30 noiseprotocol
31 protobuf
32 zeroconf
33 ];
34
35 nativeCheckInputs = [
36 mock
37 pytest-asyncio
38 pytestCheckHook
39 ];
40
41 pythonImportsCheck = [
42 "aioesphomeapi"
43 ];
44
45 meta = with lib; {
46 description = "Python Client for ESPHome native API";
47 homepage = "https://github.com/esphome/aioesphomeapi";
48 changelog = "https://github.com/esphome/aioesphomeapi/releases/tag/v${version}";
49 license = licenses.mit;
50 maintainers = with maintainers; [ fab hexa ];
51 };
52}