diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix new file mode 100644 index 00000000000..f4be0e5140b --- /dev/null +++ b/pkgs/development/python-modules/plugwise/default.nix @@ -0,0 +1,66 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, aiohttp +, async-timeout +, crcmod +, defusedxml +, pyserial +, pytz +, python-dateutil +, semver +, jsonpickle +, mypy +, pytest-aiohttp +, pytest-asyncio +, pytest-cov +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "plugwise"; + version = "0.8.5"; + + src = fetchFromGitHub { + owner = pname; + repo = "python-plugwise"; + rev = version; + sha256 = "1gviyy31l1j8z0if2id3m13r43kw4mcgd8921813yfhmf174piq4"; + }; + + propagatedBuildInputs = [ + aiohttp + async-timeout + crcmod + defusedxml + pyserial + pytz + python-dateutil + semver + ]; + + checkInputs = [ + jsonpickle + mypy + pytest-aiohttp + pytest-asyncio + pytest-cov + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ "plugwise" ]; + + __darwinAllowLocalNetworking = true; + + meta = with lib; { + description = "Python module for Plugwise Smiles, Stretch and USB stick"; + longDescription = '' + XKNX is an asynchronous Python library for reading and writing KNX/IP + packets. It provides support for KNX/IP routing and tunneling devices. + ''; + homepage = "https://github.com/plugwise/python-plugwise"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8f2d5c92bf2..d307de3e884 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4876,6 +4876,8 @@ in { pluginbase = callPackage ../development/python-modules/pluginbase { }; + plugwise = callPackage ../development/python-modules/plugwise { }; + plumbum = callPackage ../development/python-modules/plumbum { }; ply = callPackage ../development/python-modules/ply { };