[IPython-dev] New approach to loading extensions - _ip.load()
Ville M. Vainio
vivainio at gmail.com
Thu Jun 14 14:14:52 EDT 2007
At this point just importing the extensions didn't scale anymore, so I
moved from the bare
ip = IPython.ipapi.get()
to introducing 'init_ipython(ip)' function that gets run when you run
_ip.load. What _ip.load is:
- It imports the module
- It runs init_ipython(ip) if the module has one. 'ip' is an ipapi instance.
IPython.ipapi.get() approach still works, of course, but some
modules/extensions *need* to be imported with _ip.load.
IPython.history is a first such extension.
Basically, modules that need to be 'load':ed are the ones that can be
imported w/o also outside IPython contex (general purpose modules), or
the ones that are imported by IPython itself before the
'configuration' phase (e.g. the ones imported ipapi.py, as opposed
ipy_system_conf.py).
New modules are recommended to be implemented using the init_ipython approach.
The following changeset should give you the idea:
http://projects.scipy.org/ipython/ipython/changeset/2434
--
Ville M. Vainio - vivainio.googlepages.com
blog=360.yahoo.com/villevainio - g[mail | talk]='vivainio'
More information about the IPython-dev
mailing list