1{ lib
2, buildPythonPackage
3, aiohttp
4, bitarray
5, cryptography
6, deepdiff
7, fetchFromGitHub
8, mediafile
9, miniaudio
10, netifaces
11, protobuf
12, pytest-aiohttp
13, pytest-asyncio
14, pytest-timeout
15, pytestCheckHook
16, pythonOlder
17, srptools
18, zeroconf
19}:
20
21buildPythonPackage rec {
22 pname = "pyatv";
23 version = "0.9.6";
24
25 format = "setuptools";
26 disabled = pythonOlder "3.6";
27
28 src = fetchFromGitHub {
29 owner = "postlund";
30 repo = pname;
31 rev = "v${version}";
32 sha256 = "0navm7a0k1679kj7nbkbyl7s2q0wq0xmcnizmnvp0arkd5xqmqv1";
33 };
34
35 postPatch = ''
36 substituteInPlace setup.py \
37 --replace "pytest-runner" ""
38 '';
39
40 propagatedBuildInputs = [
41 aiohttp
42 bitarray
43 cryptography
44 mediafile
45 miniaudio
46 netifaces
47 protobuf
48 srptools
49 zeroconf
50 ];
51
52 checkInputs = [
53 deepdiff
54 pytest-aiohttp
55 pytest-asyncio
56 pytest-timeout
57 pytestCheckHook
58 ];
59
60 __darwinAllowLocalNetworking = true;
61
62 pythonImportsCheck = [
63 "pyatv"
64 ];
65
66 meta = with lib; {
67 description = "Python client library for the Apple TV";
68 homepage = "https://github.com/postlund/pyatv";
69 license = licenses.mit;
70 maintainers = with maintainers; [ elseym ];
71 };
72}