python312Packages.dash-renderer: remove (#369714)
[NixPkgs.git] / pkgs / development / python-modules / samsungtvws / default.nix
blobaac1c72487b553d54fb23f5f60cdf68e6607365b
2   lib,
3   buildPythonPackage,
4   fetchFromGitHub,
5   isPy27,
7   # propagates:
8   requests,
9   websocket-client,
11   # extras: async
12   aiohttp,
13   websockets,
15   # extras: encrypted
16   cryptography,
17   py3rijndael,
19   # tests
20   aioresponses,
21   pytest-asyncio,
22   pytestCheckHook,
25 buildPythonPackage rec {
26   pname = "samsungtvws";
27   version = "2.7.2";
28   format = "setuptools";
29   disabled = isPy27;
31   src = fetchFromGitHub {
32     owner = "xchwarze";
33     repo = "samsung-tv-ws-api";
34     tag = "v${version}";
35     hash = "sha256-CU59Kg8kSEE71x6wifCKCaVFdaMftodtkrAOpD+qvWY=";
36   };
38   propagatedBuildInputs = [
39     requests
40     websocket-client
41   ];
43   optional-dependencies = {
44     async = [
45       aiohttp
46       websockets
47     ];
48     encrypted = [
49       cryptography
50       py3rijndael
51     ];
52   };
54   nativeCheckInputs =
55     [
56       aioresponses
57       pytest-asyncio
58       pytestCheckHook
59     ]
60     ++ optional-dependencies.async
61     ++ optional-dependencies.encrypted;
63   pythonImportsCheck = [ "samsungtvws" ];
65   meta = with lib; {
66     description = "Samsung Smart TV WS API wrapper";
67     homepage = "https://github.com/xchwarze/samsung-tv-ws-api";
68     changelog = "https://github.com/xchwarze/samsung-tv-ws-api/releases/tag/v${version}";
69     license = licenses.mit;
70     maintainers = with maintainers; [ hexa ];
71   };