1 { lib, buildPythonPackage, fetchPypi, isPy27, makeDesktopItem, intervaltree,
2 jedi, pycodestyle, psutil, pyflakes, rope, numpy, scipy, matplotlib, pylint,
3 keyring, numpydoc, qtconsole, qtawesome, nbconvert, mccabe, pyopengl,
4 cloudpickle, pygments, spyder-kernels, qtpy, pyzmq, chardet, qdarkstyle,
5 watchdog, python-language-server, pyqtwebengine, atomicwrites, pyxdg,
6 diff-match-patch, three-merge, pyls-black, pyls-spyder, flake8
9 buildPythonPackage rec {
16 inherit pname version;
17 sha256 = "7f93bc5b8b119cc1e195ce3efcc1598386e082c4096334c1fa2b018938ac79b9";
20 nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
22 propagatedBuildInputs = [
23 intervaltree jedi pycodestyle psutil pyflakes rope numpy scipy matplotlib pylint keyring
24 numpydoc qtconsole qtawesome nbconvert mccabe pyopengl cloudpickle spyder-kernels
25 pygments qtpy pyzmq chardet pyqtwebengine qdarkstyle watchdog python-language-server
26 atomicwrites pyxdg diff-match-patch three-merge pyls-black pyls-spyder
30 # There is no test for spyder
33 desktopItem = makeDesktopItem {
37 comment = "Scientific Python Development Environment";
38 desktopName = "Spyder";
39 genericName = "Python IDE";
40 categories = "Development;IDE;";
44 # remove dependency on pyqtwebengine
45 # this is still part of the pyqt 5.11 version we have in nixpkgs
46 sed -i /pyqtwebengine/d setup.py
47 substituteInPlace setup.py \
48 --replace "pyqt5<5.13" "pyqt5" \
49 --replace "parso==0.7.0" "parso"
53 # add Python libs to env so Spyder subprocesses
54 # created to run compute kernels don't fail with ImportErrors
55 wrapProgram $out/bin/spyder --prefix PYTHONPATH : "$PYTHONPATH"
58 mkdir -p $out/share/icons
59 cp spyder/images/spyder.svg $out/share/icons
60 cp -r $desktopItem/share/applications/ $out/share
63 dontWrapQtApps = true;
66 makeWrapperArgs+=("''${qtWrapperArgs[@]}")
70 description = "Scientific python development environment";
72 Spyder (previously known as Pydee) is a powerful interactive development
73 environment for the Python language with advanced editing, interactive
74 testing, debugging and introspection features.
76 homepage = "https://www.spyder-ide.org/";
77 downloadPage = "https://github.com/spyder-ide/spyder/releases";
78 changelog = "https://github.com/spyder-ide/spyder/blob/master/CHANGELOG.md";
79 license = licenses.mit;
80 platforms = platforms.linux;
81 maintainers = with maintainers; [ gebner ];