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