1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 isPy27,
6 appdirs,
7 asn1crypto,
8 cffi,
9 cryptography,
10 furl,
11 idna,
12 orderedmultidict,
13 packaging,
14 peewee,
15 py,
16 pyasn1,
17 pycparser,
18 pyparsing,
19 pyscrypt,
20 python-dateutil,
21 pytz,
22 requests,
23 six,
24 vobject,
25 pytest,
26}:
27
28buildPythonPackage rec {
29 pname = "etesync";
30 version = "0.12.1";
31 format = "setuptools";
32 disabled = isPy27;
33
34 src = fetchPypi {
35 inherit pname version;
36 sha256 = "f20f7e9922ee789c4b71379676ebfe656b675913fe524f2ee722e1b9ef4e5197";
37 };
38
39 propagatedBuildInputs = [
40 appdirs
41 asn1crypto
42 cffi
43 cryptography
44 furl
45 idna
46 orderedmultidict
47 packaging
48 peewee
49 py
50 pyasn1
51 pycparser
52 pyparsing
53 pyscrypt
54 python-dateutil
55 pytz
56 requests
57 six
58 vobject
59 ];
60
61 nativeCheckInputs = [ pytest ];
62
63 checkPhase = ''
64 pytest tests/test_collections.py
65 pytest tests/test_crypto.py
66 '';
67
68 meta = with lib; {
69 homepage = "https://www.etesync.com/";
70 description = "Python API to interact with an EteSync server";
71 license = licenses.lgpl3;
72 maintainers = with maintainers; [ valodim ];
73 };
74}