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.