Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at litex 1.6 kB view raw
1{ lib 2, aiohttp 3, buildPythonPackage 4, click 5, fetchFromGitHub 6, mock 7, prompt-toolkit 8, pygments 9, pyserial 10, pyserial-asyncio 11, pytest-asyncio 12, pytest-rerunfailures 13, pytest-xdist 14, pytestCheckHook 15, redis 16, sqlalchemy 17, tornado 18, twisted 19}: 20 21buildPythonPackage rec { 22 pname = "pymodbus"; 23 version = "3.1.3"; 24 format = "setuptools"; 25 26 src = fetchFromGitHub { 27 owner = "pymodbus-dev"; 28 repo = pname; 29 rev = "refs/tags/v${version}"; 30 hash = "sha256-GHyDlt046v4KP9KQRnXH6F+3ikoCjbhVHEQuSdm99a8="; 31 }; 32 33 # Twisted asynchronous version is not supported due to a missing dependency 34 propagatedBuildInputs = [ 35 aiohttp 36 click 37 prompt-toolkit 38 pygments 39 pyserial 40 pyserial-asyncio 41 tornado 42 ]; 43 44 nativeCheckInputs = [ 45 mock 46 pytest-asyncio 47 pytest-rerunfailures 48 pytest-xdist 49 pytestCheckHook 50 redis 51 sqlalchemy 52 twisted 53 ]; 54 55 pytestFlagsArray = [ 56 "--reruns" "3" # Racy socket tests 57 ]; 58 59 pythonImportsCheck = [ "pymodbus" ]; 60 61 meta = with lib; { 62 description = "Python implementation of the Modbus protocol"; 63 longDescription = '' 64 Pymodbus is a full Modbus protocol implementation using twisted, 65 torndo or asyncio for its asynchronous communications core. It can 66 also be used without any third party dependencies if a more 67 lightweight project is needed. 68 ''; 69 homepage = "https://github.com/pymodbus-dev/pymodbus"; 70 changelog = "https://github.com/pymodbus-dev/pymodbus/releases/tag/v${version}"; 71 license = with licenses; [ bsd3 ]; 72 maintainers = with maintainers; [ fab ]; 73 }; 74}