Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 aiohttp, 4 aiomqtt, 5 buildPythonPackage, 6 cachetools, 7 defusedxml, 8 docker, 9 fetchFromGitHub, 10 numpy, 11 pillow, 12 pycountry, 13 pytest-asyncio, 14 pytestCheckHook, 15 pythonOlder, 16 setuptools, 17 setuptools-scm, 18 svg-py, 19 testfixtures, 20}: 21 22buildPythonPackage rec { 23 pname = "deebot-client"; 24 version = "8.2.0"; 25 pyproject = true; 26 27 disabled = pythonOlder "3.12"; 28 29 src = fetchFromGitHub { 30 owner = "DeebotUniverse"; 31 repo = "client.py"; 32 rev = "refs/tags/${version}"; 33 hash = "sha256-foIRWZcv+i/UZMMr1LjNiUpvJVD9UOWHPKHpcGHXfxQ="; 34 }; 35 36 build-system = [ 37 setuptools 38 setuptools-scm 39 ]; 40 41 dependencies = [ 42 aiohttp 43 aiomqtt 44 cachetools 45 defusedxml 46 numpy 47 pillow 48 svg-py 49 ]; 50 51 nativeCheckInputs = [ 52 docker 53 pycountry 54 pytest-asyncio 55 pytestCheckHook 56 testfixtures 57 ]; 58 59 pythonImportsCheck = [ "deebot_client" ]; 60 61 disabledTests = [ 62 # Tests require running container 63 "test_last_message_received_at" 64 "test_client_bot_subscription" 65 "test_client_reconnect_manual" 66 "test_p2p_success" 67 "test_p2p_not_supported" 68 "test_p2p_data_type_not_supported" 69 "test_p2p_to_late" 70 "test_p2p_parse_error" 71 "test_mqtt_task_exceptions" 72 "test_mqtt_task_exceptions" 73 "test_client_reconnect_on_broker_error" 74 ]; 75 76 meta = with lib; { 77 description = "Deebot client library"; 78 homepage = "https://github.com/DeebotUniverse/client.py"; 79 changelog = "https://github.com/DeebotUniverse/client.py/releases/tag/${version}"; 80 license = licenses.gpl3Only; 81 maintainers = with maintainers; [ fab ]; 82 }; 83}