1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6
7 # propagates
8 packaging,
9
10 # tests
11 pyqt5,
12 pyside2,
13 pytestCheckHook,
14}:
15
16buildPythonPackage rec {
17 pname = "qtpy";
18 version = "2.4.1";
19 format = "setuptools";
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchPypi {
24 pname = "QtPy";
25 inherit version;
26 hash = "sha256-paFf/VGVUKE2G9xW/8B/2lamr3KS8Xx7OV1Ag69jKYc=";
27 };
28
29 propagatedBuildInputs = [ packaging ];
30
31 doCheck = false; # ModuleNotFoundError: No module named 'PyQt5.QtConnectivity'
32 nativeCheckInputs = [
33 pyside2
34 (pyqt5.override {
35 withConnectivity = true;
36 withMultimedia = true;
37 withWebKit = true;
38 withWebSockets = true;
39 })
40 pytestCheckHook
41 ];
42
43 disabledTestPaths = [
44 # Fatal error in python on x86_64
45 "qtpy/tests/test_uic.py"
46 ];
47
48 meta = with lib; {
49 description = "Abstraction layer for PyQt5/PyQt6/PySide2/PySide6";
50 mainProgram = "qtpy";
51 homepage = "https://github.com/spyder-ide/qtpy";
52 license = licenses.mit;
53 };
54}