11 # Runtime dependencies
23 # Optional dependencies
43 buildPythonPackage rec {
47 disabled = pythonOlder "3.10";
50 inherit pname version;
51 hash = "sha256-C5mi3J8V/WhpLomOVWhyXG1JxSfTap+1lg/73qqC/34=";
54 build-system = [ setuptools ];
67 ++ lib.optionals (pythonOlder "3.11") [ exceptiongroup ]
68 ++ lib.optionals (pythonOlder "3.12") [ typing-extensions ];
70 optional-dependencies = {
71 kernel = [ ipykernel ];
72 nbconvert = [ nbconvert ];
73 nbformat = [ nbformat ];
78 parallel = [ ipyparallel ];
79 qtconsole = [ qtconsole ];
80 matplotlib = [ matplotlib ];
83 pythonImportsCheck = [ "IPython" ];
88 # doctests try to fetch an image from the internet
89 substituteInPlace pyproject.toml \
90 --replace-fail '"--ipdoctest-modules",' '"--ipdoctest-modules", "--ignore=IPython/core/display.py",'
102 # UnboundLocalError: local variable 'child' referenced before assignment
103 "test_system_interrupt"
105 ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
106 # FileNotFoundError: [Errno 2] No such file or directory: 'pbpaste'
115 description = "IPython: Productive Interactive Computing";
116 downloadPage = "https://github.com/ipython/ipython/";
117 homepage = "https://ipython.org/";
118 changelog = "https://github.com/ipython/ipython/blob/${version}/docs/source/whatsnew/version${lib.versions.major version}.rst";
119 license = licenses.bsd3;
120 maintainers = with maintainers; [ bjornfor ] ++ teams.jupyter.members;