IPython
IPython is an improved Python shell than the one you get from running $ python
in the command-line. It has many cool functions (running Unix commands from the Python shell, easy copy & paste, creating Matplotlib charts in-line etc.). You can find all functions in the documentation.
IPython is a kernel for Jupyter Notebook. If you are confused IPython with Jupyter, refer to the Jupyter documentation
Installation
$ pip install ipython
If you want a more fine grained command you can try the following:
For zsh -> $ pip install 'ipython[zmq,qtconsole,notebook,test]'
For bash -> $ pip install ipython[zmq,qtconsole,notebook,test]