Re: embed ipython in wxPython app

2007-11-19 Thread chewie54
On Nov 18, 8:39 pm, chewie54 [EMAIL PROTECTED] wrote:
 Hi All,

 I'm evaluting IPython to see if I can it use like Tcl and Tk. If I
 start wish8.4,  I get a command line
 interpreter in xterm,  then I can source tcl progams that draw tk
 graphics on a canvas in another window.

 Is there a way to embed IPython in a wxPython app to do that?
 When I do as shown in the example below the GUI window does not show
 until I exit IPython.

 Thanks in advance for any help with this,

 import wx
 from IPython.Shell import IPShellEmbed

 class MyFrame(wx.Frame):
 def __init__(self,parent=None, id=-1, title=' '):
 wx.Frame.__init__(self,parent,id,title,size=(200,140))
 top = wx.Panel(self)
 sizer = wx.BoxSizer(wx.VERTICAL)
 lb = wx.StaticText(top,-1,'Animals(in pairs; min,pair,
 max,dozen)')
 sizer.Add(lb)

 top.SetSizer(sizer)
 self.Layout()

 class MyApp(wx.App):
 def OnInit(self):
 frame = MyFrame(title=wxWidgets)
 frame.Show(True)
 self.SetTopWindow(frame)
 return True

 def main():
 ipshell = IPShellEmbed()
 ipshell()
 app = MyApp()
 app.MainLoop()

 if __name__ == '__main__':
 main()

I forgot to mention.

I did see an example of embedding IPython in a PyGTK app on
http://ipython.scipy.org/moin/Cookbook

It would be nice to see an example that shows how to embed
IPython in a wxPython or Tkinter GUI app.

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: embed ipython in wxPython app

2007-11-19 Thread Chris Mellon
On Nov 19, 2007 11:51 AM, chewie54 [EMAIL PROTECTED] wrote:

 On Nov 18, 8:39 pm, chewie54 [EMAIL PROTECTED] wrote:
  Hi All,
 
  I'm evaluting IPython to see if I can it use like Tcl and Tk. If I
  start wish8.4,  I get a command line
  interpreter in xterm,  then I can source tcl progams that draw tk
  graphics on a canvas in another window.
 
  Is there a way to embed IPython in a wxPython app to do that?
  When I do as shown in the example below the GUI window does not show
  until I exit IPython.
 
  Thanks in advance for any help with this,
 
  import wx
  from IPython.Shell import IPShellEmbed
 
  class MyFrame(wx.Frame):
  def __init__(self,parent=None, id=-1, title=' '):
  wx.Frame.__init__(self,parent,id,title,size=(200,140))
  top = wx.Panel(self)
  sizer = wx.BoxSizer(wx.VERTICAL)
  lb = wx.StaticText(top,-1,'Animals(in pairs; min,pair,
  max,dozen)')
  sizer.Add(lb)
 
  top.SetSizer(sizer)
  self.Layout()
 
  class MyApp(wx.App):
  def OnInit(self):
  frame = MyFrame(title=wxWidgets)
  frame.Show(True)
  self.SetTopWindow(frame)
  return True
 
  def main():
  ipshell = IPShellEmbed()
  ipshell()
  app = MyApp()
  app.MainLoop()
 
  if __name__ == '__main__':
  main()

 I forgot to mention.

 I did see an example of embedding IPython in a PyGTK app on
 http://ipython.scipy.org/moin/Cookbook

 It would be nice to see an example that shows how to embed
 IPython in a wxPython or Tkinter GUI app.



IPython has a custom event loop. You'll need to look at it's sources
and figure out how to drive it externally. There's some plugins for
IPython that may help (or may even work out of the box), they're used
to let you run wx or gtk or other libraries that have their own event
loop within IPython.

Are you aware that wx already has a Python shell implementation? It's
different than IPython, of course, but it has graphical inspection of
objects which is the main reason people tend to use IPython.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: embed ipython in wxPython app

