1{ buildPythonPackage
2, fetchPypi
3, futures ? null
4, isPy27
5, isPyPy
6, jinja2
7, lib
8, mock
9, numpy
10, nodejs
11, packaging
12, pillow
13#, pytestCheckHook#
14, pytest
15, python-dateutil
16, pyyaml
17, selenium
18, six
19, substituteAll
20, tornado
21, typing-extensions
22, pytz
23, flaky
24, networkx
25, beautifulsoup4
26, requests
27, nbconvert
28, icalendar
29, pandas
30, pythonImportsCheckHook
31}:
32
33buildPythonPackage rec {
34 pname = "bokeh";
35 # update together with panel which is not straightforward
36 version = "2.3.3";
37
38 src = fetchPypi {
39 inherit pname version;
40 sha256 = "a5fdcc181835561447fcc5a371300973fce4114692d5853addec284d1cdeb677";
41 };
42
43 patches = [
44 (substituteAll {
45 src = ./hardcode-nodejs-npmjs-paths.patch;
46 node_bin = "${nodejs}/bin/node";
47 npm_bin = "${nodejs}/bin/npm";
48 })
49 ];
50
51 disabled = isPyPy || isPy27;
52
53 nativeBuildInputs = [
54 pythonImportsCheckHook
55 ];
56
57 pythonImportsCheck = [
58 "bokeh"
59 ];
60
61 checkInputs = [
62 mock
63 pytest
64 pillow
65 selenium
66 pytz
67 flaky
68 networkx
69 beautifulsoup4
70 requests
71 nbconvert
72 icalendar
73 pandas
74 ];
75
76 propagatedBuildInputs = [
77 pillow
78 jinja2
79 python-dateutil
80 six
81 pyyaml
82 tornado
83 numpy
84 packaging
85 typing-extensions
86 ]
87 ++ lib.optionals ( isPy27 ) [
88 futures
89 ];
90
91 # This test suite is a complete pain. Somehow it can't find its fixtures.
92 doCheck = false;
93
94 meta = {
95 description = "Statistical and novel interactive HTML plots for Python";
96 homepage = "https://github.com/bokeh/bokeh";
97 license = lib.licenses.bsd3;
98 maintainers = with lib.maintainers; [ orivej ];
99 };
100}