# 6.13 `curses` -- Terminal handling for character-cell displays

Changed in version 1.6: Added support for the `ncurses` library and converted to a package.

The `curses` module provides an interface to the curses library, the de-facto standard for portable advanced terminal handling.

While curses is most widely used in the Unix environment, versions are available for DOS, OS/2, and possibly other systems as well. This extension module is designed to match the API of ncurses, an open-source curses library hosted on Linux and the BSD variants of Unix.

See Also:

Module `curses.ascii`:
  Utilities for working with ASCII characters, regardless of your locale settings.

Module `curses.panel`:
  A panel stack extension that adds depth to curses windows.

Module `curses.textpad`:
  Editable text widget for curses supporting Emacs-like bindings.

Module `curses.wrapper`:
  Convenience function to ensure proper terminal setup and resetting on application entry and exit.

Curses Programming with Python
  Tutorial material on using curses with Python, by Andrew Kuchling and Eric Raymond, is available on the Python Web site.

The Demo/curses/ directory in the Python source distribution contains some example programs using the curses bindings provided by this module.

Subsections

- 6.13.1 Functions
- 6.13.2 Window Objects
- 6.13.3 Constants