1{ lib
2, buildPythonPackage
3, fetchPypi
4, dask
5, distributed
6, bokeh
7, toolz
8, datashape
9, numba
10, numpy
11, pandas
12, pillow
13, xarray
14, colorcet
15, param
16, pyct
17, pyyaml
18, requests
19, scikitimage
20, scipy
21, pytest
22, pytest-benchmark
23, flake8
24, nbsmoke
25, fastparquet
26, testpath
27, nbconvert
28, pytest_xdist
29}:
30
31buildPythonPackage rec {
32 pname = "datashader";
33 version = "0.11.1";
34
35 src = fetchPypi {
36 inherit pname version;
37 sha256 = "b1f80415f72f92ccb660aaea7b2881ddd35d07254f7c44101709d42e819d6be6";
38 };
39
40 propagatedBuildInputs = [
41 dask
42 distributed
43 bokeh
44 toolz
45 datashape
46 numba
47 numpy
48 pandas
49 pillow
50 xarray
51 colorcet
52 param
53 pyct
54 pyyaml
55 requests
56 scikitimage
57 scipy
58 testpath
59 ];
60
61 checkInputs = [
62 pytest
63 pytest-benchmark
64 pytest_xdist # not needed
65 flake8
66 nbsmoke
67 fastparquet
68 pandas
69 nbconvert
70 ];
71
72 postConfigure = ''
73 substituteInPlace setup.py \
74 --replace "'numba >=0.37.0,<0.49'" "'numba'"
75 '';
76
77 # dask doesn't do well with large core counts
78 checkPhase = ''
79 pytest -n $NIX_BUILD_CORES datashader -k 'not dask.array'
80 '';
81
82 meta = with lib; {
83 description = "Data visualization toolchain based on aggregating into a grid";
84 homepage = "https://datashader.org";
85 license = licenses.bsd3;
86 maintainers = [ maintainers.costrouc ];
87 };
88}