PyGUI as a standard GUI API for Python?
Diez B. Roggisch
deets at nospam.web.de
Wed Sep 3 18:57:38 CEST 2008
Michael Palmer schrieb:
> As anyone knows, the state of Python GUI programming is a little
> fractured at this time, with many toolkits, wrappers and meta-wrappers
> dead and alive, with or without documentation.
> I've come across two projects that have the appeal of striving for
> simple, pythonic APIs: PyGUI and wax. The latter is a wrapper around
> wxPython. It is lacking documentation but actually quite usable and
> concise. The other, PyGUI, has an even nicer API and more docs but has
> relatively few widgets implemented at this time. It also strives for
> compatibility with several toolkits (two at this time), which I think
> is the right idea.
I disagree with that. Meta-wrappers like this will always suffer from
problems, as they have difficulties providing a consistent api. For
example wx is said to be very windows-toolkit-centric in it's API. Yes I
know that it works under Linux with GTK, but it does not come as natural .
> So far, development of PyGUI seems to be a one-man effort, and it may
> be slowed down by the attempt to develop the API and the
> implementations concurrently. Could it be useful to uncouple the two,
> such that the API would be specified ahead of the implementation? This
> might make it easier for people to contribute implementation code and
> maybe port the API to additional toolkits. It seems that this approach
> has been quite successful in case of the Python database API. That API
> defines levels of compliance, which might be a way of accommodating
> different GUI toolkits as well.
> I may be underestimating the difficulties of my proposed approach - I
> don't have much practical experience with GUI programming myself.
I think you do. The reason for the various toolkits is not because of
python - it's the proliferation of toolkits that exist out there. As
long as none of these is "the winner" (and it doesn't look is if that's
to happen soon), I doubt that one API to rule them all will exist - they
all have their different strengths and weaknesses, and a python-API
should reflect these.
More information about the Python-list