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