Skip to main content

A curses-based UI/widget library featuring fluid interface resizing, multiple text layout options, simple markup for attributes, powerful scrolling list boxes and flexible edit boxes.

Project description

Urwid is a curses-based UI/widget library. It includes many features useful for console application developers, including:

  • Fluid interface resizing (xterm window resizing / fbset on Linux console)

  • 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 almost any type of text

  • Plain HTML screen shots

Example Programs:

tour.py

A list box showing the built-in widget types and modes.

fib.py

A Fibonacci set viewer that demonstrates a list box with infinite data.

edit.py

A text editor that starts-up instantly by lazily reading files. It is suitable for editing text files with lines longer than the terminal width.

browse.py

A directory browser that displays directories in a single tree structure. It reads directories as required and lets you select multiple files.

calc.py

A calculator program that shows its work. It splits sub-expressions into separate columns for easy editing.

Project details


Release history Release notifications | RSS feed

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page