~ellisonbg/ipython/trunk-dev

« back to all changes in this revision

Viewing changes to docs/source/development/reorg.txt

  • Committer: Brian Granger
  • Date: 2010-01-31 23:57:46 UTC
  • mfrom: (1109.1.113 ipython)
  • Revision ID: ellisonbg@gmail.com-20100131235746-rj81qa8klooepq2m
Merging from upstream trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.. _module_reorg:
 
2
 
 
3
===========================
 
4
IPython module organization
 
5
===========================
 
6
 
 
7
As of the 0.11 release of IPython, the top-level packages and modules have
 
8
been completely reorganized.  This section describes the purpose of the
 
9
top-level IPython subpackages.
 
10
 
 
11
Subpackage descriptions
 
12
=======================
 
13
 
 
14
* :mod:`IPython.config`.  This package contains the configuration system of 
 
15
  IPython, as well as default configuration files for the different IPython
 
16
  applications.
 
17
 
 
18
* :mod:`IPython.core`. This sub-package contains the core of the IPython
 
19
  interpreter, but none of its extended capabilities.
 
20
 
 
21
* :mod:`IPython.deathrow`. This is for code that is outdated, untested,
 
22
  rotting, or that belongs in a separate third party project. Eventually all
 
23
  this code will either i) be revived by someone willing to maintain it with
 
24
  tests and docs and re-included into IPython or 2) be removed from IPython
 
25
  proper, but put into a separate third-party Python package. No new code will
 
26
  be allowed here. If your favorite extension has been moved here please
 
27
  contact the IPython developer mailing list to help us determine the best
 
28
  course of action.
 
29
 
 
30
* :mod:`IPython.extensions`.  This package contains fully supported IPython
 
31
  extensions.  These extensions adhere to the official IPython extension API
 
32
  and can be enabled by adding them to a field in the configuration file.
 
33
  If your extension is no longer in this location, please look in
 
34
  :mod:`IPython.quarantine` and :mod:`IPython.deathrow` and contact the
 
35
  IPython developer mailing list.
 
36
 
 
37
* :mod:`IPython.external`. This package contains third party packages and
 
38
  modules that IPython ships internally to reduce the number of dependencies.
 
39
  Usually, these are short, single file modules.
 
40
 
 
41
* :mod:`IPython.frontend`. This package contains the various IPython
 
42
  frontends. Currently, the code in this subpackage is very experimental and
 
43
  may be broken.
 
44
 
 
45
* :mod:`IPython.gui`.  Another semi-experimental wxPython based IPython GUI.
 
46
 
 
47
* :mod:`IPython.kernel`.  This contains IPython's parallel computing system.
 
48
 
 
49
* :mod:`IPython.lib`. IPython has many extended capabilities that are not part
 
50
  of the IPython core. These things will go here and in.  Modules in this
 
51
  package are similar to extensions, but don't adhere to the official
 
52
  IPython extension API.
 
53
 
 
54
* :mod:`IPython.quarantine`. This is for code that doesn't meet IPython's
 
55
  standards, but that we plan on keeping. To be moved out of this sub-package
 
56
  a module needs to have approval of the core IPython developers, tests and
 
57
  documentation. If your favorite extension has been moved here please contact
 
58
  the IPython developer mailing list to help us determine the best course of
 
59
  action.
 
60
 
 
61
* :mod:`IPython.scripts`.  This package contains a variety of top-level
 
62
  command line scripts.  Eventually, these should be moved to the 
 
63
  :file:`scripts` subdirectory of the appropriate IPython subpackage.
 
64
 
 
65
* :mod:`IPython.utils`. This sub-package will contain anything that might
 
66
  eventually be found in the Python standard library, like things in
 
67
  :mod:`genutils`. Each sub-module in this sub-package should contain
 
68
  functions and classes that serve a single purpose and that don't
 
69
  depend on things in the rest of IPython.
 
70
 
 
71