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