1{ buildPythonPackage
2, fetchPypi
3, futures
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 version = "2.1.1";
37
38 src = fetchPypi {
39 inherit pname version;
40 sha256 = "2dfabf228f55676b88acc464f416e2b13ee06470a8ad1dd3e609bb789425fbad";
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}