diff --git a/pkgs/development/python-modules/async-modbus/default.nix b/pkgs/development/python-modules/async-modbus/default.nix new file mode 100644 index 000000000000..84423c6afbbc --- /dev/null +++ b/pkgs/development/python-modules/async-modbus/default.nix @@ -0,0 +1,57 @@ +{ lib +, buildPythonPackage +, connio +, fetchFromGitHub +, pytest-asyncio +, pytestCheckHook +, pythonOlder +, setuptools +, umodbus +}: + +buildPythonPackage rec { + pname = "async-modbus"; + version = "0.2.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "tiagocoutinho"; + repo = "async_modbus"; + rev = "refs/tags/v${version}"; + hash = "sha256-TB+ndUvLZ9G3XXEBpLb4ULHlYZC2CoqGnL2BjMQrhRg="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace '"--cov=async_modbus",' "" \ + --replace '"--cov-report=html", "--cov-report=term",' "" \ + --replace '"--durations=2", "--verbose"' "" + ''; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + connio + umodbus + ]; + + checkInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ + "async_modbus" + ]; + + meta = with lib; { + description = "Library for Modbus communication"; + homepage = "https://github.com/tiagocoutinho/async_modbus"; + license = with licenses; [ gpl3Plus ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b21411a29b28..9838f18bbcb7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -666,6 +666,8 @@ self: super: with self; { async-lru = callPackage ../development/python-modules/async-lru { }; + async-modbus = callPackage ../development/python-modules/async-modbus { }; + asyncclick = callPackage ../development/python-modules/asyncclick { }; asynccmd = callPackage ../development/python-modules/asynccmd { };