Short version: Would people here be willing to install PyGTK 2.x and pygtkglext (OpenGL on GTK) and related files on their machines *if* there was a Python-based software package they *really* wanted to use? Mac and Windows are of issue mainly, since GNU/Linux probably is probably trivial install. Does anyone under Mac or Windows have happy experience doing that for either PyGTK or the 3D extension pygtkglext (either in a home or a lab setting
Long version: While exploring the issue of restricted evaluation environments (I am considering having PataPata windows communicate by passing textual Python programs :-) I came across this on Python 3.0 wish list: http://wiki.python.org/moin/PythonThreeDotOh "Include wxPython or PyGtk in core library [for Py3K]? Would anygui also be a good option. Place Tkinter into legacy status? (Musing again. Seems like we need a more mainstream, higher performance standard GUI in the core distribution. wxPython is very popular, so I suggested it as an option. The PyGtk is an awesomely thin layer over the C library and it makes Gtk objects look like native Python classes.)" Now given the wx bashing lately (including from the OSI Chandler project I linked to), and the Cairo blessing(?), that PyGTK comment got me thinking. Also, Francois mentions somewhere he wanted to move beyond TK for his work. Well, I just implemented a rudimentary TK proof-of-concept version of PataPata. And the inspector is live in the world. And I am not as dissatisfied with the look or performance of TK as I thought I would. [Though of course it still needs more work.(*)] BUT, I read that, and the squeaky gears in my brain start creaking, thinking, "hmmm, Python2.x, GTK, and Cairo?". And after a Google, this link has me pretty excited: Writing a Widget Using Cairo and PyGTK 2.8 http://www.pygtk.org/articles/cairo-pygtk-widgets/cairo-pygtk-widgets.htm and so I tried the file there and it ran on my Debian machine without needing to install anything (though I have in the past installed lots of stuff, so I don't know about stock distributions of Debian Python, but clearly this support is just an apt-get away apparently, at least as far as Cairo). From the link: "Cairo is a powerful 2-dimensional graphics library designed to support a number of modern graphics techniques including stroking, alpha blending and antialiasing. It supports multiple output formats, which allows developers to use the same code to display graphics on the screen, print them to the printer or accelerate them with OpenGL. As of GTK+ 2.8, GTK+ has been integrated with the Cairo 1.0 rendering library, giving developers access to this flexible graphics API. PyGTK added Cairo support in the 2.8 version. See the wiki for further info." There is also PyGtkGLExt for Python 3D OpenGL support (though I have not tried it): http://gtkglext.sourceforge.net/ Example Python 3D program: http://mail.gnome.org/archives/gtkglext-list/2004-April/msg00012.html I really like the idea of using something like Cairo if it is picking up steam (see my previous post in "Elementary Graphics Library"). And 3D support sounds good too (rather than the TK developers leaving behind TK's togl :-( ). As I reflect on it, I am also willing to trade-off 90% of popularity for PataPata right now in terms of easy install for Mac/Windows *if* it would make my life under Debian easier to get something neat working that I and a few others want to use, and has the promise of picking up easy install in a couple of years (like if Python3K went with pyGTK as a default). Plus I already have wx and tk versions, so it's not like people could not try the basic idea on those platforms. The issue is more a matter of where I shoudl be putting more energy, since if I could use GTK and Cairo and PyGtkGLExt for cross-platform widgets, 2D graphics, and 3D graphics, then long-term it makes it easier for me to maintain a system using common cross-platform standards, especially because I don't have to put in much of an extra dumbed down "compatibility" layer. For example, I can just pass GTK events around rather than translate them to my own; I can use Cairo calls rather than my own simplified 2D context; I can assume everyone is using the same way to access 3D graphics rather than try to abstract initialization out; and so on. Now, this compatibility issue is a bit more complex, because I would like to run PataPata things as applets on Jython, but I'm not sure that is important enough at the start to prevent using an otherwise promising cross-platform solution CPython works with, given that I'm not sure how important Applets really are, and in the future there might be more person-power to make some GUI object wrappers that runs both on GTK and Swing. Obviously, I could search the PyGTK and gtkglext list archives: http://www.daa.com.au/mailman/listinfo/pygtk http://mail.gnome.org/mailman/listinfo/gtkglext-list/ but I was curious what people here had to say from an educator context. There are also other cool software projects like PythonCAD that use PyGTK: http://www.pythoncad.org/ It woudl be more work to switch yet again, but I find just about anything can be made right if you are willing to start over a couple of times. :-) Or, in short, having done the sensible thing of deciding to "Run away!" to TK when faced with all the choices in the "Elementary graphics library" thread, I'm wondering now whether the "Holy Hand Grenade" sacred relic Brother GTK Maynard from Cairo carries: http://en.wikipedia.org/wiki/Holy_Hand_Grenade_of_Antioch could get the PataPata entourage safely past the killer rabbit of cross-platform issues. :-) I'm certainly not the only one asking that question right around now: http://www.myddrin.com/trashdeerwood/index.cgi/Development/67 http://wiki.osafoundation.org/bin/view/Jungle/TechnologyChoices I've looked in the edusig list's archive and pyGTK is mentioned in about 30 posts over about six thread. Dave Reed on 12/26/2004 05:30 PM was very encouraging of is a year and a half ago. http://mail.python.org/pipermail/edu-sig/2004-December/004302.html He wrote: "I've used it on Linux/Solaris, Windows XP and Mac OS X and it works fine on all of them. If I was coding for Windows only, I'd probably pick a different widget set, but since I have little interest in programming for Windows right now, I think glade/gtk is a great combination." So it seems like by now it should be a fairly safe choice? So, my question to educators or parents here using Mac and Windows is, are you willing to go to the trouble (or have you already?) to make sure PyGTK and a >= 2.8 GTK are running on your system at school or at home *if* there was an application you really wanted to use? Would using PyGTK & PyCairo & pygtkglext be more a show stopper or an incentive? I'm not saying you would do it right now, just more, would you or could you do it if you really wanted to? If so, or if there is at least a sense that it is possible, I think I will be very tempted to (once again) make another version of PataPata (PySqueak) that is GTK oriented. I've never tried to use PyGTK on the Mac or Windows, so any feedback on it's current use in an educational context of for packages you use for other things would be appreciated (i.e. do you already use packages that depend on PyGTK?) --Paul Fernhout (*) The TK version still has a bug retrieving text from a multi-line TK text box. And everything is sloppily floating around. And no save/load world buttons yet. _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
