A Little Bit of Widgetry for PyGame

This is a widget set for creating a GUI using PyGame. It has been developed over the course of several PyWeek game competition entries. I am documenting and releasing it as a separate package so that others may benefit from it, and so that it will be permissible for use in future PyGame entries.

Features include:
Albow is designed around a model-view architecture that makes it easy to keep your GUI in sync with the state of your data. Most Albow widgets are highly customizable, so you can easily create your own versions with special appearance or behaviour. A theme system provides a central place to customize colours and fonts on an application-wide basis, so you can easily give your game's GUI a unique look.


Also available here is Humerus, a framework for creating games that consist of a sequence of levels, with support for an optional built-in level editor.


Python 2 (302,128 bytes, last updated 21 April 2013) (232,592 bytes, last updated 2 October 2009)

Python 3


You can browse the Albow and Humerus documentation online here.

Change Log



A screen from Assembly Line. The labels along the top are the tabs of a TabPanel. The "Products in Stock" are displayed using a TableView, with two Buttons at the bottom. The Post-It-note-style tabs are also created using a customized TabPanel. Click for full-size image.

Modal dialogs using Labels, Buttons, IntFields and a CheckBox. The controls are laid out using Row and Grid widgets.

A tool palette created using a PaletteView.

Dialog for requesting a new file name.

Another dialog box, incorporating some custom controls.

Old Releases

Albow (51,037 bytes, last updated 25 September 2007)