##// END OF EJS Templates
Merging the config-refactor branch....
Merging the config-refactor branch. This branch did start with the config system refactor, but moved on from there. Here are some highlights. * New config system. * Traitlets * Componenets * Applications * The main ipython program has been refactored to use these new abstractions.

File last commit:

r2277:dc983636
r2278:b8ad0071 merge
Show More
reorg.txt
64 lines | 2.7 KiB | text/plain | TextLexer
.. _module_reorg:
===========================
IPython module organization
===========================
As of the 0.11 release of IPython, the top-level packages and modules have
been completely reorganized. This section describes the purpose of the
top-level IPython subpackages.
Subpackage descriptions
=======================
* :mod:`IPython.config`. This package contains the configuration system of
IPython, as well as default configuration files for the different IPython
applications.
* :mod:`IPython.core`. This sub-package contains the core of the IPython
interpreter, but none of its extended capabilities.
* :mod:`IPython.deathrow`. This is for code that is outdated, untested,
rotting, or that belongs in a separate third party project. Eventually all
this code will either i) be revived by someone willing to maintain it with
tests and docs and re-included into IPython or 2) be removed from IPython
proper, but put into a separate third-party Python package. No new code will
be allowed here.
* :mod:`IPython.extensions`. This package contains fully supported IPython
extensions. These extensions adhere to the official IPython extension API
and can be enabled by adding them to a field in the configuration file.
* :mod:`IPython.external`. This package contains third party packages and
modules that IPython ships internally to reduce the number of dependencies.
Usually, these are short, single file modules.
* :mod:`IPython.frontend`. This package contains the various IPython
frontends. Currently, the code in this subpackage is very experimental and
may be broken.
* :mod:`IPython.gui`. Another semi-experimental wxPython based IPython GUI.
* :mod:`IPython.kernel`. This contains IPython's parallel computing system.
* :mod:`IPython.lib`. IPython has many extended capabilities that are not part
of the IPython core. These things will go here and in. Modules in this
package are similar to extensions, but don't adhere to the official
IPython extension API.
* :mod:`IPython.quarantine`. This is for code that doesn't meet IPython's
standards, but that we plan on keeping. To be moved out of this sub-package
a module needs to have approval of the core IPython developers, tests and
documentation.
* :mod:`IPython.scripts`. This package contains a variety of top-level
command line scripts. Eventually, these should be moved to the
:file:`scripts` subdirectory of the appropriate IPython subpackage.
* :mod:`IPython.utils`. This sub-package will contain anything that might
eventually be found in the Python standard library, like things in
:mod:`genutils`. Each sub-module in this sub-package should contain
functions and classes that serve a single purpose and that don't
depend on things in the rest of IPython.