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