Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / aioesphomeapi / default.nix
blob282e27f3f8af412928e71a43e54d7da7a25a3470
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , pythonOlder
6 # build-system
7 , cython
8 , setuptools
10 # dependencies
11 , aiohappyeyeballs
12 , async-interrupt
13 , async-timeout
14 , chacha20poly1305-reuseable
15 , cryptography
16 , noiseprotocol
17 , protobuf
18 , zeroconf
20 # tests
21 , mock
22 , pytest-asyncio
23 , pytestCheckHook
26 buildPythonPackage rec {
27   pname = "aioesphomeapi";
28   version = "23.2.0";
29   pyproject = true;
31   disabled = pythonOlder "3.9";
33   src = fetchFromGitHub {
34     owner = "esphome";
35     repo = "aioesphomeapi";
36     rev = "refs/tags/v${version}";
37     hash = "sha256-GFQ87Ic0xHXs8ZgmzH7kOFbDSNmtj0hx+YHKnrz/sG0=";
38   };
40   build-system = [
41     setuptools
42     cython
43   ];
45   dependencies = [
46     aiohappyeyeballs
47     async-interrupt
48     chacha20poly1305-reuseable
49     cryptography
50     noiseprotocol
51     protobuf
52     zeroconf
53   ] ++ lib.optionals (pythonOlder "3.11") [
54     async-timeout
55   ];
57   nativeCheckInputs = [
58     mock
59     pytest-asyncio
60     pytestCheckHook
61   ];
63   disabledTests = [
64     # https://github.com/esphome/aioesphomeapi/issues/837
65     "test_reconnect_logic_stop_callback"
66   ];
68   pythonImportsCheck = [
69     "aioesphomeapi"
70   ];
72   meta = with lib; {
73     description = "Python Client for ESPHome native API";
74     homepage = "https://github.com/esphome/aioesphomeapi";
75     changelog = "https://github.com/esphome/aioesphomeapi/releases/tag/v${version}";
76     license = licenses.mit;
77     maintainers = with maintainers; [ fab hexa ];
78   };