47 buildPythonPackage rec {
50 format = "setuptools";
52 disabled = pythonOlder "3.7";
55 inherit pname version;
56 hash = "sha256-nZ+rw5qALSdu+nbaAtGA7PLW6XjcjeZvuPd4a5WtZkw=";
60 pyqtwebengine.wrapQtAppsHook
63 propagatedBuildInputs = [
99 ] ++ python-lsp-server.optional-dependencies.all;
101 # There is no test for spyder
104 desktopItem = makeDesktopItem {
108 comment = "Scientific Python Development Environment";
109 desktopName = "Spyder";
110 genericName = "Python IDE";
111 categories = [ "Development" "IDE" ];
115 # Remove dependency on pyqtwebengine
116 # This is still part of the pyqt 5.11 version we have in nixpkgs
117 sed -i /pyqtwebengine/d setup.py
118 substituteInPlace setup.py \
119 --replace "qdarkstyle>=3.0.2,<3.1.0" "qdarkstyle" \
120 --replace "ipython>=7.31.1,<8.0.0" "ipython"
124 # Add Python libs to env so Spyder subprocesses
125 # created to run compute kernels don't fail with ImportErrors
126 wrapProgram $out/bin/spyder --prefix PYTHONPATH : "$PYTHONPATH"
128 # Create desktop item
129 mkdir -p $out/share/icons
130 cp spyder/images/spyder.svg $out/share/icons
131 cp -r $desktopItem/share/applications/ $out/share
134 dontWrapQtApps = true;
137 makeWrapperArgs+=("''${qtWrapperArgs[@]}")
141 description = "Scientific python development environment";
143 Spyder (previously known as Pydee) is a powerful interactive development
144 environment for the Python language with advanced editing, interactive
145 testing, debugging and introspection features.
147 homepage = "https://www.spyder-ide.org/";
148 downloadPage = "https://github.com/spyder-ide/spyder/releases";
149 changelog = "https://github.com/spyder-ide/spyder/blob/master/CHANGELOG.md";
150 license = licenses.mit;
151 maintainers = with maintainers; [ gebner ];
152 platforms = platforms.linux;