1{ lib
2, assertpy
3, buildPythonPackage
4, fetchFromGitHub
5, poetry-core
6, pytest-asyncio
7, pytest-mockservers
8, pytest-resource-path
9, pytest-sugar
10, pytestCheckHook
11, pythonOlder
12, time-machine
13}:
14
15buildPythonPackage rec {
16 pname = "aioswitcher";
17 version = "3.4.0";
18 format = "pyproject";
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "TomerFi";
24 repo = pname;
25 rev = "refs/tags/${version}";
26 hash = "sha256-coTENnNX8GFLstpQtuJOC8050llW4QuLiutYARDWaSo=";
27 };
28
29 nativeBuildInputs = [
30 poetry-core
31 ];
32
33 preCheck = ''
34 export TZ=Asia/Jerusalem
35 '';
36
37 nativeCheckInputs = [
38 assertpy
39 pytest-asyncio
40 pytest-mockservers
41 pytest-resource-path
42 pytest-sugar
43 pytestCheckHook
44 time-machine
45 ];
46
47 disabledTests = [
48 # AssertionError: Expected <14:00> to be equal to <17:00>, but was not.
49 "test_schedule_parser_with_a_weekly_recurring_enabled_schedule_data"
50 "test_schedule_parser_with_a_daily_recurring_enabled_schedule_data"
51 "test_schedule_parser_with_a_partial_daily_recurring_enabled_schedule_data"
52 "test_schedule_parser_with_a_non_recurring_enabled_schedule_data"
53 "test_hexadecimale_timestamp_to_localtime_with_the_current_timestamp_should_return_a_time_string"
54 ];
55
56 pythonImportsCheck = [
57 "aioswitcher"
58 ];
59
60 meta = with lib; {
61 description = "Python module to interact with Switcher water heater";
62 homepage = "https://github.com/TomerFi/aioswitcher";
63 changelog = "https://github.com/TomerFi/aioswitcher/releases/tag/${version}";
64 license = with licenses; [ mit ];
65 maintainers = with maintainers; [ fab ];
66 };
67}