##// END OF EJS Templates
Merging upstream
Merging upstream

File last commit:

r1913:304fe38b
r2005:7eb8a846 merge
Show More
reorg.txt
225 lines | 6.9 KiB | text/plain | TextLexer
Brian Granger
Created doc describing the module reorganization.
r1798 =============================
IPython module reorganization
=============================
Brian Granger
Small changes to reorg.txt in reponse to review.
r1913 Currently, IPython has many top-level modules that serve many different purposes.
The lack of organization make it very difficult for developers to work on IPython
and understand its design. This document contains notes about how we will reorganize
the modules into sub-packages.
Brian Granger
Created doc describing the module reorganization.
r1798
.. warning::
This effort will possibly break third party packages that use IPython as
a library or hack on the IPython internals.
.. warning::
This effort will result in the removal from IPython of certain modules
that are not used anymore, don't currently work, are unmaintained, etc.
Brian Granger
Minor edits to reorg.txt.
r1907
Brian Granger
Created doc describing the module reorganization.
r1798 Current subpackges
==================
IPython currently has the following sub-packages:
* :mod:`IPython.config`
* :mod:`IPython.Extensions`
* :mod:`IPython.external`
* :mod:`IPython.frontend`
* :mod:`IPython.gui`
* :mod:`IPython.kernel`
* :mod:`IPython.testing`
* :mod:`IPython.tests`
* :mod:`IPython.tools`
* :mod:`IPython.UserConfig`
New Subpackages to be created
=============================
We propose to create the following new sub-packages:
* :mod:`IPython.core`. This sub-package will contain the core of the IPython
interpreter, but none of its extended capabilities.
* :mod:`IPython.lib`. IPython has many extended capabilities that are not part
Brian Granger
Minor edits to reorg.txt.
r1907 of the IPython core. These things will go here. Any better names than
:mod:`IPython.lib`?
Brian Granger
Created doc describing the module reorganization.
r1798
* :mod:`IPython.python`. This sub-package will contain anything that might
Brian Granger
Minor edits to reorg.txt.
r1907 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. Similar in purpose to
:mod:`twisted.python`. Could also call this :mod:`IPython.tools`,
:mod:`IPython.utils` or something similar.
Brian Granger
Created doc describing the module reorganization.
r1798
* :mod:`IPython.sandbox`. This is for code that is untested and/or rotting and
needs to be removed from IPython. Eventually all this code will either i) be
Brian Granger
Minor edits to reorg.txt.
r1907 revived with tests and docs and re-included into IPython or 2) be removed from
IPython proper, but put into a separate top-level (not IPython) package that we
keep around.
Brian Granger
Created doc describing the module reorganization.
r1798
Where things will be moved
==========================
Brian Granger
Small changes to reorg.txt in reponse to review.
r1913 * :file:`ColorANSI.py`. Move to :file:`IPython/core/coloransi.py`. Maybe move to
:mod:`IPython.lib` or :mod:`IPython.python`?
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`ConfigLoader.py`. Move to :file:`IPython/config/configloader.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`CrashHandler.py`. Move to :file:`IPython/core/crashhandler`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`DPyGetOpt.py`. Move to :mod:`IPython.sandbox` and replace with newer options parser.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`Debugger.py`. Move to :file:`IPython/core/debugger.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`Extensions`. This needs to be gone through separately. Minimally,
the package should be renamed to :file:`extensions`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`FakeModule.py`. Move to :file:`IPython/core/fakemodule.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`Gnuplot2.py`. Move to :file:`IPython.sandbox`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`GnuplotInteractive.py`. Move to :file:`IPython.sandbox`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`GnuplotRuntime.py`. Move to :file:`IPython.sandbox`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`Itpl.py`. Remove. Version already in :file:`IPython.external`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`Logger.py`. Move to :file:`IPython/core/logger.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`Magic.py`. Move to :file:`IPython/core/magic.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`OInspect.py`. Move to :file:`IPython/core/oinspect.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`OutputTrap.py`. Move to :file:`IPython/core/outputtrap.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`Prompts.py`. Move to :file:`IPython/core/prompts.py` or
:file:`IPython/frontend/prompts.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Small changes to reorg.txt in reponse to review.
r1913 * :file:`PyColorize.py`. Replace with pygments? If not, move to
:file:`IPython/core/pycolorize.py`. Maybe move to :mod:`IPython.lib` or
:mod:`IPython.python`?
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`Release.py`. Move to ??? or remove?
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`Shell.py`. Move to :file:`IPython.core.shell.py` or
:file:`IPython/frontend/shell.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`UserConfig`. Move to a subdirectory of :file:`IPython.config`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`background_jobs.py`. Move to :file:`IPython/lib/backgroundjobs.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`completer.py`. Move to :file:`IPython/core/completer.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`config`. Good where it is!
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`deep_reload.py`. Move to :file:`IPython/lib/deepreload.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`demo.py`. Move to :file:`IPython/lib/demo.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`dtutils.py`. Remove or move to :file:`IPython.testing` or
:file:`IPython.lib`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`excolors.py`. Move to :file:`IPython.core` or :file:`IPython.config`.
Brian Granger
Small changes to reorg.txt in reponse to review.
r1913 Maybe move to :mod:`IPython.lib` or :mod:`IPython.python`?
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`external`. Good where it is!
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`frontend`. Good where it is!
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`generics.py`. Move to :file:`IPython.python`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`genutils.py`. Move to :file:`IPython.python` and break up into different
modules.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`gui`. Eventually this should be moved to a subdir of
:file:`IPython.frontend`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`history.py`. Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`hooks.py`. Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`ipapi.py`. Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`iplib.py`. Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`ipmaker.py`: Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`ipstruct.py`. Move to :file:`IPython.python`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`irunner.py`. Move to :file:`IPython.scripts`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`kernel`. Good where it is.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`macro.py`. Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`numutils.py`. Move to :file:`IPython.sandbox`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`platutils.py`. Move to :file:`IPython.python`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`platutils_dummy.py`. Move to :file:`IPython.python`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`platutils_posix.py`. Move to :file:`IPython.python`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`platutils_win32.py`. Move to :file:`IPython.python`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`prefilter.py`: Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`rlineimpl.py`. Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`shadowns.py`. Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`shellglobals.py`. Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`strdispatch.py`. Move to :file:`IPython.python`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`testing`. Good where it is.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`tests`. Good where it is.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`tools`. Things in here need to be looked at and moved elsewhere like
:file:`IPython.python`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`twshell.py`. Move to :file:`IPython.sandbox`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`ultraTB.py`. Move to :file:`IPython/core/ultratb.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`upgrade_dir.py`. Move to :file:`IPython/python/upgradedir.py`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`usage.py`. Move to :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`wildcard.py`. Move to :file:`IPython.python` or :file:`IPython.core`.
Brian Granger
Created doc describing the module reorganization.
r1798
Brian Granger
Minor edits to reorg.txt.
r1907 * :file:`winconsole.py`. Move to :file:`IPython.lib`.
Brian Granger
Created doc describing the module reorganization.
r1798
Other things
============
When these files are moved around, a number of other things will happen at the same time:
1. Test files will be created for each module in IPython. Minimally, all
modules will be imported as a part of the test. This will serve as a
test of the module reorganization. These tests will be put into new
:file:`tests` subdirectories that each package will have.
Brian Granger
Minor edits to reorg.txt.
r1907 2. PyFlakes and other code checkers will be run to look for problems.
3. Modules will be renamed to comply with PEP 8 naming conventions: all
Brian Granger
Created doc describing the module reorganization.
r1798 lowercase and no special characters like ``-`` or ``_``.
Brian Granger
Minor edits to reorg.txt.
r1907 4. Existing tests will be moved to the appropriate :file:`tests`
Brian Granger
Created doc describing the module reorganization.
r1798 subdirectories.