ANN: Urwid 0.9.9 - Console UI Library

Ian Ward ian at
Tue Nov 17 20:24:43 CET 2009

Announcing Urwid 0.9.9

Urwid home page:

Updated screen shots:



About this release:

This release includes many new features developed since the last major
release.  Urwid now supports 256 and 88 color terminals.  A new MainLoop
class has been introduced to tie together widgets, user input, screen
display and an event loop.  Twisted and GLib-based event loops are now
supported directly.  A new AttrMap class now allows mapping any
attribute to any other attribute.  Most of the code base has been
cleaned up and now has better documentation and testing.  Lots of other
improvements are listed below.

New in this release:

  * New support for 256 and 88 color terminals with raw_display
    and html_fragment display modules

  * New palette_test example program to demonstrate high color

  * New AttrSpec class for specifying specific colors instead of
    using attributes defined in the screen's palette

  * New MainLoop class ties together widgets, user input, screen
    display and one of a number of new event loops, removing the
    need for tedious, error-prone boilerplate code

  * New GLibEventLoop allows running Urwid applications with GLib
    (makes D-Bus integration easier)

  * New TwistedEventLoop allows running Urwid with a Twisted reactor

  * Added new docstrings and doctests to many widget classes

  * New AttrMap widget supports mapping any attribute to any other
    attribute, replaces AttrWrap widget

  * New WidgetDecoration base class for AttrMap, BoxAdapter, Padding,
    Filler and LineBox widgets creates a common method for accessing
    and updating their contained widgets

  * New left and right values may be specified in Padding widgets

  * New command_map for specifying which keys cause actions such as
    clicking Button widgets and scrolling ListBox widgets

  * New tty_signal_keys() method of raw_display.Screen and
    curses_display.Screen allows changing or disabling the keys used
    to send signals to the application

  * Added helpful __repr__ for many widget classes

  * Updated all example programs to use MainLoop class

  * Updated tutorial with MainLoop usage and improved examples

  * Renamed WidgetWrap.w to _w, indicating its intended use as a way
    to implement a widget with other widgets, not necessarily as
    a container for other widgets

  * Replaced all tabs with 4 spaces, code is now more aerodynamic
    (and PEP 8 compliant)

  * Added saving of stdin and stdout in raw_display module allowing
    the originals to be redirected

  * Updated BigText widget's HalfBlock5x4Font

  * Fixed graph example CPU usage when animation is stopped

  * Fixed a memory leak related to objects listening for signals

  * Fixed a Popen3 deprecation warning

About Urwid

Urwid is a console UI library for Python. It features fluid interface
resizing, UTF-8 support, multiple text layouts, simple attribute markup,
powerful scrolling list boxes and flexible interface design.

Urwid is released under the GNU LGPL.

More information about the Python-announce-list mailing list