roadmap.txt
95 lines
| 3.1 KiB
| text/plain
|
TextLexer
Brian E Granger
|
r1256 | .. _roadmap: | ||
=================== | ||||
Development roadmap | ||||
=================== | ||||
Brian Granger
|
r2197 | 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. | ||||
Brian E Granger
|
r1256 | |||
Brian Granger
|
r1790 | Work targeted to particular releases | ||
==================================== | ||||
Brian E Granger
|
r1256 | |||
Brian Granger
|
r1790 | Release 0.11 | ||
------------ | ||||
Brian E Granger
|
r1256 | |||
Brian Granger
|
r2247 | * Full module and package reorganization (done). | ||
Brian Granger
|
r2197 | |||
Brian Granger
|
r2247 | * Removal of the threaded shells and new implementation of GUI support | ||
based on ``PyOSInputHook`` (done). | ||||
Brian E Granger
|
r1256 | |||
Brian Granger
|
r2247 | * Refactor the configuration system (done). | ||
Brian Granger
|
r1792 | |||
Brian Granger
|
r2197 | * Prepare to refactor IPython's core by creating a new component and | ||
Brian Granger
|
r2247 | application system (done). | ||
Brian E Granger
|
r1256 | |||
MinRK
|
r4101 | * Start to refactor IPython's core by turning everything into configurables | ||
(mostly done). | ||||
Brian E Granger
|
r1256 | |||
Brian Granger
|
r1790 | Release 0.12 | ||
------------ | ||||
Brian E Granger
|
r1256 | |||
MinRK
|
r4101 | * Continue to refactor IPython's core by turning everything into configurables. | ||
* Merge draft html notebook (started). | ||||
* Add two-process Terminal frontend using ZMQ architecture. | ||||
Brian Granger
|
r1792 | |||
Brian E Granger
|
r1256 | |||
Brian Granger
|
r1790 | Major areas of work | ||
=================== | ||||
Brian E Granger
|
r1256 | |||
Brian Granger
|
r1790 | Refactoring the main IPython core | ||
--------------------------------- | ||||
Brian E Granger
|
r1256 | |||
Brian Granger
|
r2277 | 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 | ||||
MinRK
|
r4101 | components. The base configurable class for this is | ||
:class:`IPython.core.configurable.Configurable`. This section outlines the | ||||
status of this work. | ||||
Brian Granger
|
r2247 | |||
MinRK
|
r4101 | Parts of the IPython core that have been turned into configurables: | ||
Brian Granger
|
r2247 | |||
MinRK
|
r4101 | * The main :class:`~IPython.core.interactiveshell.InteractiveShell` class. | ||
Brian Granger
|
r2277 | * The aliases (:mod:`IPython.core.alias`). | ||
MinRK
|
r4101 | * History management (:mod:`IPython.core.history`). | ||
* Plugins (:mod:`IPython.core.plugin`). | ||||
Brian Granger
|
r2247 | * The display and builtin traps (:mod:`IPython.core.display_trap` and | ||
:mod:`IPython.core.builtin_trap`). | ||||
* The prefilter machinery (:mod:`IPython.core.prefilter`). | ||||
MinRK
|
r4101 | Parts of the IPython core that still need to be Configurable: | ||
Brian Granger
|
r2247 | |||
* Magics. | ||||
* Prompts. | ||||
Brian Granger
|
r2277 | * Tab completers. | ||
Brian Granger
|
r2247 | * Exception handling. | ||
* Anything else. | ||||
MinRK
|
r4101 | Process management for :mod:`IPython.parallel` | ||
Brian Granger
|
r1790 | -------------------------------------------- | ||
Brian E Granger
|
r1256 | |||
MinRK
|
r4101 | A few things need to be done to improve how processes are started | ||
Brian Granger
|
r2277 | up and managed for the parallel computing side of IPython: | ||
MinRK
|
r4101 | * Improve the SSH launcher so it is at least back to the levels of 0.10.2 | ||
* We need to add support for other batch systems (LSF, Condor, etc.). | ||||
Brian Granger
|
r1790 | |||
Brian E Granger
|
r1256 | |||
Brian Granger
|
r2276 | Porting to 3.0 | ||
============== | ||||
MinRK
|
r4101 | 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 <https://github.com/ipython/ipython-py3k>`_ | ||||
tracking IPython development that works with Python 3. The core of IPython does | ||||
work, but the parallel computing code in :mod:`IPython.parallel` does not yet | ||||
work in Python 3, though the only major dependency of the parallel code, pyzmq, | ||||
does work on Python 3. | ||||