2007-11-19 Thread chewie54
On Nov 19, 1:07 pm, Chris Mellon [EMAIL PROTECTED] wrote:
 On Nov 19, 2007 11:51 AM, chewie54 [EMAIL PROTECTED] wrote:





  On Nov 18, 8:39 pm, chewie54 [EMAIL PROTECTED] wrote:
   Hi All,

   I'm evaluting IPython to see if I can it use like Tcl and Tk. If I
   start wish8.4,  I get a command line
   interpreter in xterm,  then I can source tcl progams that draw tk
   graphics on a canvas in another window.

   Is there a way to embed IPython in a wxPython app to do that?
   When I do as shown in the example below the GUI window does not show
   until I exit IPython.

   Thanks in advance for any help with this,

   import wx
   from IPython.Shell import IPShellEmbed

   class MyFrame(wx.Frame):
   def __init__(self,parent=None, id=-1, title=' '):
   wx.Frame.__init__(self,parent,id,title,size=(200,140))
   top = wx.Panel(self)
   sizer = wx.BoxSizer(wx.VERTICAL)
   lb = wx.StaticText(top,-1,'Animals(in pairs; min,pair,
   max,dozen)')
   sizer.Add(lb)

   top.SetSizer(sizer)
   self.Layout()

   class MyApp(wx.App):
   def OnInit(self):
   frame = MyFrame(title=wxWidgets)
   frame.Show(True)
   self.SetTopWindow(frame)
   return True

   def main():
   ipshell = IPShellEmbed()
   ipshell()
   app = MyApp()
   app.MainLoop()

   if __name__ == '__main__':
   main()

  I forgot to mention.

  I did see an example of embedding IPython in a PyGTK app on
 http://ipython.scipy.org/moin/Cookbook

  It would be nice to see an example that shows how to embed
  IPython in a wxPython or Tkinter GUI app.

 IPython has a custom event loop. You'll need to look at it's sources
 and figure out how to drive it externally. There's some plugins for
 IPython that may help (or may even work out of the box), they're used
 to let you run wx or gtk or other libraries that have their own event
 loop within IPython.

 Are you aware that wx already has a Python shell implementation? It's
 different than IPython, of course, but it has graphical inspection of
 objects which is the main reason people tend to use IPython.

Yes,  I have seen the wxPython demo and PyShell example but was
looking
to use IPython since the user can navigate directories like other
unix
shells.

What are these plugins you mentioned?

Thanks,


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: embed ipython in wxPython app

2007-11-19 Thread Chris Mellon
On Nov 19, 2007 12:21 PM, chewie54 [EMAIL PROTECTED] wrote:
 On Nov 19, 1:07 pm, Chris Mellon [EMAIL PROTECTED] wrote:

  On Nov 19, 2007 11:51 AM, chewie54 [EMAIL PROTECTED] wrote:
 
 
 
 
 
   On Nov 18, 8:39 pm, chewie54 [EMAIL PROTECTED] wrote:
Hi All,
 
I'm evaluting IPython to see if I can it use like Tcl and Tk. If I
start wish8.4,  I get a command line
interpreter in xterm,  then I can source tcl progams that draw tk
graphics on a canvas in another window.
 
Is there a way to embed IPython in a wxPython app to do that?
When I do as shown in the example below the GUI window does not show
until I exit IPython.
 
Thanks in advance for any help with this,
 
import wx
from IPython.Shell import IPShellEmbed
 
class MyFrame(wx.Frame):
def __init__(self,parent=None, id=-1, title=' '):
wx.Frame.__init__(self,parent,id,title,size=(200,140))
top = wx.Panel(self)
sizer = wx.BoxSizer(wx.VERTICAL)
lb = wx.StaticText(top,-1,'Animals(in pairs; min,pair,
max,dozen)')
sizer.Add(lb)
 
top.SetSizer(sizer)
self.Layout()
 
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame(title=wxWidgets)
frame.Show(True)
self.SetTopWindow(frame)
return True
 
def main():
ipshell = IPShellEmbed()
ipshell()
app = MyApp()
app.MainLoop()
 
