1{ lib 2, async-timeout 3, bleak 4, bluetooth-adapters 5, dbus-fast 6, buildPythonPackage 7, fetchFromGitHub 8, poetry-core 9, pytestCheckHook 10, pythonOlder 11, pytest-asyncio 12}: 13 14buildPythonPackage rec { 15 pname = "bleak-retry-connector"; 16 version = "3.3.0"; 17 format = "pyproject"; 18 19 disabled = pythonOlder "3.7"; 20 21 src = fetchFromGitHub { 22 owner = "Bluetooth-Devices"; 23 repo = pname; 24 rev = "refs/tags/v${version}"; 25 hash = "sha256-5yhr+W2ZSy/uSgmz23pyIKcoJ34h/eDsoyv+N9Hi36w="; 26 }; 27 28 postPatch = '' 29 substituteInPlace pyproject.toml \ 30 --replace " --cov=bleak_retry_connector --cov-report=term-missing:skip-covered" "" 31 ''; 32 33 nativeBuildInputs = [ 34 poetry-core 35 ]; 36 37 propagatedBuildInputs = [ 38 async-timeout 39 bleak 40 bluetooth-adapters 41 dbus-fast 42 ]; 43 44 nativeCheckInputs = [ 45 pytest-asyncio 46 pytestCheckHook 47 ]; 48 49 disabledTests = [ 50 # broken mocking 51 "test_establish_connection_can_cache_services_services_missing" 52 "test_establish_connection_with_dangerous_use_cached_services" 53 "test_establish_connection_without_dangerous_use_cached_services" 54 ]; 55 56 pythonImportsCheck = [ 57 "bleak_retry_connector" 58 ]; 59 60 meta = with lib; { 61 description = "Connector for Bleak Clients that handles transient connection failures"; 62 homepage = "https://github.com/bluetooth-devices/bleak-retry-connector"; 63 changelog = "https://github.com/bluetooth-devices/bleak-retry-connector/blob/v${version}/CHANGELOG.md"; 64 license = licenses.mit; 65 maintainers = with maintainers; [ fab ]; 66 }; 67}