diff --git a/pkgs/development/python-modules/asusrouter/default.nix b/pkgs/development/python-modules/asusrouter/default.nix new file mode 100644 index 000000000000..75059262071c --- /dev/null +++ b/pkgs/development/python-modules/asusrouter/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + aiohttp, + pytest-asyncio, + pytestCheckHook, + urllib3, + xmltodict, +}: + +buildPythonPackage rec { + pname = "asusrouter"; + version = "1.18.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Vaskivskyi"; + repo = "asusrouter"; + tag = version; + hash = "sha256-8kETQKvPwURyEabK/g8Ub+aLcPPTRs0FFWbSNU4jJZc="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools==80.9.0" "setuptools" + ''; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + urllib3 + xmltodict + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ "asusrouter" ]; + + meta = { + description = "API wrapper for communication with ASUSWRT-powered routers using HTTP protocol"; + homepage = "https://github.com/Vaskivskyi/asusrouter"; + changelog = "https://github.com/Vaskivskyi/asusrouter/releases/tag/${src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 075037751fe6..a9aa78b2d134 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1007,6 +1007,8 @@ self: super: with self; { astunparse = callPackage ../development/python-modules/astunparse { }; + asusrouter = callPackage ../development/python-modules/asusrouter { }; + asyauth = callPackage ../development/python-modules/asyauth { }; asyauth-bad = callPackage ../development/python-modules/asyauth-bad { };