IPython.core.interactiveshell imports an error class from IPython.parallel:
https://github.com/ipython/ipython/blob/master/IPython/core/interactiveshell.py#L89
This pulls in the parallel machinery, zmq, numpy, paramiko, and so on, so it adds significantly to startup time and memory use.
The comment in the file suggests a better way of handling it - move the error class into IPython.core.errors, and have IPython.parallel import it from there.
IPython.core.interactiveshell imports an error class from IPython.parallel:
https://github.com/ipython/ipython/blob/master/IPython/core/interactiveshell.py#L89
This pulls in the parallel machinery, zmq, numpy, paramiko, and so on, so it adds significantly to startup time and memory use.
The comment in the file suggests a better way of handling it - move the error class into IPython.core.errors, and have IPython.parallel import it from there.