Urwid is a curses-based user interface library. It includes many
features useful for text console application developers including,
fluid interface resizing (xterm window resizing / fbset on Linux
console), support for 8-bit and CJK encodings, multiple text alignment
and wrapping modes built-in, ability to register user-defined text
alignment and wrapping modes, simple markup for setting text
attributes, powerful list box that handles scrolling between different
widget types, list box contents may be managed with a user-defined
class, flexible edit box for editing many different types of text, and
easy interface for creating HTML screen shots.