1{ stdenv, lib, buildPythonPackage, fetchPypi, python, pythonOlder
2, cython
3, eventlet
4, futures
5, libev
6, mock
7, nose
8, pytest
9, pytz
10, pyyaml
11, scales
12, six
13, sure
14}:
15
16buildPythonPackage rec {
17 pname = "cassandra-driver";
18 version = "3.20.2";
19
20 src = fetchPypi {
21 inherit pname version;
22 sha256 = "03nycyn5nd1pnrg6fffq3wcjqnw13lgja137zq5zszx68mc15wnl";
23 };
24
25 nativeBuildInputs = [ cython ];
26 buildInputs = [ libev ];
27 propagatedBuildInputs = [ six ]
28 ++ lib.optionals (pythonOlder "3.4") [ futures ];
29
30 checkInputs = [ eventlet mock nose pytest pytz pyyaml sure ];
31
32 # ignore test files which try to do socket.getprotocolname('tcp')
33 # as it fails in sandbox mode due to lack of a /etc/protocols file
34 checkPhase = ''
35 pytest tests/unit \
36 --ignore=tests/unit/io/test_libevreactor.py \
37 --ignore=tests/unit/io/test_eventletreactor.py \
38 --ignore=tests/unit/io/test_asyncorereactor.py
39 '';
40
41 meta = with lib; {
42 description = "A Python client driver for Apache Cassandra";
43 homepage = "http://datastax.github.io/python-driver";
44 license = licenses.asl20;
45 };
46}