1{
2 lib,
3 bleak,
4 bleak-retry-connector,
5 bluetooth-data-tools,
6 bluetooth-sensor-state-data,
7 buildPythonPackage,
8 fetchFromGitHub,
9 home-assistant-bluetooth,
10 poetry-core,
11 pytest-asyncio,
12 pytest-cov-stub,
13 pytestCheckHook,
14 pythonOlder,
15}:
16
17buildPythonPackage rec {
18 pname = "oralb-ble";
19 version = "1.0.0";
20 pyproject = true;
21
22 disabled = pythonOlder "3.9";
23
24 src = fetchFromGitHub {
25 owner = "Bluetooth-Devices";
26 repo = "oralb-ble";
27 tag = "v${version}";
28 hash = "sha256-2uXfsWt8MW/neeh2HR59u0jOVXwjt4IM2DGR+vuvi2c=";
29 };
30
31 build-system = [ poetry-core ];
32
33 dependencies = [
34 bleak
35 bleak-retry-connector
36 bluetooth-data-tools
37 bluetooth-sensor-state-data
38 home-assistant-bluetooth
39 ];
40
41 nativeCheckInputs = [
42 pytest-asyncio
43 pytest-cov-stub
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "oralb_ble" ];
48
49 disabledTests = [
50 # Test is outdated, TypeError: BLEDevice.__init__() missing 2 required...
51 "test_async_poll"
52 ];
53
54 meta = with lib; {
55 description = "Library for Oral B BLE devices";
56 homepage = "https://github.com/Bluetooth-Devices/oralb-ble";
57 changelog = "https://github.com/Bluetooth-Devices/oralb-ble/releases/tag/${src.tag}";
58 license = licenses.mit;
59 maintainers = with maintainers; [ fab ];
60 };
61}