<br><br><div class="gmail_quote">On Mon, Aug 31, 2009 at 5:43 PM, Brian Granger <span dir="ltr">&lt;<a href="http://ellisonbg.net">ellisonbg.net</a>@<a href="http://gmail.com">gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello all,<br><br>This email is being sent out to to the lists of users+devs who regularly use IPython&#39;s &quot;pylab&quot; mode or &quot;-wthread&quot;, &quot;-qthread&quot;, &quot;-gthread&quot;, etc. threaded shells.  As of today, in IPython&#39;s trunk, we have a completely new implementation of our GUI event loop integration that dramatically improves the stability of using the TERMINAL BASED IPython with GUI applications.  This does not affect attempts to embed IPython into GUI applications.<br>

<br>At this point, we need developers to begin to try out the new stuff and adapt their projects to use the new capabilities.  Here are some things you will get:<br><br>* Stability and robustness have been improved greatly.<br>

* KeyboardInterrupts should work on all platforms reliably.<br>* No more command line flags - instead everything can be activated/de-activated/switched at runtime.  This should allow projects like matplotlib to enable reliable backend switching.  See the new %gui magic for more information on this.<br>

* We have a new developer module for working with these features (IPython.lib.inputhook).<br>* Unless someone complains very loudly *and* steps up to the plate to maintain them, the old threaded shells will be removed in the next release of IPython.<br>

<br>Here are some starting points for documentation on the new features:<br><br><a href="http://bazaar.launchpad.net/%7Eipython-dev/ipython/trunk/annotate/head%3A/docs/source/interactive/reference.txt#L1375" target="_blank">http://bazaar.launchpad.net/~ipython-dev/ipython/trunk/annotate/head%3A/docs/source/interactive/reference.txt#L1375</a><br>

<a href="http://bazaar.launchpad.net/%7Eipython-dev/ipython/trunk/annotate/head%3A/IPython/lib/inputhook.py" target="_blank">http://bazaar.launchpad.net/~ipython-dev/ipython/trunk/annotate/head%3A/IPython/lib/inputhook.py</a><br>
<a href="http://bazaar.launchpad.net/%7Eipython-dev/ipython/trunk/annotate/head%3A/IPython/core/magic.py#L3542" target="_blank">http://bazaar.launchpad.net/~ipython-dev/ipython/trunk/annotate/head%3A/IPython/core/magic.py#L3542</a><br>

<br>Please let us know if you have questions - we are more than willing to help you get started with all of this.<br><br>Cheers,<br><font color="#888888"><br>Brian<br><br><br>
</font><br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div><br>Two questions on this change:<br><br>1-) No more auto explicit numpy.core and matplotlib.pyplot load into the visible namespace right? This was a handy functionality to make quick tests, without a need for imports. I am sure this could be remedied putting proper statements somewhere into the config file, however with the switches removed how to instantiate IPython telling that I want matplotlib and numpy functionality in my shell.<br>
<br>2-) No thread options gone, each time we issue a plot directive, a show() must be explicitly stated. I will miss this lazy way of programming :)<br><br>3-) What are the visible ad[dis]vantages of these changes to a simple user :) Those who don&#39;t integrate Ipython into a GUI application and changing backends very frequently.<br>
<br>Thanks <br>-- <br>Gökhan<br>