1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 hatch-vcs,
8 hatchling,
9
10 # dependencies
11 colorcet,
12 numpy,
13 pandas,
14 panel,
15 param,
16 pyviz-comms,
17
18 # tests
19 pytestCheckHook,
20 pytest-asyncio,
21 flaky,
22}:
23
24buildPythonPackage rec {
25 pname = "holoviews";
26 version = "1.20.2";
27 pyproject = true;
28
29 src = fetchFromGitHub {
30 owner = "holoviz";
31 repo = "holoviews";
32 tag = "v${version}";
33 hash = "sha256-QCRVOBMKckPji5rH7iCSnmxbNwtGypMqdfBXilXmngE=";
34 };
35
36 postPatch = ''
37 substituteInPlace pyproject.toml \
38 --replace '"ignore:No data was collected:coverage.exceptions.CoverageWarning",' ""
39 '';
40
41 build-system = [
42 hatch-vcs
43 hatchling
44 ];
45
46 dependencies = [
47 colorcet
48 numpy
49 pandas
50 panel
51 param
52 pyviz-comms
53 ];
54
55 nativeCheckInputs = [
56 pytestCheckHook
57 pytest-asyncio
58 flaky
59 ];
60
61 pytestFlags = [
62 "-Wignore::FutureWarning"
63 ];
64
65 disabledTests = [
66 # All the below fail due to some change in flaky API
67 "test_periodic_param_fn_non_blocking"
68 "test_callback_cleanup"
69 "test_poly_edit_callback"
70 "test_launch_server_with_complex_plot"
71 "test_launch_server_with_stream"
72 "test_launch_simple_server"
73 "test_server_dynamicmap_with_dims"
74 "test_server_dynamicmap_with_stream"
75 "test_server_dynamicmap_with_stream_dims"
76
77 # ModuleNotFoundError: No module named 'param'
78 "test_no_blocklist_imports"
79 ];
80
81 pythonImportsCheck = [ "holoviews" ];
82
83 meta = {
84 description = "Python data analysis and visualization seamless and simple";
85 changelog = "https://github.com/holoviz/holoviews/releases/tag/v${version}";
86 mainProgram = "holoviews";
87 homepage = "https://www.holoviews.org/";
88 license = lib.licenses.bsd3;
89 maintainers = [ ];
90 };
91}