##// END OF EJS Templates
General work on inputhook and the docs....
General work on inputhook and the docs. * Re-wrote the Sphinx docs on GUI integration. * Improved docstrings of inputhook module. * Added current_gui function to inputhook. * Fixed lots of small bugs in the docs.

File last commit:

r2197:71065c54
r2197:71065c54
Show More
roadmap.txt
73 lines | 2.2 KiB | text/plain | TextLexer
.. _roadmap:
===================
Development roadmap
===================
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.
Work targeted to particular releases
====================================
Release 0.11
------------
* [DONE] Full module and package reorganization.
* [DONE] Removal of the threaded shells and new implementation of GUI support
based on ``PyOSInputHook``.
* Refactor the configuration system.
* Prepare to refactor IPython's core by creating a new component and
application system.
Release 0.12
------------
Major areas of work
===================
Refactoring the main IPython core
---------------------------------
Process management for :mod:`IPython.kernel`
--------------------------------------------
Configuration system
--------------------
Performance problems
--------------------
Currently, we have a number of performance issues that are waiting to bite users:
* The controller stores a large amount of state in Python dictionaries. Under
heavy usage, these dicts with get very large, causing memory usage problems.
We need to develop more scalable solutions to this problem, such as using a
sqlite database to store this state. This will also help the controller to
be more fault tolerant.
* We currently don't have a good way of handling large objects in the
controller. The biggest problem is that because we don't have any way of
streaming objects, we get lots of temporary copies in the low-level buffers.
We need to implement a better serialization approach and true streaming
support.
* The controller currently unpickles and repickles objects. We need to use the
[push|pull]_serialized methods instead.
* Currently the controller is a bottleneck. The best approach for this is to
separate the controller itself into multiple processes, one for the core
controller and one each for the controller interfaces.