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