<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Note that the api object is a separate object is an implementation<br>
detail - ipapi.get() could as well pass you the direct<br>
InteractiveShell object. </blockquote><div><br>The change that I am making right now though is that *every* object in IPython (the shell, magics, alias, completers, you name it) will have a runtime api.  Also, at this point, I am deeply concerned about implementation details.  Thus<br>
 <br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">The user of the api never needs to know what<br>
object it gets.<br></blockquote>
<br>True, but as I design and implement the underlying architecture, I surely do care about what objects exist underneath the hood.  Minimally, the idea that *every* object will have a runtime API (as well as a configuration interface and other things as well) is a dramatic departure from our current design.<br>
<br>I still haven&#39;t decided which approach to take - for now I am implementing a few prototypes to see what things look like.<br><br>Cheers,<br><br>Brian<br>
<br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><font color="#888888"><br>
--<br>
</font><div><div></div><div class="h5">Ville M. Vainio<br>
<a href="http://tinyurl.com/vainio" target="_blank">http://tinyurl.com/vainio</a><br>
</div></div></blockquote></div><br>