1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 dill,
7 astropy,
8 numpy,
9 pandas,
10 qt6,
11 pyqt6,
12 pyqt-builder,
13 qtconsole,
14 setuptools,
15 setuptools-scm,
16 scipy,
17 ipython,
18 ipykernel,
19 h5py,
20 matplotlib,
21 xlrd,
22 mpl-scatter-density,
23 pvextractor,
24 openpyxl,
25 echo,
26 pytest,
27 pytest-flakes,
28 pytest-cov,
29}:
30
31buildPythonPackage rec {
32 pname = "glueviz";
33 version = "1.17.1";
34 format = "setuptools";
35
36 disabled = pythonOlder "3.7";
37
38 src = fetchFromGitHub {
39 owner = "glue-viz";
40 repo = "glue";
41 rev = "refs/tags/v${version}";
42 sha256 = "sha256-nr84GJAGnpKzjZEFNsQujPysSQENwGxdNfPIYUCJkK4=";
43 };
44
45 buildInputs = [ pyqt-builder ];
46 nativeBuildInputs = [
47 setuptools
48 setuptools-scm
49 qt6.wrapQtAppsHook
50 ];
51 propagatedBuildInputs = [
52 astropy
53 dill
54 setuptools
55 scipy
56 numpy
57 matplotlib
58 pandas
59 pyqt6
60 qtconsole
61 ipython
62 ipykernel
63 h5py
64 xlrd
65 mpl-scatter-density
66 pvextractor
67 openpyxl
68 echo
69 ];
70
71 dontConfigure = true;
72
73 # collecting ... qt.qpa.xcb: could not connect to display
74 # qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
75 doCheck = false;
76
77 nativeCheckInputs = [
78 pytest
79 pytest-flakes
80 pytest-cov
81 ];
82
83 pythonImportsCheck = [ "glue" ];
84
85 preFixup = ''
86 makeWrapperArgs+=("''${qtWrapperArgs[@]}")
87 '';
88
89 meta = with lib; {
90 homepage = "https://glueviz.org";
91 description = "Linked Data Visualizations Across Multiple Files";
92 license = licenses.bsd3; # https://github.com/glue-viz/glue/blob/main/LICENSE
93 maintainers = with maintainers; [ ifurther ];
94 };
95}