if __name__ == '__main__':
main()
 
   I forgot to mention.
 
   I did see an example of embedding IPython in a PyGTK app on
  http://ipython.scipy.org/moin/Cookbook
 
   It would be nice to see an example that shows how to embed
   IPython in a wxPython or Tkinter GUI app.
 
  IPython has a custom event loop. You'll need to look at it's sources
  and figure out how to drive it externally. There's some plugins for
  IPython that may help (or may even work out of the box), they're used
  to let you run wx or gtk or other libraries that have their own event
  loop within IPython.
 
  Are you aware that wx already has a Python shell implementation? It's
  different than IPython, of course, but it has graphical inspection of
  objects which is the main reason people tend to use IPython.

 Yes,  I have seen the wxPython demo and PyShell example but was
 looking
 to use IPython since the user can navigate directories like other
 unix
 shells.

 What are these plugins you mentioned?


http://ipython.scipy.org/moin/Cookbook/InterruptingThreads

I'm not sure how these work (the wiki page implies they just run the
external event loop in a thread, so they're not suitable for embedding
IPython in such a tool kit). I'm sure there's a way to pump IPython
though (there must be, since it's embeddable in gtk) so that's where
you'll want to look.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: embed ipython in wxPython app

2007-11-19 Thread chewie54
On Nov 19, 1:44 pm, Chris Mellon [EMAIL PROTECTED] wrote:
 On Nov 19, 2007 12:21 PM, chewie54 [EMAIL PROTECTED] wrote:



  On Nov 19, 1:07 pm, Chris Mellon [EMAIL PROTECTED] wrote:

   On Nov 19, 2007 11:51 AM, chewie54 [EMAIL PROTECTED] wrote:

On Nov 18, 8:39 pm, chewie54 [EMAIL PROTECTED] wrote:
 Hi All,

 I'm evaluting IPython to see if I can it use like Tcl and Tk. If I
 start wish8.4,  I get a command line
 interpreter in xterm,  then I can source tcl progams that draw tk
 graphics on a canvas in another window.

 Is there a way to embed IPython in a wxPython app to do that?
 When I do as shown in the example below the GUI window does not show
 until I exit IPython.

 Thanks in advance for any help with this,

 import wx
 from IPython.Shell import IPShellEmbed

 class MyFrame(wx.Frame):
 def __init__(self,parent=None, id=-1, title=' '):
 wx.Frame.__init__(self,parent,id,title,size=(200,140))
 top = wx.Panel(self)
 sizer = wx.BoxSizer(wx.VERTICAL)
 lb = wx.StaticText(top,-1,'Animals(in pairs; min,pair,
 max,dozen)')
 sizer.Add(lb)

 top.SetSizer(sizer)
 self.Layout()

 class MyApp(wx.App):
 def OnInit(self):
 frame = MyFrame(title=wxWidgets)
 frame.Show(True)
 self.SetTopWindow(frame)
 return True

 def main():
 ipshell = IPShellEmbed()
 ipshell()
 app = MyApp()
 app.MainLoop()

 if __name__ == '__main__':
 main()

I forgot to mention.

I did see an example of embedding IPython in a PyGTK app on
   http://ipython.scipy.org/moin/Cookbook

It would be nice to see an example that shows how to embed
IPython in a wxPython or Tkinter GUI app.

   IPython has a custom event loop. You'll need to look at it's sources
   and figure out how to drive it externally. There's some plugins for
   IPython that may help (or may even work out of the box), they're used
   to let you run wx or gtk or other libraries that have their own event
   loop within IPython.

   Are you aware that wx already has a Python shell implementation? It's
   different than IPython, of course, but it has graphical inspection of
   objects which is the main reason people tend to use IPython.

  Yes,  I have seen the wxPython demo and PyShell example but was
  looking
  to use IPython since the user can navigate directories like other
  unix
  shells.

  What are these plugins you mentioned?

 http://ipython.scipy.org/moin/Cookbook/InterruptingThreads

 I'm not sure how these work (the wiki page implies they just run the
 external event loop in a thread, so they're not suitable for embedding
 IPython in such a tool kit). I'm sure there's a way to pump IPython
 though (there must be, since it's embeddable in gtk) so that's where
 you'll want to look.

This was helpful.

ipython -wxthread

run test1_python.py

and the GUI window was displayed and I can see my object definitions.

I'm getting closer,  now I need to imbed ipython -wxthread shell in
the app somehow.


Thanks,
-- 
http://mail.python.org/mailman/listinfo/python-list