title: Reloading submodules in IPython
body: <p>Currently I am working on a python project that contains sub modules and uses numpy/scipy. Ipython is used as interactive console. Unfortunately I am not very happy with workflow that I am using right now, I would appreciate some advice.</p>
  
  <p>In IPython, the framework is loaded by a simple <code>import</code> command. However, it is often necessary to change code in one of the submodules of the framework. At this point a model is already loaded and I use IPython to interact with it. </p>
  
  <p>Now, the framework contains many modules that depend on each other, i.e. when the framework is initially loaded the main module is importing and configuring the submodules.  The changes to the code are only executed if the module is reloaded using <code>reload(main_mod.sub_mod)</code>. This is cumbersome as I need to reload all changed modules individually using the full path. It would be very convenient if <code>reload(main_module)</code> would also reload all sub modules, but without reloading numpy/scipy..</p>