1{
2 lib,
3 aiohttp,
4 aiooui,
5 async-timeout,
6 bleak,
7 buildPythonPackage,
8 dbus-fast,
9 fetchFromGitHub,
10 mac-vendor-lookup,
11 myst-parser,
12 poetry-core,
13 pytest-asyncio,
14 pytest-cov-stub,
15 pytestCheckHook,
16 pythonOlder,
17 sphinx-rtd-theme,
18 sphinxHook,
19 uart-devices,
20 usb-devices,
21}:
22
23buildPythonPackage rec {
24 pname = "bluetooth-adapters";
25 version = "2.1.1";
26 pyproject = true;
27
28 disabled = pythonOlder "3.9";
29
30 src = fetchFromGitHub {
31 owner = "Bluetooth-Devices";
32 repo = "bluetooth-adapters";
33 tag = "v${version}";
34 hash = "sha256-M9Me+fTaw//wGVd9Ss9iYB7RMgfkxJZz2lT60lHe3Vg=";
35 };
36
37 outputs = [
38 "out"
39 "doc"
40 ];
41
42 build-system = [
43 poetry-core
44 ];
45
46 nativeBuildInputs = [
47 myst-parser
48 sphinx-rtd-theme
49 sphinxHook
50 ];
51
52 dependencies = [
53 aiohttp
54 aiooui
55 async-timeout
56 bleak
57 dbus-fast
58 mac-vendor-lookup
59 uart-devices
60 usb-devices
61 ];
62
63 nativeCheckInputs = [
64 pytest-asyncio
65 pytest-cov-stub
66 pytestCheckHook
67 ];
68
69 pythonImportsCheck = [ "bluetooth_adapters" ];
70
71 meta = {
72 description = "Tools to enumerate and find Bluetooth Adapters";
73 homepage = "https://github.com/Bluetooth-Devices/bluetooth-adapters";
74 changelog = "https://github.com/Bluetooth-Devices/bluetooth-adapters/releases/tag/${src.tag}";
75 license = lib.licenses.asl20;
76 teams = [ lib.teams.home-assistant ];
77 };
78}