ANN: wxWize - a wxPython UI builder library

Hi all, I'd like to introduce wxWize: a helper library for creating
sizer-based wxPython designs in fewer lines of code, with improved
readability, and without sacrifising any of the expressive power of
programmatic GUI building.

It's a shallow wrapper, intended to be easily picked up by anyone
who's written wxPython applications before. Things are called the same
as in wxPython/wxWidgets where possible.

Once windows and sizers etc. are created, wxWize steps out of the way,
and the wxPython objects are all yours. You use them exactly the same as
you've always done, using familiar methods like Bind, SetValue,
GetValue, SetBackgroundColour etc.

Source & docs on github: https://github.com/AndersMunch/wxWize

There's no setup.py or pypi upload at this point, but the install is
just a single file in site-packages - wize.py - so it should be easy
enough to try out. You can even just download the ZIP and run the
demos straight from the unpack location.

I hope you'll like it as much as I do. I've been using it in-house for
some months, and it's made my GUI code shorter, clearer and easier to
write.

For a better idea of what it's about, compare this username/password
entry dialogue written in classical style:

https://github.com/AndersMunch/wxWize/blob/master/demo/plain_logon.py

to the same thing written with wxWize:

https://github.com/AndersMunch/wxWize/blob/master/demo/demo_logon.py

wxWize works with both Python 2 and Python 3, classic and Phoenix.

enjoy,
Anders

Great work Anders, thank you for sharing.

The increased readability is what sells it IMO, writing it the classic way was never a big problem.

Best wishes,

Toni

···

On Thursday, March 3, 2016 at 9:33:36 PM UTC+1, Anders J. Munch wrote:

Hi all, I’d like to introduce wxWize: a helper library for creating

sizer-based wxPython designs in fewer lines of code, with improved

readability, and without sacrifising any of the expressive power of

programmatic GUI building.

It’s a shallow wrapper, intended to be easily picked up by anyone

who’s written wxPython applications before. Things are called the same

as in wxPython/wxWidgets where possible.

Once windows and sizers etc. are created, wxWize steps out of the way,

and the wxPython objects are all yours. You use them exactly the same as

you’ve always done, using familiar methods like Bind, SetValue,

GetValue, SetBackgroundColour etc.

Source & docs on github: https://github.com/AndersMunch/wxWize

There’s no setup.py or pypi upload at this point, but the install is

just a single file in site-packages - wize.py - so it should be easy

enough to try out. You can even just download the ZIP and run the

demos straight from the unpack location.

I hope you’ll like it as much as I do. I’ve been using it in-house for

some months, and it’s made my GUI code shorter, clearer and easier to

write.

For a better idea of what it’s about, compare this username/password

entry dialogue written in classical style:

https://github.com/AndersMunch/wxWize/blob/master/demo/plain_logon.py

to the same thing written with wxWize:

https://github.com/AndersMunch/wxWize/blob/master/demo/demo_logon.py

wxWize works with both Python 2 and Python 3, classic and Phoenix.

enjoy,

Anders