nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, aenum
3, aiohttp
4, aiohttp-wsgi
5, async-timeout
6, buildPythonPackage
7, fetchFromGitHub
8, pytestCheckHook
9, pythonAtLeast
10, pythonOlder
11, pytest-aiohttp
12, pytest-asyncio
13, requests
14, websocket-client
15, websockets
16}:
17
18buildPythonPackage rec {
19 pname = "homematicip";
20 version = "1.0.2";
21 format = "setuptools";
22
23 disabled = pythonOlder "3.6";
24
25 src = fetchFromGitHub {
26 owner = "coreGreenberet";
27 repo = "homematicip-rest-api";
28 rev = version;
29 sha256 = "sha256-j2ansly05auevlcDY5TFz6PZR/pNIGIbtkJuU8L5b0o=";
30 };
31
32 propagatedBuildInputs = [
33 aenum
34 aiohttp
35 async-timeout
36 requests
37 websocket-client
38 websockets
39 ];
40
41 checkInputs = [
42 aiohttp-wsgi
43 pytest-aiohttp
44 pytest-asyncio
45 pytestCheckHook
46 ];
47
48 disabledTests = [
49 # Assert issues with datetime
50 "test_contact_interface_device"
51 "test_dimmer"
52 "test_heating_failure_alert_group"
53 "test_heating"
54 "test_humidity_warning_rule_group"
55 "test_meta_group"
56 "test_pluggable_switch_measuring"
57 "test_rotary_handle_sensor"
58 "test_security_group"
59 "test_security_zone"
60 "test_shutter_device"
61 "test_smoke_detector"
62 "test_switching_group"
63 "test_temperature_humidity_sensor_outdoor"
64 "test_wall_mounted_thermostat_pro"
65 "test_weather_sensor"
66 # Random failures
67 "test_home_getSecurityJournal"
68 "test_home_unknown_types"
69 # Requires network access
70 "test_websocket"
71 ] ++ lib.optionals (pythonAtLeast "3.10") [
72 "test_connection_lost"
73 "test_user_disconnect_and_reconnect"
74 "test_ws_message"
75 "test_ws_no_pong"
76 ];
77
78 pythonImportsCheck = [
79 "homematicip"
80 ];
81
82 meta = with lib; {
83 description = "Python module for the homematicIP REST API";
84 homepage = "https://github.com/coreGreenberet/homematicip-rest-api";
85 license = with licenses; [ gpl3Only ];
86 maintainers = with maintainers; [ fab ];
87 };
88}