1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, setuptools
6, setuptools-scm
7, libxcrypt
8, numpy
9, qt6
10, qtpy
11, pyqt6
12, pytestCheckHook
13, pytest-cov
14}:
15
16buildPythonPackage rec {
17 pname = "echo";
18 version = "0.8.0";
19
20 disabled = pythonOlder "3.6";
21
22 src = fetchFromGitHub {
23 owner = "glue-viz";
24 repo = pname;
25 rev = "v${version}";
26 sha256 = "sha256-0FmUA7kOFSRZXwbj8d7asujBPOjE2pFhu6TDNSGD4r0=";
27 };
28
29 nativeBuildInputs = [ setuptools setuptools-scm qt6.wrapQtAppsHook ];
30
31 buildInputs = lib.optionals (pythonOlder "3.9") [
32 libxcrypt
33 ];
34
35 propagatedBuildInputs = [
36 qt6.qtconnectivity
37 qt6.qtbase
38 qt6.qttools
39 pyqt6
40 numpy
41 qtpy
42 ];
43
44 env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
45
46 # collecting ... qt.qpa.xcb: could not connect to display
47 # qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
48 doCheck = false;
49
50 nativeCheckInputs = [
51 pytestCheckHook
52 pytest-cov
53 ];
54
55 pythonImportsCheck = [ "echo" ];
56
57 meta = with lib; {
58 homepage = "https://github.com/glue-viz/echo";
59 description = "Callback Properties in Python";
60 license = licenses.mit;
61 maintainers = with maintainers; [ ifurther ];
62 };
63}