|
|
.. _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. If your favorite extension has been moved here please
|
|
|
contact the IPython developer mailing list to help us determine the best
|
|
|
course of action.
|
|
|
|
|
|
* :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.
|
|
|
If your extension is no longer in this location, please look in
|
|
|
:mod:`IPython.quarantine` and :mod:`IPython.deathrow` and contact the
|
|
|
IPython developer mailing list.
|
|
|
|
|
|
* :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. If your favorite extension has been moved here please contact
|
|
|
the IPython developer mailing list to help us determine the best course of
|
|
|
action.
|
|
|
|
|
|
* :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.
|
|
|
|
|
|
|
|
|
|