IPython is an ambitious project that is still under heavy development. However, we want IPython to become useful to as many people as possible, as quickly as possible. To help us accomplish this, we are laying out a roadmap of where we are headed and what needs to happen to get there. Hopefully, this will help the IPython developers figure out the best things to work on for each upcoming release.
During the summer of 2009, we began refactoring IPython’s core. The main thrust in this work was to make the IPython core into a set of loosely coupled components. The base configurable class for this is IPython.core.configurable.Configurable. This section outlines the status of this work.
Parts of the IPython core that have been turned into configurables:
Parts of the IPython core that still need to be Configurable:
A few things need to be done to improve how processes are started up and managed for the parallel computing side of IPython:
Dropping 2.5 support was a major step towards working with Python 3 due to future syntax support in 2.6. IPython 0.11 requires 2.6 now, so 0.10.2 will be the last IPython release that supports Python 2.5.
We currently have a separate repo tracking IPython development that works with Python 3. The core of IPython does work, but the parallel computing code in IPython.parallel does not yet work in Python 3, though the only major dependency of the parallel code, pyzmq, does work on Python 3.