<div dir="ltr">GREAT!  Thank you</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 20, 2014 at 7:03 PM, Fernando Perez [via Python] <span dir="ltr"><<a href="/user/SendEmail.jtp?type=node&node=5068690&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>></span> wrote:<br>
<blockquote style='border-left:2px solid #CCCCCC;padding:0 1em' class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

        <div dir="ltr"><div class="gmail_extra"><div class=""><br><div class="gmail_quote">On Wed, Aug 20, 2014 at 3:29 PM, Adam Hughes <span dir="ltr"><<a href="http://user/SendEmail.jtp?type=node&node=5068685&i=0" rel="nofollow" link="external" target="_blank">[hidden email]</a>></span> wrote:<br>


<blockquote style='border-left:2px solid #CCCCCC;padding:0 1em' style="border-left:2px solid #cccccc;padding:0 1em" class="gmail_quote">These widgets would need to accept input data, and return output data.  For example in the example Nicholas shared, I'd like the user to be able to pass in a matrix, calculate the synchronous spectra, and then use that for further analysis in subsequent cells in the primary notebook.  Having that as a capability would be huge for us, because we envision a mixed API/GUI workflow.</blockquote>


</div><div class="gmail_extra"><br></div></div>One option here would be to provide a text field for the user to name the variables they want returned for any given output (or you can fix those if you want), and then have your kernel-side code store them in the user's namespace directly.</div>


<div class="gmail_extra"><br></div><div class="gmail_extra">Here's how you can immediately write variables in ipython:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">In [7]: ip = get_ipython()</div>


<div class="gmail_extra"><br></div><div class="gmail_extra">In [8]: a = 'hello'</div><div class="gmail_extra"><br></div><div class="gmail_extra">In [9]: ip.user_ns['a']</div><div class="gmail_extra">Out[9]: 'hello'</div>


<div class="gmail_extra"><br></div><div class="gmail_extra">In [10]: ip.user_ns['a'] = 100</div><div class="gmail_extra"><br></div><div class="gmail_extra">In [11]: a</div><div class="gmail_extra">Out[11]: 100</div>


<div><br></div><div><br></div><div>We can think further about whether other paradigms might be cleaner, but I'm not sure that making variables be the return value of the widget itself will work all that well. But in the meantime, and until we decide what the best solution is in the long term, this will already work and it uses a 100% stable IPython api. It may be in the end this *is* a long-term solution we all like, but even if not, I think it's pretty serviceable.</div>


<div><br></div><div>Cheers</div><div><br></div><div>f</div><br clear="all"><div><br></div>-- <br>Fernando Perez (@fperez_org; <a href="http://fperez.org" rel="nofollow" link="external" target="_blank">http://fperez.org</a>)<br>
fperez.net-at-gmail: mailing lists only (I ignore this when swamped!)<br>

fernando.perez-at-berkeley: contact me here for any direct mail<br>
</div></div><div class="">
<br>_______________________________________________
<br>IPython-dev mailing list
<br><a href="http://user/SendEmail.jtp?type=node&node=5068685&i=1" rel="nofollow" link="external" target="_blank">[hidden email]</a>
<br><a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" rel="nofollow" link="external" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>

        
        
        
        <br>
        <br>
        <hr noshade size="1" color="#cccccc">
        </div><div style="color:#444;font:12px tahoma,geneva,helvetica,arial,sans-serif"><div class="">
                <div style="font-weight:bold">If you reply to this email, your message will be added to the discussion below:</div>
                </div><a href="http://python.6.x6.nabble.com/Feasilibity-of-widgets-layout-for-mimicking-this-tp5068197p5068685.html" target="_blank" rel="nofollow" link="external">http://python.6.x6.nabble.com/Feasilibity-of-widgets-layout-for-mimicking-this-tp5068197p5068685.html</a>
        </div><div class="HOEnZb"><div class="h5">
        <div style="color:#666;font:11px tahoma,geneva,helvetica,arial,sans-serif;margin-top:.4em;line-height:1.5em">
                
                To unsubscribe from Feasilibity of widgets/layout for mimicking this, <a href="" target="_blank" rel="nofollow" link="external">click here</a>.<br>

                <a href="http://python.6.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml" rel="nofollow" style="font:9px serif" target="_blank" link="external">NAML</a>
        </div></div></div></blockquote></div><br></div>


        
        
        
<br/><hr align="left" width="300" />
View this message in context: <a href="http://python.6.x6.nabble.com/Feasilibity-of-widgets-layout-for-mimicking-this-tp5068197p5068690.html">Re: Feasilibity of widgets/layout for mimicking this</a><br/>
Sent from the <a href="http://python.6.x6.nabble.com/IPython-Development-f1646922.html">IPython - Development mailing list archive</a> at Nabble.com.<br/>