1{
2 lib,
3 async-interrupt,
4 async-timeout,
5 bleak,
6 bleak-retry-connector,
7 buildPythonPackage,
8 fetchFromGitHub,
9 poetry-core,
10 pytest-cov-stub,
11 pytestCheckHook,
12 pythonOlder,
13}:
14
15buildPythonPackage rec {
16 pname = "airthings-ble";
17 version = "0.9.2";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "vincegio";
24 repo = "airthings-ble";
25 rev = "refs/tags/${version}";
26 hash = "sha256-m2jsXLrj2yS2Wi2dSwyxBv/nXmU738gd5iJ1JVfakUg=";
27 };
28
29 build-system = [ poetry-core ];
30
31 dependencies = [
32 async-interrupt
33 bleak
34 bleak-retry-connector
35 ] ++ lib.optionals (pythonOlder "3.11") [ async-timeout ];
36
37 nativeCheckInputs = [
38 pytest-cov-stub
39 pytestCheckHook
40 ];
41
42 pythonImportsCheck = [ "airthings_ble" ];
43
44 meta = with lib; {
45 description = "Library for Airthings BLE devices";
46 homepage = "https://github.com/vincegio/airthings-ble";
47 changelog = "https://github.com/vincegio/airthings-ble/releases/tag/${version}";
48 license = with licenses; [ mit ];
49 maintainers = with maintainers; [ fab ];
50 };
51}