Welcome to Gumby!

Gumby is (will be???) a Visual Environment for building Python GUI programs either with PyQt, PyGtk and wxPython / wxWidgets (formely wxWindows). The plan is to have a good IDE tightly integrated with a GUI designer. It's name is borrowed from Monty Python's character, Mr. Gumby. The idea is to extend the existing Python IDEs into a complete Python RAD with visual capabilities rivaling (in ease of use and rapid development) Visual Basic and Delphi / Kylix.

The project is not intended to be "Yet Another RAD" or "Yet Another IDE", but rather an effort into making GUI Python programs and interfaces easier to code. We can, in the end, decide to write plugins and bindings to the existing IDE/RADs:

or else, forking one of those to build a new RAD/IDE environment - we are still in very early stages of "deciding what to do".

And now for something completely different... one of the tools we plan to build (or use if we can find one) is a "wrapper toolkit" so that you just link your Python apps to that wrapper toolkit and it will use - depending on the system variables set - the apropriate "real" toolkit (GTK+, Qt, even Microsoft Foundation Classes if we could). UPDATE (Jan.2005): We've found it! Anna (she didn't tell me her whole name) told us by email about Anygui (anygui.sourceforge.net), which is rather unmaintained since 2002 but does what we want! We should not forget about PyGUI, the official Python effort on that direction. PyGUI is being actively developed. If we could help PyGUI and Anygui to merge, things would be rather easy for Python developers to write cross-platform GUI apps that behave like good boys and girls (:wink:).

This "wrapper toolkit" will be mainly devoted to sit between the Python program and the Python bindigs (PyQt, PyGtk etc...) and do the necessary prebindings (or binding-routes, as if we were in a patch bay). We are watching wxWidgets, GITK and Mozilla's XUL for this purpose - XIML and GNU Renaissance also are on the range. If one of those end up doing what we want here, we'll certainly "embrace and extend" (sorry, couldn't resist...)

There are other sourceforge projects (some dead, some not) that dealt with the subject. We can use, take over or absorb them as part of the solution. A small list: Guiclient, Guido, Gui, PLUG and Gulp.

"Hey, but why not stick with the popular and well-polished wxWidgets that does exactly what you want?", you may ask. Simple: because it does not! We want a runtime widget chooser to decide what "real" widget/look'n'feel to use. wxWidgets is a compile-time universal toolkit, you have to chose the desired look'n'feel prior to compiling. This would *NOT* be a big issue if the problem is building cross-platform apps between Mac/Linux/Windows. But this is a problem indeed if we want the same app to behave like a KDE app when in KDE and like a Gnome app when in Gnome. May be just a visual nuisance for hackers and Linux-savvy users, but for newbies this is confusing and a pain in the butt. We *really* love wxWidgets but we'll have to hack wxGTK to make it "wxLinux" with a runtime Gtk/Qt chooser. That is a lot of work, implies dealing with the Qt/wxWidgets licencing problem and the guys at the wxWidgets project may not agree with this approach.

On our watchlist, only GITK is a "runtime GUI generator". That's exaclty what we want, but is not as popular (and AFAWK not as portable) as wxWidgets and does not have a Qt renderer.

If things go too weird we will build our own toolkit from scratch or fork one of those.
Suggestions are welcome.

So, in short what we intend is:

  • Build a Visual RAD for Python *OR* extend existing RADs to build GUI Python apps;
  • Include pseudo-compiling capabilities to produce standalone "locker" executables for those closed-source blue meanies ;-) without recompiling/rebuilding/having separate compiles. The same executable does it all (exept in Windows for obvious reasons);
  • Build a "wrapper toolkit" to make Python GUI apps look and behave like a Gnome app when in Gnome (also to make Gtk1 apps behave like Gtk2), like a KDE app when in KDE, like a WM app when in Window Maker, like a Windows app when in MS Windows etc etc etc etc without adapting the sources. The same app does it all.

This page made with the GINF Web Editor.
Images from Pythonet, inspiration from The Monty Python troupe.