1{ lib
2, stdenv
3, aiohttp
4, async-timeout
5, buildPythonPackage
6, defusedxml
7, fetchFromGitHub
8, pytest-asyncio
9, pytestCheckHook
10, python-didl-lite
11, pythonOlder
12, voluptuous
13}:
14
15buildPythonPackage rec {
16 pname = "async-upnp-client";
17 version = "0.22.12";
18 disabled = pythonOlder "3.6";
19
20 src = fetchFromGitHub {
21 owner = "StevenLooman";
22 repo = "async_upnp_client";
23 rev = version;
24 sha256 = "sha256-fp7I0G6gljkTZ2slQJ8R9AJ9VKQOQi2cLiZ63seUajs=";
25 };
26
27 propagatedBuildInputs = [
28 aiohttp
29 async-timeout
30 defusedxml
31 python-didl-lite
32 voluptuous
33 ];
34
35 checkInputs = [
36 pytestCheckHook
37 pytest-asyncio
38 ];
39
40 disabledTests = [
41 # socket.gaierror: [Errno -2] Name or service not known
42 "test_async_get_local_ip"
43 "test_get_local_ip"
44 # OSError: [Errno 101] Network is unreachable
45 "test_auto_resubscribe_fail"
46 "test_init"
47 "test_on_notify_dlna_event"
48 "test_on_notify_upnp_event"
49 "test_server_init"
50 "test_server_start"
51 "test_start_server"
52 "test_subscribe"
53 "test_subscribe_auto_resubscribe"
54 "test_subscribe_fail"
55 "test_subscribe_manual_resubscribe"
56 "test_subscribe_renew"
57 "test_unsubscribe"
58 ] ++ lib.optionals stdenv.isDarwin [
59 "test_deferred_callback_url"
60 ];
61
62 pythonImportsCheck = [ "async_upnp_client" ];
63
64 meta = with lib; {
65 description = "Asyncio UPnP Client library for Python";
66 homepage = "https://github.com/StevenLooman/async_upnp_client";
67 license = licenses.asl20;
68 maintainers = with maintainers; [ hexa ];
69 };
70}