1{ lib
2, buildPythonPackage
3, fetchPypi
4, pytest
5, pytest-repeat
6, pytest-faulthandler
7, pytest-timeout
8, mock
9, joblib
10, click
11, cloudpickle
12, dask
13, msgpack
14, psutil
15, six
16, sortedcontainers
17, tblib
18, toolz
19, tornado
20, zict
21, pyyaml
22, isPy3k
23, futures
24, singledispatch
25, mpi4py
26, bokeh
27}:
28
29buildPythonPackage rec {
30 pname = "distributed";
31 version = "1.25.3";
32
33 # get full repository need conftest.py to run tests
34 src = fetchPypi {
35 inherit pname version;
36 sha256 = "0bvjlw74n0l4rgzhm876f66f7y6j09744i5h3iwlng2jwzyw97gs";
37 };
38
39 checkInputs = [ pytest pytest-repeat pytest-faulthandler pytest-timeout mock joblib ];
40 propagatedBuildInputs = [
41 click cloudpickle dask msgpack psutil six
42 sortedcontainers tblib toolz tornado zict pyyaml mpi4py bokeh
43 ] ++ lib.optionals (!isPy3k) [ futures singledispatch ];
44
45 # tests take about 10-15 minutes
46 # ignore 5 cli tests out of 1000 total tests that fail due to subprocesses
47 # these tests are not critical to the library (only the cli)
48 checkPhase = ''
49 py.test distributed -m "not avoid-travis" -r s --timeout-method=thread --timeout=0 --durations=20 --ignore="distributed/cli/tests"
50 '';
51
52 # when tested random tests would fail and not repeatably
53 doCheck = false;
54
55 meta = {
56 description = "Distributed computation in Python.";
57 homepage = http://distributed.readthedocs.io/en/latest/;
58 license = lib.licenses.bsd3;
59 platforms = lib.platforms.x86; # fails on aarch64
60 maintainers = with lib.maintainers; [ teh costrouc ];
61 };
62}