diff options
-rw-r--r-- | pkgs/development/python-modules/pymodbus/default.nix | 59 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 2 |
2 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/pymodbus/default.nix b/pkgs/development/python-modules/pymodbus/default.nix new file mode 100644 index 00000000000..76f2e9a9338 --- /dev/null +++ b/pkgs/development/python-modules/pymodbus/default.nix @@ -0,0 +1,59 @@ +{ lib +, asynctest +, buildPythonPackage +, fetchFromGitHub +, mock +, pyserial +, pyserial-asyncio +, pytestCheckHook +, pythonOlder +, redis +, sqlalchemy +, tornado +, twisted +}: + +buildPythonPackage rec { + pname = "pymodbus"; + version = "2.4.0"; + + src = fetchFromGitHub { + owner = "riptideio"; + repo = pname; + rev = "v${version}"; + sha256 = "0x0dv02shcc2yxxm9kvcbhip111sna74dvcfssxdzzy967vnq76v"; + }; + + # Twisted asynchronous version is not supported due to a missing dependency + propagatedBuildInputs = [ + pyserial + pyserial-asyncio + tornado + ]; + + checkInputs = [ + asynctest + mock + pyserial-asyncio + pytestCheckHook + redis + sqlalchemy + tornado + twisted + ]; + + pythonImportsCheck = [ "pymodbus" ]; + + meta = with lib; { + description = "Python implementation of the Modbus protocol"; + longDescription = '' + Pymodbus is a full Modbus protocol implementation using twisted, + torndo or asyncio for its asynchronous communications core. It can + also be used without any third party dependencies if a more + lightweight project is needed. + ''; + homepage = "https://github.com/riptideio/pymodbus"; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ad775f0712b..4fa41036f7a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5419,6 +5419,8 @@ in { pymetno = callPackage ../development/python-modules/pymetno { }; + pymodbus = callPackage ../development/python-modules/pymodbus { }; + pymongo = callPackage ../development/python-modules/pymongo { }; pympler = callPackage ../development/python-modules/pympler { }; |