1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchPypi
5, jupyter-packaging
6, jupyterlab
7, bqscales
8, ipywidgets
9, numpy
10, pandas
11, traitlets
12, traittypes
13}:
14
15buildPythonPackage rec {
16 pname = "bqplot";
17 version = "0.12.40";
18
19 format = "pyproject";
20 disabled = pythonOlder "3.6";
21
22 src = fetchPypi {
23 inherit pname version;
24 hash = "sha256-7L/ovwTwRFju5G3Cwvgla0wVIdRvlEOOm+GTieT4b7k=";
25 };
26
27 # upstream seems in flux for 0.13 release. they seem to want to migrate from
28 # jupyter_packaging to hatch, so let's patch instead of fixing upstream
29 postPatch = ''
30 substituteInPlace pyproject.toml \
31 --replace "jupyter_packaging~=" "jupyter_packaging>=" \
32 --replace "jupyterlab~=" "jupyterlab>="
33 '';
34
35 nativeBuildInputs = [
36 jupyter-packaging
37 jupyterlab
38 ];
39
40 propagatedBuildInputs = [
41 bqscales
42 ipywidgets
43 numpy
44 pandas
45 traitlets
46 traittypes
47 ];
48
49 # no tests in PyPI dist, and not obvious to me how to build the js files from GitHub
50 doCheck = false;
51
52 pythonImportsCheck = [
53 "bqplot"
54 "bqplot.pyplot"
55 ];
56
57 meta = {
58 description = "2D plotting library for Jupyter based on Grammar of Graphics";
59 homepage = "https://bqplot.github.io/bqplot";
60 license = lib.licenses.asl20;
61 maintainers = with lib.maintainers; [ bcdarwin ];
62 };
63}