How come wxPython isn't in the standard library?

Roger Binns rogerb at rogerbinns.com
Sun Nov 7 19:55:49 EST 2004


BJörn Lindqvist wrote:
>> Anything that is in stdlib is somewhat constrained to the same
>> release schedule as the core Python.  For example it would have been
>> bad to do the wxPython 2.4 to 2.5 transition during the 2.3 Python
>> series.
>
> I don't understand this argument really and would be happy if someone
> would explain further. Why can't those people who compile the stdlib
> just take whatever the lastest version of wxPython is, and include
> that?

wxPython has chances and enhancements in the API over time.  For example
moving from wxPython 2.4 to 2.5 changed the preferred package naming
scheme, added several new methods for when you want to use point/size
objects, provided a new mechanism for binding to events, several other
enhancements, a whole bunch of deprecations etc.

It is actually quite rare for code using wxPython to support both
version 2.4 and 2.5.

Now if Python 2.3.1 shipped with wxPython 2.4 and Python 2.3.4 shipped
with wxPython 2.5, many people would get upset since their code would
brea/be deprecated in various ways.  The right thing to do would be
for Python 2.3.x to stick with the same version of wxPython.  However
we would come full circle since many projects now only work with wxPython
2.5 (the improvements were well worth it).


>> The other thing I failed to mention is that the wxPython API isn't
>> very Pythonic.
>
>> I haven't used WxPython for a little while, but not long ago (less
>> than a year) it was dreadfully easy to crash a program if even a
>> little mistake happened.
>
> Ok. Those are big problems.

The latter point is extremely rare these days.

> spot in the stdlib yet. However, getting your Python module into the
> standard library must be like winning the Nobel Prize for Python
> module programmers.

Not quite.  It is an indication that your module is of value to many and
that you have a reasonably good implementation.  You also need to
have your rate of change approximately the same as Python.

> written into the stdlib, I would definitely sync my release schedule
> and make my module as pythonic as possible. :) Maybe in the future it
> can be included?

The API being Pythonic has been one of the big debates in the wxPython
community.  wxPython is a wrapper around the C++ wxWidgets library.  The
C++ API is "normal" for the library and is what is documented.  wxPython
is a Python version of that API.  Some people (like me :-) are happy with
that.  It is a normal GUI API and I have no issue reading and using the
docs.  Other people want something that is like all the other Python APIs
they are used to, and Python specific documentation.  The latter is also a
*lot* more work, and although some people have attempted it, there doesn't
seem to be any that have followed through for a long period of time.

Roger





More information about the Python-list mailing list