1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 aiohttp,
7 pytest-asyncio,
8 pytestCheckHook,
9 urllib3,
10 xmltodict,
11}:
12
13buildPythonPackage rec {
14 pname = "asusrouter";
15 version = "1.21.0";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "Vaskivskyi";
20 repo = "asusrouter";
21 tag = version;
22 hash = "sha256-SMQ1jEEMRngl0idWXi7R7KinxR9NnH39vB/itVi7A4A=";
23 };
24
25 postPatch = ''
26 substituteInPlace pyproject.toml \
27 --replace-fail "setuptools==80.9.0" "setuptools"
28 '';
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 aiohttp
34 urllib3
35 xmltodict
36 ];
37
38 nativeCheckInputs = [
39 pytest-asyncio
40 pytestCheckHook
41 ];
42
43 pythonImportsCheck = [ "asusrouter" ];
44
45 meta = {
46 description = "API wrapper for communication with ASUSWRT-powered routers using HTTP protocol";
47 homepage = "https://github.com/Vaskivskyi/asusrouter";
48 changelog = "https://github.com/Vaskivskyi/asusrouter/releases/tag/${src.tag}";
49 license = lib.licenses.asl20;
50 maintainers = with lib.maintainers; [ ];
51 };
52}