1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6
7 # build-system
8 setuptools-scm,
9
10 # dependencies
11 bokeh,
12 colorcet,
13 holoviews,
14 pandas,
15
16 # tests
17 pytestCheckHook,
18 dask,
19 xarray,
20 bokeh-sampledata,
21 parameterized,
22 selenium,
23 matplotlib,
24 scipy,
25 plotly,
26}:
27
28buildPythonPackage rec {
29 pname = "hvplot";
30 version = "0.11.1";
31 pyproject = true;
32
33 disabled = pythonOlder "3.9";
34
35 src = fetchPypi {
36 inherit pname version;
37 hash = "sha256-mJ7QOJGJrcR+3NJgHS6rGL82bnSwf14oc+AhMjxKFLs=";
38 };
39
40 build-system = [
41 setuptools-scm
42 ];
43
44 dependencies = [
45 bokeh
46 colorcet
47 holoviews
48 pandas
49 ];
50
51 nativeCheckInputs = [
52 pytestCheckHook
53 dask
54 xarray
55 bokeh-sampledata
56 parameterized
57 selenium
58 matplotlib
59 scipy
60 plotly
61 ];
62
63 disabledTestPaths = [
64 # All of the following below require xarray.tutorial files that require
65 # downloading files from the internet (not possible in the sandbox).
66 "hvplot/tests/testgeo.py"
67 "hvplot/tests/testinteractive.py"
68 "hvplot/tests/testui.py"
69 "hvplot/tests/testutil.py"
70 ];
71
72 # need to set MPLBACKEND=agg for headless matplotlib for darwin
73 # https://github.com/matplotlib/matplotlib/issues/26292
74 preCheck = ''
75 export MPLBACKEND=agg
76 '';
77
78 pythonImportsCheck = [ "hvplot.pandas" ];
79
80 meta = {
81 description = "High-level plotting API for the PyData ecosystem built on HoloViews";
82 homepage = "https://hvplot.pyviz.org";
83 changelog = "https://github.com/holoviz/hvplot/releases/tag/v${version}";
84 license = lib.licenses.bsd3;
85 maintainers = [ ];
86 };
87}