1{ lib
2, bleak
3, bleak-retry-connector
4, bluetooth-sensor-state-data
5, buildPythonPackage
6, events
7, fetchFromGitHub
8, freezegun
9, home-assistant-bluetooth
10, poetry-core
11, pytest-asyncio
12, pytest-mock
13, pytestCheckHook
14, pythonOlder
15, transitions
16}:
17
18buildPythonPackage rec {
19 pname = "pysnooz";
20 version = "0.8.4";
21 format = "pyproject";
22
23 disabled = pythonOlder "3.9";
24
25 src = fetchFromGitHub {
26 owner = "AustinBrunkhorst";
27 repo = pname;
28 rev = "v${version}";
29 hash = "sha256-PrjDGBmdYN5qWUh5fvtq1yOMa/Lobq181C2RNfwfARI=";
30 };
31
32 postPatch = ''
33 substituteInPlace pyproject.toml \
34 --replace 'transitions = "^0.8.11"' 'transitions = ">0.8.11"' \
35 --replace " --cov=pysnooz --cov-report=term-missing:skip-covered" ""
36 '';
37
38 nativeBuildInputs = [
39 poetry-core
40 ];
41
42 propagatedBuildInputs = [
43 bleak
44 bleak-retry-connector
45 bluetooth-sensor-state-data
46 events
47 home-assistant-bluetooth
48 transitions
49 ];
50
51 nativeCheckInputs = [
52 freezegun
53 pytest-asyncio
54 pytest-mock
55 pytestCheckHook
56 ];
57
58 pythonImportsCheck = [
59 "pysnooz"
60 ];
61
62 meta = with lib; {
63 description = "Library to control SNOOZ white noise machines";
64 homepage = "https://github.com/AustinBrunkhorst/pysnooz";
65 license = with licenses; [ mit ];
66 maintainers = with maintainers; [ fab ];
67 };
68}