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 disabledTests = [ 62 # All the below fail due to some change in flaky API 63 "test_periodic_param_fn_non_blocking" 64 "test_callback_cleanup" 65 "test_poly_edit_callback" 66 "test_launch_server_with_complex_plot" 67 "test_launch_server_with_stream" 68 "test_launch_simple_server" 69 "test_server_dynamicmap_with_dims" 70 "test_server_dynamicmap_with_stream" 71 "test_server_dynamicmap_with_stream_dims" 72 73 # ModuleNotFoundError: No module named 'param' 74 "test_no_blocklist_imports" 75 ]; 76 77 pythonImportsCheck = [ "holoviews" ]; 78 79 meta = { 80 description = "Python data analysis and visualization seamless and simple"; 81 changelog = "https://github.com/holoviz/holoviews/releases/tag/v${version}"; 82 mainProgram = "holoviews"; 83 homepage = "https://www.holoviews.org/"; 84 license = lib.licenses.bsd3; 85 maintainers = [ ]; 86 }; 87}