This documentation covers a development version of IPython. The development version may differ significantly from the latest stable release.


This documentation covers IPython versions 6.0 and higher. Beginning with version 6.0, IPython stopped supporting compatibility with Python versions lower than 3.3 including all versions of Python 2.7.

If you are looking for an IPython version compatible with Python 2.7, please use the IPython 5.x LTS release and refer to its documentation (LTS is the long term support release).

Development version

This document describes in-flight development work.


Please do not edit this file by hand (doing so will likely cause merge conflicts for other Pull Requests). Instead, create a new file in the docs/source/whatsnew/pr folder

Released …. …., 2019

Need to be updated:

Autosuggestion is a very useful feature available in fish, zsh, and prompt-toolkit.

Ptpython allows users to enable this feature in ptpython/config.py.

This feature allows users to accept autosuggestions with ctrl e, ctrl f, or right arrow as described below.

  1. Start ipython

  1. Run print("hello")

  1. Press p to see the autosuggestion

  1. Press ctrl f, or ctrl e, or right arrow to accept the suggestion


You can also complete word by word:

  1. Run def say_hello(): print("hello")

  1. Press d to see the autosuggestion

  1. Press alt f to accept the first word of the suggestion


Importantly, this feature does not interfere with tab completion:

  1. After running def say_hello(): print("hello"), press d

  1. Press Tab to start tab completion


3A. Press Tab again to select the first option


3B. Press alt f to accept to accept the first word of the suggestion


3C. Press ctrl f or ctrl e to accept the entire suggestion


To install a version of ipython with autosuggestions enabled, run:

pip install git+https://github.com/mskar/ipython@auto_suggest

Currently, autosuggestions are only shown in the emacs or vi insert editing modes:

As a reminder, IPython master has diverged from the 7.x branch, thus master may have more feature and API changes.

Backwards incompatible changes