1{ lib 2, aiohttp 3, asynctest 4, buildPythonPackage 5, click 6, fetchFromGitHub 7, mock 8, prompt-toolkit 9, pygments 10, pyserial 11, pyserial-asyncio 12, pytestCheckHook 13, redis 14, sqlalchemy 15, tornado 16, twisted 17}: 18 19buildPythonPackage rec { 20 pname = "pymodbus"; 21 version = "2.5.3"; 22 23 src = fetchFromGitHub { 24 owner = "riptideio"; 25 repo = pname; 26 rev = "v${version}"; 27 sha256 = "sha256-pf1TU/imBqNVYdG4XX8fnma8O8kQHuOHu6DT3E/PUk4="; 28 }; 29 30 # Twisted asynchronous version is not supported due to a missing dependency 31 propagatedBuildInputs = [ 32 aiohttp 33 click 34 prompt-toolkit 35 pygments 36 pyserial 37 pyserial-asyncio 38 tornado 39 ]; 40 41 checkInputs = [ 42 asynctest 43 mock 44 pytestCheckHook 45 redis 46 sqlalchemy 47 twisted 48 ]; 49 50 pythonImportsCheck = [ "pymodbus" ]; 51 52 meta = with lib; { 53 description = "Python implementation of the Modbus protocol"; 54 longDescription = '' 55 Pymodbus is a full Modbus protocol implementation using twisted, 56 torndo or asyncio for its asynchronous communications core. It can 57 also be used without any third party dependencies if a more 58 lightweight project is needed. 59 ''; 60 homepage = "https://github.com/riptideio/pymodbus"; 61 license = with licenses; [ bsd3 ]; 62 maintainers = with maintainers; [ fab ]; 63 }; 64}