Difference between revisions of "UniCurses for Python"

From RogueBasin
Jump to navigation Jump to search
 
Line 2: Line 2:
|developer = Agetian
|developer = Agetian
|released = Jul 07 2010
|released = Jul 07 2010
|updated = Jul 14 2010 (1.0)
|updated = Aug 01 2010 (1.1)
|dependencies = [[PDCurses (on MS Windows)]]
|dependencies = [[PDCurses (on MS Windows)]]
|status = Stable
|status = Stable

Latest revision as of 16:32, 1 August 2010

UniCurses for Python
Library project
Developer Agetian
Released Jul 07 2010
Updated Aug 01 2010 (1.1)
Status Stable
Licensing GPL v3 License
P. Language Python
Platforms Windows, Mac OS X, Linux
Dependencies PDCurses (on MS Windows)
Official site of UniCurses for Python


UniCurses is a unified Curses wrapper for Python 2.x/3.x that provides consistent Curses functionality on all operating systems including Microsoft Windows (by wrapping PDCurses), Linux and Mac OS X (by wrapping the original "curses" module).

The project was started with the following goals in mind:

  • Bring the power of Curses to Python programmers on Microsoft Windows (the original "curses" module only works on Linux and Mac OS X).
  • Make the function names and syntax on all platforms similar to the original NCurses to make porting of code easier while keeping the library simple to use.

UniCurses detects the platform it is running on and chooses whether to wrap the native "curses" module (on Linux or Mac OS X) or the PDCurses library (on Windows). No matter which path is chosen, UniCurses provides a unified set of functions that work across all platforms and that may be used to write Curses applications in Python that run seamlessly in Microsoft Windows, Linux, and Mac OS X without the practical necessity to modify or rewrite the code in case it is otherwise cross-platform and does not use any OS-specific functionality.

UniCurses requires Python v2.6.1 or higher. Since it does not contain any features that are specific to either Python 2 or Python 3, it is compatible with all Python releases since v2.6.1 and up to v3.1.2.