at 24.11-pre 2.3 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 fetchFromGitHub, 6 pythonOlder, 7 substituteAll, 8 colorama, 9 contourpy, 10 jinja2, 11 numpy, 12 nodejs, 13 packaging, 14 pandas, 15 pillow, 16 tornado, 17 pytestCheckHook, 18 pyyaml, 19 setuptools, 20 setuptools-git-versioning, 21 xyzservices, 22 beautifulsoup4, 23 channels, 24 click, 25 colorcet, 26 coverage, 27 firefox, 28 geckodriver, 29 isort, 30 json5, 31 nbconvert, 32 networkx, 33 psutil, 34 pygments, 35 pygraphviz, 36 pytest, 37 pytest-asyncio, 38 pytest-xdist, 39 pytest-timeout, 40 requests, 41 scipy, 42 selenium, 43 toml, 44 typing-extensions, 45}: 46 47buildPythonPackage rec { 48 pname = "bokeh"; 49 # update together with panel which is not straightforward 50 version = "3.4.1"; 51 format = "pyproject"; 52 53 disabled = pythonOlder "3.9"; 54 55 src = fetchPypi { 56 inherit pname version; 57 hash = "sha256-2CSWHkJlNnsHUM5YsH5WStC4PKZLM1UhzTQh6bnxDYk="; 58 }; 59 60 src_test = fetchFromGitHub { 61 owner = "bokeh"; 62 repo = pname; 63 rev = "refs/tags/${version}"; 64 hash = "sha256-PK9iLOCcivr4oF9Riq73dzxGfxzWRk3bdrCCpRrTv5g="; 65 }; 66 67 patches = [ 68 (substituteAll { 69 src = ./hardcode-nodejs-npmjs-paths.patch; 70 node_bin = "${nodejs}/bin/node"; 71 npm_bin = "${nodejs}/bin/npm"; 72 }) 73 ]; 74 75 nativeBuildInputs = [ 76 colorama 77 nodejs 78 setuptools 79 setuptools-git-versioning 80 ]; 81 82 nativeCheckInputs = [ 83 pytestCheckHook 84 beautifulsoup4 85 channels 86 click 87 colorcet 88 coverage 89 firefox 90 geckodriver 91 isort 92 json5 93 nbconvert 94 networkx 95 psutil 96 pygments 97 pygraphviz 98 pytest 99 pytest-asyncio 100 pytest-xdist 101 pytest-timeout 102 requests 103 scipy 104 selenium 105 toml 106 typing-extensions 107 ]; 108 109 propagatedBuildInputs = [ 110 jinja2 111 contourpy 112 numpy 113 packaging 114 pandas 115 pillow 116 pyyaml 117 tornado 118 xyzservices 119 ]; 120 121 doCheck = false; # need more work 122 pytestFlagsArray = "tests/test_defaults.py"; 123 pythonImportsCheck = [ "bokeh" ]; 124 preCheck = '' 125 cp -rv ''${src_test}/tests/* ./tests/ 126 ''; 127 128 meta = { 129 description = "Statistical and novel interactive HTML plots for Python"; 130 mainProgram = "bokeh"; 131 homepage = "https://github.com/bokeh/bokeh"; 132 license = lib.licenses.bsd3; 133 maintainers = with lib.maintainers; [ orivej ]; 134 }; 135}