1{
2 lib,
3 aiohttp,
4 attrs,
5 buildPythonPackage,
6 defusedxml,
7 fetchFromGitHub,
8 pythonOlder,
9 pytest-asyncio,
10 pytestCheckHook,
11 setuptools,
12 pytest-vcr,
13 syrupy,
14}:
15
16buildPythonPackage rec {
17 pname = "connect-box";
18 version = "0.4.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.10";
22
23 src = fetchFromGitHub {
24 owner = "home-assistant-ecosystem";
25 repo = "python-connect-box";
26 rev = "refs/tags/${version}";
27 hash = "sha256-zUvZRnxVzg9izvUbp7QVcyu6Bw3dUXHOr0kOQRWEZVc=";
28 };
29
30 nativeBuildInputs = [ setuptools ];
31
32 propagatedBuildInputs = [
33 aiohttp
34 attrs
35 defusedxml
36 ];
37
38 nativeCheckInputs = [
39 pytest-asyncio
40 pytestCheckHook
41 pytest-vcr
42 syrupy
43 ];
44
45 pythonImportsCheck = [ "connect_box" ];
46
47 pytestFlagsArray = [ "--vcr-record=none" ];
48
49 meta = with lib; {
50 description = "Interact with a Compal CH7465LG cable modem/router";
51 longDescription = ''
52 Python Client for interacting with the cable modem/router Compal
53 CH7465LG which is provided under different names by various ISP
54 in Europe, e.g., UPC Connect Box (CH), Irish Virgin Media Super
55 Hub 3.0 (IE), Ziggo Connectbox (NL) or Unitymedia Connect Box (DE).
56 '';
57 homepage = "https://github.com/home-assistant-ecosystem/python-connect-box";
58 changelog = "https://github.com/home-assistant-ecosystem/python-connect-box/releases/tag/${version}";
59 license = with licenses; [ mit ];
60 maintainers = with maintainers; [ fab ];
61 };
62}