1{ 2 lib, 3 aioesphomeapi, 4 bleak, 5 bleak-retry-connector, 6 bluetooth-data-tools, 7 buildPythonPackage, 8 cython, 9 fetchFromGitHub, 10 habluetooth, 11 lru-dict, 12 poetry-core, 13 pytest-asyncio, 14 pytest-codspeed, 15 pytest-cov-stub, 16 pytestCheckHook, 17 setuptools, 18}: 19 20buildPythonPackage rec { 21 pname = "bleak-esphome"; 22 version = "2.15.1"; 23 pyproject = true; 24 25 src = fetchFromGitHub { 26 owner = "bluetooth-devices"; 27 repo = "bleak-esphome"; 28 tag = "v${version}"; 29 hash = "sha256-Q+W7i0+Qsm1wfVNC+ub9J9DOcP7D4gZkjw3j37aHhYc="; 30 }; 31 32 postPatch = '' 33 substituteInPlace pyproject.toml \ 34 --replace-fail "setuptools>=75.8.2" setuptools 35 ''; 36 37 build-system = [ 38 cython 39 poetry-core 40 setuptools 41 ]; 42 43 dependencies = [ 44 aioesphomeapi 45 bleak 46 bleak-retry-connector 47 bluetooth-data-tools 48 habluetooth 49 lru-dict 50 ]; 51 52 nativeCheckInputs = [ 53 pytest-asyncio 54 pytest-codspeed 55 pytest-cov-stub 56 pytestCheckHook 57 ]; 58 59 pythonImportsCheck = [ "bleak_esphome" ]; 60 61 meta = with lib; { 62 description = "Bleak backend of ESPHome"; 63 homepage = "https://github.com/bluetooth-devices/bleak-esphome"; 64 changelog = "https://github.com/bluetooth-devices/bleak-esphome/blob/${src.tag}/CHANGELOG.md"; 65 license = licenses.mit; 66 maintainers = with maintainers; [ fab ]; 67 }; 68}