12 # Runtime dependencies
24 # Optional dependencies
44 buildPythonPackage rec {
48 disabled = pythonOlder "3.10";
51 inherit pname version;
52 hash = "sha256-ywpAWjBtKZWly7mQGJTSQHhKnzQTlMa6P0/oxuuJ/24=";
55 build-system = [ setuptools ];
68 ++ lib.optionals (pythonOlder "3.11") [ exceptiongroup ]
69 ++ lib.optionals (pythonOlder "3.12") [ typing-extensions ];
71 optional-dependencies = {
72 kernel = [ ipykernel ];
73 nbconvert = [ nbconvert ];
74 nbformat = [ nbformat ];
79 parallel = [ ipyparallel ];
80 qtconsole = [ qtconsole ];
81 matplotlib = [ matplotlib ];
84 pythonImportsCheck = [ "IPython" ];
89 # doctests try to fetch an image from the internet
90 substituteInPlace pyproject.toml \
91 --replace-fail '"--ipdoctest-modules",' '"--ipdoctest-modules", "--ignore=IPython/core/display.py",'
103 # UnboundLocalError: local variable 'child' referenced before assignment
104 "test_system_interrupt"
106 ++ lib.optionals (pythonAtLeast "3.13") [
107 # AttributeError: 'Pdb' object has no attribute 'curframe'. Did you mean: 'botframe'?
108 "test_run_debug_twice"
109 "test_run_debug_twice_with_breakpoint"
111 ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
112 # FileNotFoundError: [Errno 2] No such file or directory: 'pbpaste'
121 description = "IPython: Productive Interactive Computing";
122 downloadPage = "https://github.com/ipython/ipython/";
123 homepage = "https://ipython.org/";
124 changelog = "https://github.com/ipython/ipython/blob/${version}/docs/source/whatsnew/version${lib.versions.major version}.rst";
125 license = licenses.bsd3;
126 maintainers = with maintainers; [ bjornfor ] ++ teams.jupyter.members;